Bài giảng Công cụ kiểm thử phần mềm - Bài 8: Kiểm thử tự động
Đặ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?
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 quá lớn
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung 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
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 2/4/15 Công cụ kiểm thử phần mềm Đặ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? Again Again and again I have to do this test again. How about my girlfriend? 3 2/4/15 Công cụ kiểm thử phần mềm Đị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 4 2/4/15 Công cụ kiểm thử phần mềm 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 5 2/4/15 Công cụ kiểm thử phần mềm Ứ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) 6 2/4/15 Công cụ kiểm thử phần mềm 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) 7 2/4/15 Công cụ kiểm thử phần mềm 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 8 2/4/15 Công cụ kiểm thử phần mềm 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, 9 2/4/15 Công cụ kiểm thử phần mềm Nội dung £ Kiểm thử tự động £ Tổng quan Selenium £ Selenium IDE £ Selenium WebDriver 10 2/4/15 Công cụ kiểm thử phần mềm 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 11 2/4/15 Công cụ kiểm thử phần mềm Tổng quan Selenium £ Selenium có 4 thành phần p Selenium IDE p Selenium RC p Selenium WebDriver p Selenium Grid 12 2/4/15 Công cụ kiểm thử phần mềm Nội dung £ Kiểm thử tự động £ Tổng quan Selenium £ Selenium IDE £ Selenium WebDriver 13 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Plugin của Firefox £ Chức năng Record và Playback 14 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Cài đặt 15 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Chạy plugin 16 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Giao diện chính 17 2/4/15 Công cụ kiểm thử phần mềm 18 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Menu 19 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Cấu hình 20 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Thứ tự ưu tiên Locator 21 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Thanh công cụ 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 22 2/4/15 Công cụ kiểm thử phần mềm 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 23 2/4/15 Công cụ kiểm thử phần mềm 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” 24 2/4/15 Công cụ kiểm thử phần mềm 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” 25 2/4/15 Công cụ kiểm thử phần mềm 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 26 2/4/15 Công cụ kiểm thử phần mềm 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 27 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Các command thông dụng 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 28 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Các loại Locator p ID p DOM (Document p Name Object Model) p Link Text ¡ getElementById ¡ getElementsByName p CSS Selector ¡ dom:name ¡ Tag and ID ¡ dom:index ¡ Tag and class p XPath ¡ Tag and attribute ¡ Tag, class, and attribute ¡ Inner text 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 30 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng Name p Target: name=name of the element 31 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng Name có filter p Target: name=name_of_the_element filter=value_of_filter 32 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng Link Text p Target: link=link_text 33 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng CSS – Tag và ID p Target: css=tag#id 34 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng CSS – Tag và Class p Target: tag.class 35 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Xác định bằng CSS – Inner Text p Target: css=tag:contains(“inner text”) 36 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Tóm tắt các Locator 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 name=tripType value=oneway r=value_of_filter 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.inpu ext Tag and A ribute css=tag[a ribute=value] css=input[name=lastName] Tag, Class, and A ribute css=tag.class[a ribute=value] css=input.inpu ext[tabindex=1] 37 2/4/15 Công cụ kiểm thử phần mềm 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 38 2/4/15 Công cụ kiểm thử phần mềm 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 39 2/4/15 Công cụ kiểm thử phần mềm 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 40 2/4/15 Công cụ kiểm thử phần mềm 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 41 2/4/15 Công cụ kiểm thử phần mềm 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 42 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE 43 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Lưu giá trị vào biến 44 2/4/15 Công cụ kiểm thử phần mềm Selenium IDE £ Alerts và Pop-up 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 Kiểm tra có alert hay không verifyAlertNotPresent 45 2/4/15 Công cụ kiểm thử phần mềm Nội dung £ Kiểm thử tự động £ Tổng quan Selenium £ Selenium IDE £ Selenium WebDriver 46 2/4/15 Công cụ kiểm thử phần mềm 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 47 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Các trình duyệt hỗ trợ 48 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Các trình duyệt hỗ trợ 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 49 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ WebDriver vs RC 50 2/4/15 Công cụ kiểm thử phần mềm 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 51 2/4/15 Công cụ kiểm thử phần mềm 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 52 2/4/15 Công cụ kiểm thử phần mềm 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 53 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Lập trình test case 54 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Chạy trên trình duyệt Firefox 55 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Chạy trên trình duyệt Chrome 56 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Chạy nhiều testcases trên cùng 1 script 57 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Chạy nhiều testcases trên cùng 1 script 58 2/4/15 Công cụ kiểm thử phần mềm Selenium WebDriver £ Ví dụ WebDriver với C# p Chạy nhiều testcases từ database 59 2/4/15 Công cụ kiểm thử phần mềm 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 60 2/4/15 Công cụ kiểm thử phần mềm Thảo luận 61 2/4/15 Công cụ kiểm thử phần mềm
File đính kèm:
- bai_giang_cong_cu_kiem_thu_phan_mem_bai_8_kiem_thu_tu_dong.pdf