Đề cương kiểm thử phần mềm tự động

107 404 1
Đề cương kiểm thử phần mềm tự động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mục lục Bài 1: Tổng quan kiểm thử tự động 1.1Khái niệm kiểm thử tự động 1.2 Mục tiêu kiểm thử tự động 1.3 Quy trình kiểm thử tự động phần mềm .7 1.4 Kiến trúc khung làm việc kiểm thử tự động 1.5 Lợi ích kiểm thử tự động 12 Bài 2: Tổng quan kiểm thử tự động (tiếp) 13 2.1 So sánh kiểm thử tự động kiểm thử thủ công 13 2.2 Phân loại công cụ kiểm thử tự động 15 2.3 Lựa chọn công cụ kiểm thử tự động cho toán tổ chức bạn 21 Bài 3: Selenium WebDriver 22 3.1 Giới thiệu Selenium WebDriver 22 3.2 Giới thiệu WebElements 24 3.3 Xác định phần tử trang web (Elements) 26 3.4 Các WedDriver hành 28 Bài 4: Làm việc với WebDriver 29 4.1 Khám phá đặc tính WebDriver 29 4.2 Các tương tác cao Webdriver 31 4.3 Hiểu kiện WebDriver 31 4.4 Vào liệu với WebDriver 31 4.5 Mô hình đối tượng trang (Page Object Model) 31 Bài 5: Thảo luận – Lựa chọn công cụ kiểm thử tự động 37 Bài 6: Thực hành – Làm việc với Selenium WebDriver 37 Bài 7: Xây dựng công cụ kiểm thử hướng liệu (Data Driven Test Framework with Selenium Webdriver) 37 7.1 Yêu cầu Framework kiểm thử tự động 37 7.2 Các đặc tính Framework 37 Bộ môn CNPM – Khoa CNTT 7.3 Framework kiểm thử mức thành phần 38 7.4 Giới thiệu kiểm thử hướng liệu 40 7.5 Kiến trúc Framework kiểm thử hướng liệu 40 7.6 Chuẩn bị lưu trữ liệu kiểm thử 41 Bài 8: Thực hành – Viết kịch kiểm thử tự động với Selenium WebDriver 42 Bài 9: Xây dựng công cụ kiểm thử hướng liệu (Data Driven Test Framework with Selenium Webdriver) (tiếp) 42 9.1 Xử lý liệu kiểm thử 42 9.2 Sử dụng liệu kiểm thử 44 9.3 Thao tác với ca kiểm thử, kịch kiểm thử 45 9.4 Trình điều khiển kịch 46 9.5 Xây dựng thư viện kiểm thử 47 9.6 Nhật ký kiểm thử (Test Log) 48 Bài 10: Thảo luận – Công cụ kiểm thử hướng liệu 49 Bài 11: Thực hành - Xây dựng công cụ kiểm thử hướng liệu 51 Bài 12: Xây dựng công cụ kiểm thử hướng từ khoá (Keyword Driven Test Framework with Selenium Webdriver) 51 12.1 Giới thiệu kiểm thử hướng từ khoá 51 12.2 Chuẩn bị lưu trữ liệu kiểm thử 52 12.3 Xử lý liệu kiểm thử 52 12.4 Từ khoá mức độ khác 53 12.5 Thể xử lý liệu kiểm thử dựa từ khoá 53 Bài 13: Thực hành – Xây dựng công cụ kiểm thử hướng liệu (tiếp) 54 Bài 14: Xây dựng công cụ kiểm thử hướng từ khoá (Keyword Driven Test Framework with Selenium Webdriver) (tiếp) 54 14.1 Thao tác với ca kiểm thử 54 14.2 Thao tác với từ khoá 55 14.3 Sử dụng liệu kiểm thử 56 Bộ môn CNPM – Khoa CNTT 14.4 Trình điểu khiển kịch 56 14.5 Thư viện kiểm thử 58 14.6 Nhật ký kiểm thử 59 Bài 15: Thực hành – Xây dựng công cụ kiểm thử hướng từ khoá 63 Bài 16: Xây dựng công cụ kiểm thử lai cho ứng dụng web (Hybrid Test Framework with Selenium Webdriver) 63 16.1 Giới thiệu Hybrid Framework 63 16.2 Tích hợp kiểm thử hướng liệu kiểm thử hướng từ khoá 64 16.3 Dữ liệu kiểm thử 69 16.4 Trình điều khiển ca kiểm thử 69 16.5 Báo cáo kiểm thử 73 Bài 17: Thảo luận – Công cụ kiểm thử hướng từ khoá lai 74 Bài 18: Thực hành - Xây dựng công cụ kiểm thử hướng từ khoá lai 74 Bài 19: Xây dựng công cụ kiểm thử ứng dụng Mobile với Appium 74 19.1 Giới thiệu công cụ kiểm thử ứng dụng Mobile – Appium 74 19.2 Cài đặt cấu hình Appium 75 19.3 Viết kịch đơn giản với Appium 78 19.4 Thực thi kịch với Appium 79 19.5 Báo cáo kết kiểm thử 80 Bài 20: Xây dựng công cụ kiểm thử ứng dụng Mobile với Appium (tiếp) 82 20.1 Chuẩn bị liệu kiểm thử 82 20.2 Trình điều khiển ca kiểm thử 83 20.3 Xử lý lỗi 83 20.4 Thực thi ca kiểm thử 84 20.5 Báo cáo kết kiểm thử 85 Bài 21: Thảo luận – Kiểm thử tự động ứng dụng di động 86 Bài 22: Thực hành – Viết kịch kiểm thử tự động cho ứng dụng di động 86 Bài 23: Phát triển hướng hành vi tự động kiểm thử chấp nhận 87 Bộ môn CNPM – Khoa CNTT 23.1 Phát triển hướng hành vi 87 23.2 Kiểm thử chấp nhận 87 23.3 Các công cụ kiểm thử chấp nhận 90 23.4 Công cụ SpecFlow 90 23.5 Ngôn ngữ Gherkin 91 23.6 Tự động hoá kiểm thử chấp nhận với Specflow Selenium 97 Bài 24: Thực hành – Kiểm thử chấp nhận tự động với Specflow Selenium 106 Bài 25: Thảo luận – Phát triển hướng hành vi kiểm thử chấp nhận 106 Bộ môn CNPM – Khoa CNTT Bài 1: Tổng quan kiểm thử tự động 1.1Khái niệm kiểm thử tự động Kiểm thử tự động trình thực cách tự động bước TC Nó sử dụng công cụ kiểm thử tự động để rút ngắn thời gian kiểm thử Kiểm thử tự động hỗ trợ kiểm thử viên nhiều tùy vào công cụ nội dung kiểm thử thực tay hay không Đối với nhiệm vụ kiểm tra khó mà thực tay yêu cầu chi phí nhân công lớn sử dụng tool hỗ trợ điều cần thiết 1.2 Mục tiêu kiểm thử tự động Phần mềm có khiếm khuyết thông thường gây thiệt hại kinh tế theo thời gian Chính tổ chức phần mềm dành nhiều thời gian nguồn lực để phân tích kiểm thử phần mềm Ngày ứng dụng tự động hóa vào ngành đa dạng, có ngành kiểm thử Trước kiểm thử viên kiểm thử tay thực ghi lại kết giấy, với ứng dụng công nghệ thông tin công cụ kiểm thử phát triển từ sớm hỗ trợ kiểm thử viên nhiều đặc biệt trường hợp kiểm thử đặc biệt mà kiểm thử tay thực khó khăn để thực Các tổ chức quan tâm đến chất lượng phần mềm có nhiều chức nội dung kiểm tra đòi hỏi kiểm thử viên phải thực nhiều công việc kiểm thử với hỗ trợ công cụ cần thiết Để giúp kiểm thử viên kiểm thử tự động Test Tool, nhiên trường hợp kiểm thử tự động Vậy kiểm thử thử tự động nào?  Kiểm thử tự động tình sau:  Không đủ tài nguyên:  Khi số lượng tình kiểm tra (TC) nhiều mà kiểm thử viên hoàn tất tay thời gian cụ thể Có thể lấy dẫn chứng thực kiểm tra chức website Website kiểm tra với môi trường gồm trình duyệt hệ điều hành Tình đòi hỏi số lần kiểm tra tăng lên lặp lại lần so với việc kiểm tra cho môi trường cụ thể  Kiểm tra hồi quy: Trong trình phát triển phần mềm (PTPM), nhóm lập trình thường đưa nhiều phiên phần mềm liên tiếp để kiểm tra Thực tế cho thấy việc đưa phiên phần mềm hàng ngày, phiên bao gồm tính Bộ môn CNPM – Khoa CNTT mới, tính cũ sửa lỗi hay nâng cấp Việc bổ sung sửa lỗi code cho tính phiên làm cho tính khác kiểm tra tốt chạy sai phần code không chỉnh sửa Để khắc phục điều này, phiên bản, kiểm thử viên không kiểm tra chức sửa, mà phải kiểm tra lại tất tính kiểm tra tốt trước Điều khó khả thi mặt thời gian kiểm tra thủ công  Kiểm tra vận hành phần mềm môi trường đặc biệt: Đây kiểm tra nhằm đánh giá xem vận hành phần mềm có thỏa mãn yêu cầu đặt hay không Thông qua kiểm thử viên xác định yếu tố phần cứng, phần mềm ảnh hưởng đến khả vận hành phần mềm Có thể liệt kê số tình kiểm tra tiêu biểu thuộc loại sau: - Đo tốc độ trung bình xử lý yêu cầu web server - Thiết lập 1000 yêu cầu, đồng thời gửi đến web server, kiểm tra tình 1000 người dùng truy xuất web lúc - Xác định số yêu cầu tối đa xử lý web server xác định cấu hình máy thấp mà tốc độ xử lý phần mềm hoạt động mức cho phép Việc kiểm tra thủ công cho tình cực khó, chí "vô phương" Vì kiểm thử tự động tăng độ tin cậy, xác, giảm bớt chi phí thực kiểm thử cho kiểm thử viên thời gian, công sức; bên cạnh việc thiết kế test case cho lần kiểm thử giúp kiểm thử viên rèn luyện kỹ lập trình (viết test script), giảm nhàm chán thực kiểm thử thủ công Hoạt động kiểm thử tự động nhằm mục đích kiểm tra, phát lỗi phần mềm trường hợp đoán trước Nghĩa thường thực sau thiết kế xong tình (TC) Tuy nhiên, nói, trường hợp kiểm tra cần thiết phải tự động hóa, tất test case kiểm thử viên phải đánh giá chọn TC phù hợp cần thiết để áp dụng kiểm thử tự động dựa tiêu chí đề cập bên  Mục tiêu kiểm thử tự động :  Giảm bớt công sức thời gian thực  Tăng độ tin cậy  Giảm nhàm chán  Giảm chi phí cho tổng trình kiểm thử  Ưu điểm kiểm thử tự động:  KTPM không cần can thiệp kiểm thử viên  Giảm chi phí thực kiểm tra số lượng lớn TC TC lặp lại nhiều Bộ môn CNPM – Khoa CNTT lần  Giả lập tình khó thực tay 1.3 Quy trình kiểm thử tự động phần mềm Quy trình kiểm thử tự động phần mềm giống quy trình thực kiểm thử thủ công khác chỗ kiểm thử tự động có hỗ trợ công cụ nhiều tạo test script (có thể tay công cụ), công cụ hỗ trợ ghi lại kết lưu trữ kết máy tính Quy trình gần tương tự với quy trình phát triển phần mềm, thực qua nhiều bước, tiến hành sớm quy trình phát triển phần mềm đội kiểm thử tiến hành gần song song đội phát triển phần mềm Hình 1.1: Quy trình KTTĐ mối quan hệ với KTPM Để kiểm thử tự động công cụ thành phần thiếu tiến trình này, việc kiểm thử viên thành thạo công cụ kiểm thử đảm bảo cho quy trình kiểm thử tự động hiệu Một công cụ kiểm thử phần mềm tự động yêu cầu phải làm công việc sau:  Hiểu mã assembly kiểm tra cách tự động  Tiến hành nhiệm vụ đơn giản lặp lặp lại cách tự động  Tạo kịch chạy kịch lô lệnh theo lịch trình vạch  Kiểm tra giao diện đối tượng COM thành phần phần mềm khác với tập liệu thiết lập sẵn  Truy cập vào liệu để xác minh lại kết  Truy cập vào Regestry để xác minh lại kết 1.4 Kiến trúc khung làm việc kiểm thử tự động Bộ môn CNPM – Khoa CNTT Kiến trúc khung kiểm thử tự động giống kiến trúc ứng dụng: vạch cấu trúc tổng thể cho môi trường thử nghiệm tự động, xác định chức chung, kiểm tra tiêu chuẩn, cung cấp khuôn mẫu cho cấu trúc kiểm tra quy tắc cách kiểm tra đặt tên, tài liệu quản lý, để thư viện thử nghiệm trì chuyển nhượng Sự cần thiết cho khuôn khổ thử nghiệm xác định rõ ràng thiết kế đặc biệt tốt thử nghiệm Đối với ứng dụng, bạn cho nhà phát triển có hiểu biết thiết kế phần mềm nguyên tắc phát triển, kiểm tra tự động, tỷ lệ chênh lệch cao so với người kiểm tra tảng kỹ thuật không nhận thức kỹ thuật phát triển có cấu trúc Khung kiểm tra trình bày chương áp dụng cho hệ thống tự động hóa Cách tiếp cận miêu tả Cẩm nang Sự khác biệt phương pháp tiếp cận cách trường hợp thử nghiệm cá nhân kịch cấu trúc Bằng cách áp dụng khuôn khổ, bạn tận hưởng hiệu đến từ việc chia sẻ chức chung hiệu mà kiểm tra tiêu chuẩn mẫu cung cấp Kiến trúc chung khung làm việc kiểm thử tự động thể hình dưới: Các chung: Các chức phổ biến thủ tục tự động hoá tác vụ chia sẻ toàn thư viện thử nghiệm Một số chức chia sẻ tất kiểm tra, chẳng hạn thủ tục phục hồi từ lỗi không mong muốn, kết nhật ký tác vụ tương tự khác Các chức thường cấu trúc thủ tục con, có nghĩa chúng gọi từ điểm trở lại bước sau gọi Các loại chức phổ biến khác tập lệnh hữu ích: ví dụ làm sở liệu nạp tập ghi biết, xóa tệp công việc tạm thời quản lý môi trường thử nghiệm Rõ ràng xác định chia sẻ thói quen làm giảm đơn giản hóa phát triển bảo trì testware Các kịch nên cấu trúc cho chúng thực độc lập liên kết với Bộ môn CNPM – Khoa CNTT phần chu kỳ kiểm tra tích hợp Các tiêu chuẩn kiểm thử: Bộ môn CNPM – Khoa CNTT Test templates Mẫu kiểm tra cung cấp cấu trúc để phát triển kiểm tra cá nhân Nó sử dụng để tăng tốc độ phát triển cách cho phép định dạng đơn nhanh chóng chép điền vào, tiết kiệm thời gian cho kiểm tra thúc đẩy quán Mặc dù quy ước đặt tên cho kiểm tra nội dung chúng quan trọng, mô tả đầy đủ phần Bản đồ ứng dụng, điều quan trọng kiểm tra riêng lẻ phải tuân theo cấu trúc chung để dễ dàng liên kết với khung kiểm tra Ví dụ, kiểm tra dự kiến gọi chương trình chia sẻ với kiểm tra khác phải phát triển phép quay lại kiểm tra gọi; Tương tự vậy, kiểm tra thực từ trình điều khiển chế kiểm soát khác phải có khả hoàn trả kiểm soát chúng hoàn tất Các phương tiện xác để hoàn thành việc thay đổi theo cách tiếp cận tự động hóa thảo luận phần liên quan cho cách tiếp cận Bộ môn CNPM – Khoa CNTT 10 Mọi Scenario bắt đầu với từ khóa “Scenario:” theo sau tiêu đề tùy ý Mỗi Feature có nhiều Scenario, Scenario bao gồm hay nhiều Step Ví dụ Background Background cho phép thêm vài context vào tất scenario feature Một background giống Scenario tiêu đề, bao gồm số Step Sự khác chạy: background chạy trước scenario, sau Hook Ví dụ Bộ môn CNPM – Khoa CNTT 93 Step Feature bao gồm Step (Givens, Whens, Thens…) Không phân biệt loại steps Tuy nhiên cần sử dụng cẩn thận mục đích từ **Given: ** Được sử dụng để mô tả ngữ cảnh ban đầu hệ thống Mục đích Given đưa hệ thống vào trạng thái biết trước sử Bộ môn CNPM – Khoa CNTT 94 dụng (hoặc hệ thống bên ngoài) bắt đầu tương tác với hệ thống (trong bước When) Nếu bạn làm việc với use case, Givens điều kiện tiên Khi Cucumber thực thi bước Given, cấu hình hệ thống để trạng thái rõ ràng là: tạo, cấu hình đối tượng thêm liệu test vào sở liệu Nên sử dụng Given với table, cách giúp đọc tất scenario chỗ mà không cần nhảy file **When: ** Mục đích When để mô tả kiện, hành động mà người dùng sử dụng Bộ môn CNPM – Khoa CNTT 95 **Then: ** Mục đích Then quan sát kết Các quan sát phải liên quan đến giá trị kinh doanh / lợi ích việc mô tả feature Các quan sát phải kiểm tra đầu hệ thống (một báo cáo, giao diện người dùng, tin nhắn, ) **And, But: ** Khi có nhiều Given, When, Then viết **Comment: ** Bắt đầu dòng dấu # cho biết dòng dòng comment không thực thi **Step Definition: ** Các công cụ biết làm để thực thi scenario Nó cần Step Definition để biên dịch nguyên văn bước Gherkin thành hành động mà tương tác với hệ thống Bộ môn CNPM – Khoa CNTT 96 Khi Các công cụ thực thi Step Scenario tìm kiếm Step Definition phù hợp để thực thi Một Step Definition phần nhỏ code với pattern đính kèm Pattern sử dụng để liên kết Step definition với tất Step phù hợp, code mà công cụ thực thi thấy Gherkin Step 23.6 Tự động hoá kiểm thử chấp nhận với Specflow Selenium a Khởi tạo dự án Bước : Mở Visual studio Bước : Tạo dự án TestProject >Unit Test Project Đặt tên cho dự án FundTransfer1.specs hiển thị hình : Bước : Remove UnitTest1.cs from Solution Explorer không dùng đến Bộ môn CNPM – Khoa CNTT 97 Bước :Tiếp theo, thêm SpecFlow.NET, WebDriver, NUnit sử dụng NuGet Nhấp chuột phải vào dự án Fows Solution Explorer chọn Manage NuGet Packages , thể hình bên dưới: Bước : Trên hộp thoại Fows - Manage NuGet Packages , Kích chuột vào ô Search Online nhấn tổ hợp Ctrl +E để nhập từ khóa tìm kiếm SpecFlow Kết tìm kiếm trả gợi ý sau đây: Bộ môn CNPM – Khoa CNTT 98 Chọn SpecFlow.NUnit từ danh sách nhấn vào nút Install NuGet tải cài đặt SpecFlow.Nunit Bước 6: Tiếp theo, tìm kiếm WebDriver hộp thoại Flows - Manage NuGet Packages Chọn Selenium WebDriver and Selenium WebDriver Support Classes từ danh sách nhấn nút Install Chú ý: Cài đặt thành công xuất dấu tích màu xanh hình đây: Bộ môn CNPM – Khoa CNTT 99 Bước : đóng hộp thoại FundTransfer1.specs - Manage NuGet Packages b Thêm tập tin Feature Bây thêm đầu featurefile: loại tập tin có chứa kịch mô tả hành vi mong đợi phần mềm bạn • Nhấp chuột phải vào dự án (tên FundTransfer1.specs) Solution Explorer click vào Add, sau vào New Item • Trong cửa sổ Add New Item- Fows • Mở rộng nút Installed phía bên tay trái, sau chọn Visual C# • Trong danh sách phần giữa, chọn SpecFlow Feature File đặt tên (SpecFlowFeature1.feature) cho tập tin phía Bộ môn CNPM – Khoa CNTT 100 • Nhấp chuột vào nút Add góc bên phải • Theo mặc định, SpecFlow bổ sung thêm tính giả tính file Thay nội dung tập tin với tính kịch cần viết sau đây: Bộ môn CNPM – Khoa CNTT 101 c Thêm tập tin Set Defenition • Bây định nghĩa kịch nên Tạo định nghĩa bước Đối với điều này, kích chuột phải vào tính file chọn Generate Step Definitions  Bạn thấy hộp thoại để tạo lớp cho tất bước Bộ môn CNPM – Khoa CNTT 102  Chọn vị trí để lưu trữ lớp Nó phải dự án Một tập tin cs tạo với nội dung mặc định d Xây dựng code lớp Step Defenition Bộ môn CNPM – Khoa CNTT 103 e Chạy ứng dụng test  Chọn Test  Windows Main Menu  Test Explorer  Cửa sổ Test Explorer hiển thị hình bên dưới: Bộ môn CNPM – Khoa CNTT 104  Chọn “Run All” để chạy toàn ứng dựng  Nhấn vào Output test case f SpecFlow Reports SpecFlow + Runner tạo báo cáo thực nâng cao cho chạy thử nghiệm Để xem báo cáo, chọn „Test‟ „Show output from „ cửa sổ Output Click vào liên kết đến Resport file để xem báo cáo Visual Studio: Bộ môn CNPM – Khoa CNTT 105 Bài 24: Thực hành – Kiểm thử chấp nhận tự động với Specflow Selenium Xem nội dung thực hành tài liệu thực hành Bài 25: Thảo luận – Phát triển hướng hành vi kiểm thử chấp nhận Bộ môn CNPM – Khoa CNTT 106 TÀI LIỆU THAM KHẢO [1] Yujun Liang & Alex Collins, Selenium WebDriver From Foundations To Framework, LearnPub, 2016 [2] Unmesh Gundecha, Selenium Testing Tools Cookbook Second Edition, PACK Publishing, 2015 [3] Zhimin Zhan, Selenium WebDriver Recipes in C#: Second Edition, Apress, 2012 Bộ môn CNPM – Khoa CNTT 107 ... quan kiểm thử tự động 1.1Khái niệm kiểm thử tự động Kiểm thử tự động trình thực cách tự động bước TC Nó sử dụng công cụ kiểm thử tự động để rút ngắn thời gian kiểm thử Kiểm thử tự động hỗ trợ kiểm. .. Để giúp kiểm thử viên kiểm thử tự động Test Tool, nhiên trường hợp kiểm thử tự động Vậy kiểm thử thử tự động nào?  Kiểm thử tự động tình sau:  Không đủ tài nguyên:  Khi số lượng tình kiểm tra... KTPM Để kiểm thử tự động công cụ thành phần thiếu tiến trình này, việc kiểm thử viên thành thạo công cụ kiểm thử đảm bảo cho quy trình kiểm thử tự động hiệu Một công cụ kiểm thử phần mềm tự động

Ngày đăng: 24/10/2017, 15:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan