Định nghĩa
Kiểm thử tự động (automated testing) là
sử dụng công cụ để thực hiện tự động
một phần hoặc toàn bộ quy trình kiểm thử
và kiểm tra kết quả mà không cần sự can
thiệp của con người
Lợi ích
Tiết kiệm thời gian và công sức
Giảm sự nhàm chán và sai xót
Nâng cao mức độ phủ của test suits
Có thể sự dụng lại các bộ test case
Tuy nhiên lợi ích của việc tự động hóa
chỉ đạt được cao nhất khi nỗ lực cho việc
tự động hóa không q
61 trang |
Chia sẻ: thanhle95 | Lượt xem: 526 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Công cụ kiểm thử phần mềm - Bài 8: Kiểm thử tự động - Trương Phước Lộc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài 8 – Kiểm thử tự động
Công cụ kiểm thử phần mềm
Bộ môn Công nghệ phần mềm
Nội dung
£ Kiểm thử tự động
£ Tổng quan Selenium
£ Selenium IDE
£ Selenium WebDriver
2/4/15 Công cụ kiểm thử phần mềm 2
Đặt vấn đề
£ Bạn là một tester giỏi, bạn thiết kế các
testcase tốt và thực hiện cẩn thận chúng
nhưng còn thời gian và tiền bạc thì sao?
2/4/15 Công cụ kiểm thử phần mềm 3
I
have
to
do
this
test
again.
Again
Again
and
again
How
about
my
girlfriend?
Định nghĩa
£ Kiểm thử tự động (automated testing) là
sử dụng công cụ để thực hiện tự động
một phần hoặc toàn bộ quy trình kiểm thử
và kiểm tra kết quả mà không cần sự can
thiệp của con người
2/4/15 Công cụ kiểm thử phần mềm 4
Lợi ích
£ Tiết kiệm thời gian và công sức
£ Giảm sự nhàm chán và sai xót
£ Nâng cao mức độ phủ của test suits
£ Có thể sự dụng lại các bộ test case
è Tuy nhiên lợi ích của việc tự động hóa
chỉ đạt được cao nhất khi nỗ lực cho việc
tự động hóa không quá lớn
2/4/15 Công cụ kiểm thử phần mềm 5
Ứng dụng
£ Kiểm thử tự động thích hợp
p Kiểm thử hồi qui (Regression testing)
p Kiểm thử hướng dữ liệu (Data driven testing)
p Kiểm thử bản địa hóa (Localization testing)
¡ Kiểm thử trên nhiều nền tảng
¡ Kiểm thử trên nhiều ngôn ngữ
p Kiểm thử khả năng chịu tải (Load testing)
2/4/15 Công cụ kiểm thử phần mềm 6
Khó khăn
£ Test scripts là mã nguồn
£ Xác nhận (validation) 1 testcase là Pass
hay Fail
£ Một số tình huống cần sự can thiệp của
con người (ví dụ như captcha)
2/4/15 Công cụ kiểm thử phần mềm 7
Các thành phần
£ Test script
p Dùng công cụ record and replay
p Tự viết script
£ Test data
p CSDL
p Xml, Cfv
£ Test validation
2/4/15 Công cụ kiểm thử phần mềm 8
Một số công cụ kiểm thử tự động
£ Functional test
p QTP, Selenium, Windmill,
£ Non-functional test
p Load runner, CloudTest, Load Storm,
2/4/15 Công cụ kiểm thử phần mềm 9
Nội dung
£ Kiểm thử tự động
£ Tổng quan Selenium
£ Selenium IDE
£ Selenium WebDriver
2/4/15 Công cụ kiểm thử phần mềm 10
Tổng quan Selenium
£ Selenium là công cụ
p Mã nguồn mở
p Kiểm thử tự động
p Ứng dụng website
2/4/15 Công cụ kiểm thử phần mềm 11
Tổng quan Selenium
£ Selenium có 4 thành phần
p Selenium IDE
p Selenium RC
p Selenium WebDriver
p Selenium Grid
2/4/15 Công cụ kiểm thử phần mềm 12
Nội dung
£ Kiểm thử tự động
£ Tổng quan Selenium
£ Selenium IDE
£ Selenium WebDriver
2/4/15 Công cụ kiểm thử phần mềm 13
Selenium IDE
£ Plugin của Firefox
£ Chức năng Record và Playback
2/4/15 Công cụ kiểm thử phần mềm 14
Selenium IDE
£ Cài đặt
2/4/15 Công cụ kiểm thử phần mềm 15
Selenium IDE
£ Chạy plugin
2/4/15 Công cụ kiểm thử phần mềm 16
Selenium IDE
£ Giao diện chính
2/4/15 Công cụ kiểm thử phần mềm 17
2/4/15 Công cụ kiểm thử phần mềm 18
Selenium IDE
£ Menu
2/4/15 Công cụ kiểm thử phần mềm 19
Selenium IDE
£ Cấu hình
2/4/15 Công cụ kiểm thử phần mềm 20
Selenium IDE
£ Thứ tự ưu tiên Locator
2/4/15 Công cụ kiểm thử phần mềm 21
Selenium IDE
£ Thanh công cụ
2/4/15 Công cụ kiểm thử phần mềm 22
Tốc
độ
chạy
lại
Ghi
/
dừng
ghi
Chạy
toàn
bộ
Test
suite
Chạy
Test
case
hiện
tại
Tạm
dừng
/
chạy
=ếp
Chạy
từng
bước
Nhóm
các
bước
lại
Selenium IDE
£ Ví dụ Record and Playback
p Bước 1:
¡ Chạy Selenium IDE
¡ Nhập Base Url:
p Bước 2:
¡ Trong Firefox nhập Url
2/4/15 Công cụ kiểm thử phần mềm 23
Selenium IDE
£ Ví dụ Record and Playback
p Bước 3:
¡ Phải chuột trên khoảng trống trong trang
¡ Chọn “Show Available Commands”
¡ Chọn “assertTitle exact:Welcome: Mercury Tours”
2/4/15 Công cụ kiểm thử phần mềm 24
Selenium IDE
£ Ví dụ Record and Playback
p Bước 4:
¡ Nhập “User name”: invalidUN
¡ Nhập “Password”: invalidUN
p Bước 5:
¡ Bấm vào button “Sign-in”
2/4/15 Công cụ kiểm thử phần mềm 25
Selenium IDE
£ Ví dụ Record and Playback
p Bước 6:
¡ Phải chuột trên khoảng trống trong trang
¡ Chọn “Show Available Commands”
¡ Chọn “assertTitle exact:Sign-on: Mercury Tours”
p Bước 7:
¡ Bấm nút dừng quay
p Bước 8:
¡ Bấm nút chạy lại test
2/4/15 Công cụ kiểm thử phần mềm 26
Selenium IDE
£ 3 loại command
p Action
¡ Thao tác trực tiếp thành phần của trang web
¡ Ví dụ: click, type
p Accessors
¡ Cho phép lưu các giá trị vào các biến
p Assertions
¡ Kiểm tra một điều kiện được thỏa
¡ 3 loại
§ Assert: khi bị fail sẽ dừng test
§ Verify: khi bi fail sẽ ghi nhận và chạy tiếp
§ Waitfor: nếu điều kiện đúng trong thời gian chờ thì pass
2/4/15 Công cụ kiểm thử phần mềm 27
Selenium IDE
£ Các command thông dụng
2/4/15 Công cụ kiểm thử phần mềm 28
Command
SL
tham
số
Giải
thích
open
0
–
2
Mở
1
trang
theo
url
click/clickAndWait
1
Click
vào
1
thành
phần
type/typeKeys
2
Nhập
1
chuỗi
ký
tự
verifyTitle/assertTitle
1
Kiểm
tra
=êu
đề
verifyTextPresent
1
Kiểm
tra
có
1
đoạn
text
verifyElementPresent
1
Kiểm
tra
có
1
thành
phần
verifyTable
2
Kiểm
tra
1
table
waitForPageToLoad
1
Chờ
cho
đến
khi
trang
được
tải
xong
waitForElementPresent
1
Chờ
cho
đến
khi
1
thành
phần
xuất
hiện
Selenium IDE
£ Các loại Locator
p ID
p Name
p Link Text
p CSS Selector
¡ Tag and ID
¡ Tag and class
¡ Tag and attribute
¡ Tag, class, and attribute
¡ Inner text
p DOM (Document
Object Model)
¡ getElementById
¡ getElementsByName
¡ dom:name
¡ dom:index
p XPath
2/4/15
Công
cụ
kiểm
thử
phần
mềm
29
Selenium IDE
£ Xác định bằng ID
p Target: id=id of the element
2/4/15 Công cụ kiểm thử phần mềm 30
Selenium IDE
£ Xác định bằng Name
p Target: name=name of the element
2/4/15 Công cụ kiểm thử phần mềm 31
Selenium IDE
£ Xác định bằng Name có filter
p Target: name=name_of_the_element
filter=value_of_filter
2/4/15 Công cụ kiểm thử phần mềm 32
Selenium IDE
£ Xác định bằng Link Text
p Target: link=link_text
2/4/15 Công cụ kiểm thử phần mềm 33
Selenium IDE
£ Xác định bằng CSS – Tag và ID
p Target: css=tag#id
2/4/15 Công cụ kiểm thử phần mềm 34
Selenium IDE
£ Xác định bằng CSS – Tag và Class
p Target: tag.class
2/4/15 Công cụ kiểm thử phần mềm 35
Selenium IDE
£ Xác định bằng CSS – Inner Text
p Target: css=tag:contains(“inner text”)
2/4/15 Công cụ kiểm thử phần mềm 36
Selenium IDE
£ Tóm tắt các Locator
2/4/15 Công cụ kiểm thử phần mềm 37
Method
Target
Syntax
Example
By
ID
id=
id_of_the_element
id=email
By
Name
name=name_of_the_element
name=username
By
Name
Using
Filters
name=name_of_the_element
filte
r=value_of_filter
name=tripType
value=oneway
By
Link
Text
link=link_text
link=REGISTER
Tag
and
ID
css=tag#id
css=input#email
Tag
and
Class
css=tag.class
css=input.inputext
Tag
and
Atribute
css=tag[a7ribute=value]
css=input[name=lastName]
Tag,
Class,
and
Atribute
css=tag.class[a7ribute=value]
css=input.inputext[tabindex=1]
Selenium IDE
£ verifyElementPresent
p True nếu thành phần có tồn tại
p False nếu thành phần không tồn tại
£ verifyElementNotPresent
p True nếu thành phần không tồn tại
p False nếu thành phần tồn tại
2/4/15 Công cụ kiểm thử phần mềm 38
Selenium IDE
£ verifyTextPresent
p True nếu đoạn text có trong trang web
p False nếu đoạn text không có trong trang
web
£ verifyTextNotPresent
p True nếu đoạn text không có trong trang web
p False nếu đoạn text có trong trang web
2/4/15 Công cụ kiểm thử phần mềm 39
Selenium IDE
£ verifyElementPositionLeft
p Kiểm tra vị trí trái của 1 thành phần
£ verifyElementPositionTop
p Kiểm tra vị trí trên của 1 thành phần
2/4/15 Công cụ kiểm thử phần mềm 40
Selenium IDE
£ andWait commands
p Ví dụ
¡ clickAndWait
¡ typeAndWait
¡ selectAndWait
p Chờ cho đến khi trang
tải xong mới thực hiện
bước tiếp theo
2/4/15 Công cụ kiểm thử phần mềm 41
Selenium IDE
£ waitFor commands
p Ví dụ
¡ waitForTitle
¡ waitForTextPresent
¡ waitForAlert
p Chờ cho đến khi điều kiện được thực thi mới
qua bước tiếp theo
2/4/15 Công cụ kiểm thử phần mềm 42
Selenium IDE
2/4/15 Công cụ kiểm thử phần mềm 43
Selenium IDE
£ Lưu giá trị vào biến
2/4/15 Công cụ kiểm thử phần mềm 44
Selenium IDE
£ Alerts và Pop-up
2/4/15 Công cụ kiểm thử phần mềm 45
assertAlert
assertNotAlert
Kiểm
tra
chuỗi
trong
alert
assertAlertPresent
assertAlertNotPresent
Kiểm
tra
có
alert
hay
không
storeAlert
Lưu
chuỗi
trong
alert
storeAlertPresent
Trả
về
True
khi
có
alert
và
False
khi
không
có
alert
verifyAlert
verifyNotAlert
Kiểm
tra
chuỗi
trong
alert
verifyAlertPresent
verifyAlertNotPresent
Kiểm
tra
có
alert
hay
không
Nội dung
£ Kiểm thử tự động
£ Tổng quan Selenium
£ Selenium IDE
£ Selenium WebDriver
2/4/15 Công cụ kiểm thử phần mềm 46
Selenium WebDriver
£ Sử dụng ngôn ngữ lập trình để tạo các script
p Sử dụng điều kiện rẽ nhánh
p Sử dụng vòng lặp
£ Các ngôn ngữ hỗ trợ
p Java
p .Net
p PHP
p Python
p Perl
p Ruby
2/4/15 Công cụ kiểm thử phần mềm 47
Selenium WebDriver
£ Các trình duyệt hỗ trợ
2/4/15 Công cụ kiểm thử phần mềm 48
Selenium WebDriver
£ Các trình duyệt hỗ trợ
2/4/15 Công cụ kiểm thử phần mềm 49
Trình
duyệt
Tên
Driver
Server
Chi
chú
HTMLUnit
(none)
Không
cần
driver
Firefox
(none)
Không
cần
driver
Internet
Explorer
Internet
Explorer
Driver
Server
Có
2
phiên
bản
32
and
64-‐bit
Chrome
ChromeDriver
Opera
OperaDriver
PhantomJS
GhostDriver
Safari
SafariDriver
Selenium WebDriver
£ WebDriver vs RC
2/4/15 Công cụ kiểm thử phần mềm 50
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Bước 1: download Selenium C# Client Driver
p Bước 2: cài đặt NUnit
2/4/15 Công cụ kiểm thử phần mềm 51
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Bước 3: dùng Selenium ghi lại các bước test
p Bước 4: Export Test Case As à C# / NUnit /
WebDriver
2/4/15 Công cụ kiểm thử phần mềm 52
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Bước 5: tạo dự án
¡ Tạo dự án Class Library, ngôn ngữ C#
¡ Sao chép mã nguồn đã export vào dự án
¡ Thêm các Reference
2/4/15 Công cụ kiểm thử phần mềm 53
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Lập trình test case
2/4/15 Công cụ kiểm thử phần mềm 54
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Chạy trên trình duyệt Firefox
2/4/15 Công cụ kiểm thử phần mềm 55
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Chạy trên trình duyệt Chrome
2/4/15 Công cụ kiểm thử phần mềm 56
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Chạy nhiều testcases trên cùng 1 script
2/4/15 Công cụ kiểm thử phần mềm 57
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Chạy nhiều testcases trên cùng 1 script
2/4/15 Công cụ kiểm thử phần mềm 58
Selenium WebDriver
£ Ví dụ WebDriver với C#
p Chạy nhiều testcases từ database
2/4/15
Công cụ kiểm thử phần mềm
59
Selenium WebDriver
£ Download các browser
p Chrome diver: chromedriver_win_26.0.1383.0.zip
https://code.google.com/p/chromedriver/downloads/
list
p IE driver: IEDriverServer_Win32_2.32.3.zip
https://code.google.com/p/selenium/downloads/list
p Opera driver
https://code.google.com/p/selenium/wiki/
OperaDriver
p Safari driver
https://code.google.com/p/selenium/wiki/SafariDriver
2/4/15 Công cụ kiểm thử phần mềm 60
Thảo luận
2/4/15 61 Công cụ kiểm thử phần mềm