TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ✍ ✍ BÁO CÁO BTL THUỘC HỌC PHẦN: KIỂM THỬ PHẦN MỀM ĐỀ TÀI: NGHIÊN CỨU CÔNG CỤ KIỂM THỬ TEST COMPLETE VÀ ỨNG DỤNG GVHD: Ts Hà Mạnh Đào Nhóm - Lớp: 26 – KTPM2-K13 Thành viên: Trần Đức Thịnh 2017600993 Phạm Đăng Hải 2017603795 Hà nội, Năm 2021 • MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Lý thuyết kiểm thử phần mềm 1.1.1 Kiểm thử phần mềm gì? 1.1.2 Các mục tiêu kiểm thử phần mềm 1.1.3 Phân loại kiểm thử phần mềm 1.1.4 Các cấp độ kiểm thử phần mềm 1.1.5 Test case 1.1.6 Các nguyên tắc kiểm thử 1.1.7 Quy trình kiểm thử phần mềm 1.2 Kỹ thuật kiểm thử tự động 10 11 1.2.1 Khái quát kiểm thử phần mềm tự động 11 1.2.2 Kiểm thử tự động gì? 12 1.2.3 Tại phải kiểm thử tự động 12 1.2.4 Nguyên tắc kiểm thử tự động 12 1.2.5 Quy trình kiểm thử tự động 15 1.3 Kỹ thuật kiểm thủ thủ công 1.3.1 15 Khái niệm kiểm thử thủ công 15 1.3.2 Mục tiêu kiểm thử thủ công 16 1.3.3 Các loại kiểm thử thủ công 16 1.3.4 Cách thực kiểm thử thủ công 16 1.3.5 Điểm mạnh điểm yếu kiểm thử thủ công 17 1.4 Một số công cụ kiểm thử tự động 17 1.4.1 Selenium IDE 17 1.4.2 Selenium Remote Control 18 1.4.3 Selenium Grid 18 1.4.4 Selenium webdriver 19 1.4.5 Jmeter 19 1.4.6 Katalon 20 1.4.7 Junit 20 1.4.8 Appium 20 1.4.9 LoadStorm 21 1.4.10 Quick Test Professional (QTP) 22 1.4.11 Robotium 22 1.4.12 SOASTA CloudTest 22 1.4.13 Test Complete 22 CHƯƠNG 2: CÔNG CỤ KIỂM THỬ TEST COMPLETE 23 2.1 Giới thiệu chung Test complete 23 2.2 Lịch sử hình thành 23 2.3 Đặc điểm công cụ TestComplete 24 2.4 Cấu hình tối thiểu 26 2.5 Ưu nhược điểm công cụ kiểm thử testComplete 26 2.6 Cài đặt TestComplete 27 2.7 Tạo project TestComplete 28 CHƯƠNG 3: ỨNG DỤNG 29 3.1 Giao diện sử dụng 29 3.1.1 Giao diện 29 3.1.2 Giao diện test steps page 30 3.2 Hướng dẫn sử dụng công cụ 30 3.2.1 Khởi tạo dự án 30 3.2.2 Ghi lại test 33 3.2.3 Chạy test ghi trước 33 3.2.4 Chạy project test 34 3.2.5 Xuất báo cáo 34 3.3 Kịch kiểm thử 35 3.4 Thực test 45 3.4.1 Test đăng nhập 45 3.4.2 Test hóa đơn 49 3.4.3 Test tìm kiếm 53 3.4.4 Test quản lý 54 3.4.5 Run project test 57 3.5 Kết test project 57 3.6 Báo cáo đánh giá trình kiểm thử 58 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC 61 • LỜI NĨI ĐẦU Hiện nay, phát triển mạnh mẽ bước chuyển nhanh chóng xu cơng nghệ thơng tin giới mang lại cho Việt Nam đồng thời thuận lợi khó khăn Do đó, dự án, chương trình quốc gia nhằm thúc đẩy hiệu ứng dụng CNTT mặt đời sống kinh tế - trị - xã hội ngày trọng gấp rút triển khai Kéo theo nhu cầu lĩnh vực kiểm thử phần mềm, đặc biệt kiểm thử phần mềm tự động Tại Việt Nam, khái niệm không mẻ song chưa hoàn toàn quen thuộc Thực tế cho thấy, số lượng đơn vị đào tạo chuyên sâu, tester chuyên nghiệp kiểm thử phần mềm không nhiều, chưa thể đáp ứng đủ cho dự án doanh nghiệp Nếu xét theo tiêu chuẩn quốc tế, tỷ lệ lập trình viên tester 1:3 (cứ lập trình viên có tester), đơi tỉ lệ 1:1 với dự án đặc thù; Việt Nam, tỉ lệ đáp ứng công việc tester rơi vào khoảng 1.5 Dù biết công tác kiểm thử, đảm bảo chất lượng giữ vai trò quan trọng việc mang lại thành công dự án phần mềm song khơng phải cơng ty có đủ chuyên môn điều kiện cho phép để thực quy trình Tuy nhiên, với lợi cạnh tranh như: nguồn nhân lực rẻ có sẵn trình độ kỹ thuật; đầu tư phát triển sở hạ tầng nhanh; mơi trường đầu tư an tồn; chất lượng dịch vụ trội tỉ lệ thay đổi nhân thấp… Việt Nam hi vọng tin tưởng vào khả trở thành đối tác kinh doanh đầy tiềm hấp dẫn ngành kiểm thử phần mềm Sau q trình tìm hiểu nhóm 26 chúng em định lựa chọn đề tài: “Nghiên cứu công cụ kiểm thử Test Complete ứng dụng” để làm báo cáo kết thúc môn học Rất mong nhận ý kiến nhận xét, đóng góp thầy bạn để báo cáo nhóm hồn thiện Chúng em xin chân thành cảm ơn thầy giáo Hà Mạnh Đào hỗ trợ chúng em vô tận tình để chúng em hồn thành đề tài Chúc thầy thật nhiều sức khỏe ngày thành cơng đường giảng dạy • CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Lý thuyết kiểm thử phần mềm 1.1.1 Kiểm thử phần mềm gì? Kiểm thử phần mềm quy trình sử dụng để đánh giá, kiểm tra chất lượng phần mềm nhiều khía cạnh khác dựa yêu cầu người sử dụng sản phẩm phần mềm, nhằm đảm bảo phần mềm hoạt động tốt môi trường, trường hợp khác Kiểm thử phần mềm kiểm tra tiến hành để cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểm thử Kiểm thử cung cấp cho doanh nghiệp quan điểm, cách nhìn độc lập phần mềm để từ cho phép đánh giá thấu hiểu rủi ro trình triển khai phần mềm Trong kỹ thuật kiểm thử không giới hạn việc thực chương trình ứng dụng với mục đích tìm lỗi phần mềm (bao gồm lỗi thiếu sót) mà cịn q trình phê chuẩn xác minh chương trình máy tính / ứng dụng / sản phẩm nhằm: • Đáp ứng yêu cầu hướng dẫn thiết kế phát triển phần mềm • Thực cơng việc kỳ vọng • Có thể triển khai với đặc tính tương tự • Và đáp ứng nhu cầu bên liên quan Tùy thuộc vào phương pháp, việc kiểm thử thực lúc trình phát triển phần mềm Theo truyền thống nỗ lực kiểm thử tiến hành sau yêu cầu xác định việc lập trình hồn tất Agile (là tập hợp phương pháp phát triển phần mềm linh hoạt dựa việc lặp lặp lại gia tăng giá trị) việc kiểm thử tiến hành liên tục suốt trình xây dựng phần mềm Như vậy, phương pháp kiểm thử bị chi phối theo quy trình phát triển phần mềm định 1.1.2 Các mục tiêu kiểm thử phần mềm ✔ Phát nhiều lỗi tốt thời gian kiểm thử xác định trước ✔ Chứng minh sản phẩm phần mềm phù hợp với đặc tả yêu cầu ✔ Xác thực chất lượng kiểm thử phần mềm dùng chi phí nỗ lực tối thiểu ✔ Tạo testcase chất lượng cao, thực kiểm thử hiệu tạo báo cáo vấn đề hữu dụng 1.1.3 Phân loại kiểm thử phần mềm Ta phân loại kiểm thử dựa vào yếu tố: Chiến lược kiểm thử, phương pháp kiểm thử kỹ thuật kiểm thử ✔ Dựa vào chiến lược kiểm thử ta phân chia kiểm thử thành loại: kiểm thử thủ công kiểm thử tự động ✔ Theo phương pháp tiến hành kiểm thử ta chia kiểm thử thành loại: • Kiểm thử tĩnh • Kiểm thử động ✔ Dựa vào kỹ thuật kiểm thử ta phân chia kiểm thử thành loại: • Kiểm thử hộp đen • kiểm thử hộp trắng • Kiểm thử hộp xám 1.1.4 Các cấp độ kiểm thử phần mềm Kiểm thử phần mềm không đơn giản nhiều người thường nghĩ, cơng việc có nhiều mức độ khác có mối tương quan với chặng phát triển dự án phát triển phần mềm Trong dự án kiểm thử phần mềm bao gồm mức độ bản: Kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống kiểm thử chấp nhận Hình SEQ Hình_1 \* ARABIC Bốn cấp độ kiểm ✔ Kiểm thử đơn vị (Unit Testing): kiểm thử thực chi tiết đơn vị nhỏ (hàm, class, ) có hoạt động không? ✔ Kiểm thử module (Module Testing): kiểm thử dịch vụ module có phù hợp với đặc tả module khơng? ✔ Kiểm thử tích hợp (Integration Testing): kiểm thử xem phân hệ phần mềm có đảm bảo với đặc tả thiết kế phân hệ khơng? ✔ Kiểm thử hệ thống (System Testing): kiểm thử yêu cầu không chức phần mềm hiệu suất, bảo mật, làm việc môi trường căng thẳng, ✔ Kiểm thử độ chấp nhận người dùng (AcceptanceTesting): kiểm tra xem người dùng có chấp thuận sử dụng phần mềm khơng? ✔ Kiểm thử hồi quy: làm có hiệu chỉnh, nâng cấp phần mềm với mục đích xem phần mềm có đảm bảo thực chức trước hiệu chỉnh không? 1.1.5 Test case Mỗi testcase chứa thông tin cần thiết để kiểm thử thành phần phần mềm theo mục tiêu xác định Testcase gồm thông tin {tập liệu đầu vào, trạng thái thành phần phầm mềm, tập kết kỳ vọng} ✔ Tập liệu đầu vào (Input): gồm giá trị liệu cần thiết để thành phần phầm mềm dùng xử lý ✔ Tập kết kỳ vọng: kết mong muốn sau thành phần phần mềm xử lý liệu nhập ✔ Trạng thái thành phần phần mềm: tạo giá trị prefix postfix Tập testcase: tập hợp testcase mà ta có ý định dùng để kiểm thử thành phần phần mềm để minh chứng TPPM có hành vi mong muốn Các phương pháp thiết kế test case ✔ Kiểm thử hộp đen (Black box testing): theo góc nhìn sử dụng • Không cần kiến thức chi tiết thiết kế thực bên • Kiểm thử dựa yêu cầu đặc tả sử dụng thành phần phần mềm ✔ Kiểm thử hộp trắng (White box testing): theo góc nhìn thực • Cần kiến thức chi tiết thiết kế thực bêntrong • Kiểm thử dựa vào phủ lệnh, phủ nhánh, phủ điều kiện con, Kiểu kiểm thử Kỹ thuật kiểm thử dùng Unit testing Hộp trắng, hộp đen Integration testing Hộp đen, hộp trắng Functional testing Hộp đen System testing Hộp đen Acceptance testing Hộp đen 1.1.6 Các nguyên tắc kiểm thử Thông tin thiết yếu testcase kết hay liệu xuất kỳ vọng Nếu kết kỳ vọng testcase không định nghĩa rõ ràng, người ta giải thích kết sai (plausible) thành kết tượng “the eyes seeing what it wants to see.” => test case phải chứa thành phần thiết yếu: ● Đặc tả điều kiện liệu nhập ● Đặc tả xác kết chương trình tương ứng với liệu nhập Việc kiểm thử địi hỏi tính độc lập: lập trình viên nên tránh việc kiểm thử TPPM viết Các issues tâm lý: ● Chương trình chứa lỗi lập trình viên hiểu sai đặc tả/phát biểu vấn đề ● Tổ chức lập trình khơng nên kiểm thử chương trình tổ chức viết ● Thanh tra cách xuyên suốt kết kiểm thử Phải thiết kế đủ test case cho trường hợp: liệu đầu vào hợp lệ liệu đầu vào không hợp lệ chờ đợi Xem xét chương trình xem khơng thực điều mong muốn, xem có làm điều không mong muốn? Tránh testcase "throwaway" chương trình thật "throwaway" Khơng nên lập kế hoạch nỗ lực kiểm thử dựa giả định ngầm phần mềm khơng có lỗi Xác xuất xuất nhiều lỗi section phần mềm tỉ lệ thuận với số lỗi phát section Kiểm thử tác vụ thách thức địi hỏi sáng tạo trí tuệ Kiểm thử phần mềm nên thành phần nhỏ đơn giản đến thành phần ngày lớn Kiểm thử theo kiểu vét cạn Nên hoạch định qui trình kiểm thử trước bắt đầu thực kiểm thử 1.1.7 Quy trình kiểm thử phần mềm Dẫu cho biến thể tồn tổ chức lập trình có quy trình điển hình để kiểm thử Mẫu phổ biến tổ chức sử dụng mơ hình phát triển Waterfall (thác nước) Các hoạt động tương tự thường tìm thấy mơ hình phát triển khác, có khơng rõ ràng ✔ Phân tích yêu cầu: Kiểm thử thường bắt đầu lấy yêu cầu giai đoạn vòng đời phát triển phần mềm Trong giai đoạn thiết kế, Tester làm việc với nhà phát triển để xác định khía cạnh thiết kế kiểm chứng thông số kiểm tra ✔ Lập kế hoạch kiểm thử: Chiến lược kiểm thử, kế hoạch kiểm thử, kiểm thử sáng tạo… Và có kế hoạch cần thiết nhiều hoạt động thực thời gian kiểm thử ✔ Kiểm thử phát triển: Các quy trình kiểm thử, kịch bản, Test Case, liệu sử dụng kiểm thử phần mềm Hình 16 Nhập xác tài khoản mật Hình 17 Các bước test DANGNHAP3 Hình 18 Kết test DANGNHAP3 o Test 4: Nhập tài khoản mật sai 45 Hình 19 Nhập tài khoản mật sai Hình 20 Các bước Test DANGNHAP4 Hình 21 Kết test DANGNHAP4 3.4.2 Test hóa đơn o TestHD1: Bỏ tất trường 46 Hình 22 Bỏ tất trường Hình 23 Các bước test HD1 Hình 24 Kết test HD1 o TestHD2: Bỏ trống trường số hóa đơn, nhân viên, khách hàng 47 Hình 25 Bỏ trống trường số hóa đơn, nhân viên, khách hàng Hình 26 Các bước test HD2 Hình 27 Kết test HD2 o TestHD3: nhâp thông tin số hóa đơn, nhân viên, khách hàng 48 Hình 28 nhâp thơng tin số hóa đơn, nhân viên, khách hàng Hình 29 Các bước HD3 Hình 30 Kết HD3 o TestHD4: Bỏ trống trường sách, đơn giá bán, số lượng bán kích nút “hủy sản phẩm” 49 Hình 31 Bỏ trống trường sách, đơn giá bán, số lượng bán kích nút “hủy sản phẩm” Hình 32 Các bước test HD4 Hình 33 Kết test HD4 3.4.3 Test tìm kiếm o TestTK1: Nhập mã sách bỏ trống tên sách 50 Hình 34 Nhập mã sách bỏ trống tên sách Hình 35 : Kết test TK1 o TestTK2: nhập đầy đủ mã sách tên sách Hình 36 nhập đầy đủ mã sách tên sách Hình 37 Kết test TK2 3.4.4 Test quản lý o TestQL1:Bỏ trống tất trường nhấn nút thêm nhân viên 51 Hình 38 Bỏ trống tất trường nhấn nút thêm nhân viên Hình 39 Kết Test QL1 o TestQL2: Điền tất trường nhấn nút thêm nhân viên Hình 40 Điền tất trường nhấn nút thêm nhân viên Hình 41 Kết test QL2 52 o TestQL3: Bỏ trống tất trường nhấn nút sửa nhân viên Hình 42 Bỏ trống tất trường nhấn nút sửa nhân viên Hình 43 Kết test QL3 o TestQL4: Điền tất trường nhấn nút sửa nhân viên Hình 44 Điền tất trường nhấn nút sửa nhân viên Hình 45Kết test QL4 o TestQL5: Bỏ trống tất trường nhấn nút xóa nhân viên 53 Hình 46 Bỏ trống tất trường nhấn nút xóa nhân viên Hình 47 Kết test QL5 o TestQL6: Điền Mã nhân viên nhấn nút xóa nhân viên Hình 48 Điền mã nhân viên nhấn nút xóa nhân viên Hình 49 Kết test QL6 3.4.5 Run project test 54 Hình 50 Run Project test 3.5 Kết test project Hình 51 Kết test Project 55 Hình 52 Kết run project Đánh giá tổng quát: toàn test cases passed 3.6 Báo cáo đánh giá trình kiểm thử Kiểm thử phần mềm hoạt động quan trong đảm bảo chất lượng phần mềm trước người dùng sử dụng Việc tìm hiểu nghiên cứu lựa chọn kĩ thuật chiến lược kiểm thử phần mềm phù hợp giúp cho việc kiểm thử có hiệu quả, giảm chi phí, thời gian Việc xây dựng tài liệu kiểm thử phần mềm hợp lí giúp cho việc tổ chức, quản lí việc kiểm thử cách hiệu Thông qua việc kiểm thử chức phần mềm với phần mềm TestComplete ta thấy quan trọng việc kiểm thử đáng giá phần mềm mà người lập trình tạo nên Kiểm thử tất trường hợp chức hệ thống việc đơn giản ta không kiểm tra trường hợp mà phải thử trường hợp lỗi, ngoại lệ Những vấn đề đạt sau kiểm thử: ✔ Có kế hoạch kiểm thử hiệu ✔ Tiến hành kiểm tra tất trường hợp xảy sử dụng chức phần mềm ✔ Các trường hợp kiểm thử test cẩn thận không vội vàng giảm thiểu sai sót q trình kiểm thử 56 ✔ Các trường hợp kiểm thử thành công không xảy lỗi Đánh giá trình kiểm thử nhóm: ✔ Cài đặt triển khai thành cơng phiên TestComplete cho phần mềm quản lý sách ✔ Hoàn thành toàn test cases cho chức phần mềm • TÀI LIỆU THAM KHẢO - Giáo trình Kiểm thử phần mềm - Các khái niệm kiểm thử: https://viblo.asia/p/cac-khai-niem-co-ban-vekiem-thu-phan-mem-63vKjR7dK2R - Kiểm thử tự động công cụ sử dụng kiểm thử tự động: https://viblo.asia/p/kiem-thu-tu-dong-va-cac-cong-cu-duoc-su-dung-trong-kiemthu-tu-dong-aWj531qbZ6m • PHỤ LỤC Hình 1 Bốn cấp độ kiểm thử Hình Sơ đồ use case Hình Giao diện để điền thơng tin lấy link tải test complete Hình 2 Giao diện để tạo project 27 28 Hình Giao diện phần mềm kiểm thử test complete Hình Giao diện test steps page Hình 3 Khởi tạo dự án Hình Lưu địa project Hình Chọn phần mềm để test Hình Record trình test Hình Kết thị 57 29 30 31 32 32 33 33 Hình Kết 34 Hình Xuất file làm báo kết test 34 Hình 10 Nhập tài khoản, bỏ mật 45 Hình 11 Các bước test DANGNHAP 45 Hình 12 Kết test DANGNHAP 45 Hình 13 Nhập mật bỏ trống tài khoản 46 Hình 14 Các bước test DANGNHAP2 46 Hình 15 Các bước test DANGHAP2 46 Hình 16 Nhập xác tài khoản mật 47 Hình 17 Các bước test DANGNHAP3 47 Hình 18 Kết test DANGNHAP3 47 Hình 19 Nhập tài khoản mật sai 48 Hình 20 Các bước Test DANGNHAP4 48 Hình 21 Kết test DANGNHAP4 48 Hình 22 Bỏ tất trường 49 Hình 23 Các bước test HD1 49 Hình 24 Kết test HD1 49 Hình 25 Bỏ trống trường số hóa đơn, nhân viên, khách hàng 50 Hình 26 Các bước test HD2 50 Hình 27 Kết test HD2 50 Hình 28 nhâp thơng tin số hóa đơn, nhân viên, khách hàng 51 Hình 29 Các bước HD3 51 Hình 30 Kết HD3 51 Hình 31 Bỏ trống trường sách, đơn giá bán, số lượng bán kích nút “hủy sản phẩm” 52 Hình 32 Các bước test HD4 52 Hình 33 Kết test HD4 52 Hình 34 Nhập mã sách bỏ trống tên sách 53 Hình 35 : Kết test TK1 53 Hình 36 nhập đầy đủ mã sách tên sách 53 Hình 37 Kết test TK2 53 Hình 38 Bỏ trống tất trường nhấn nút thêm nhân viên 54 Hình 39 Kết Test QL1 54 Hình 40 Điền tất trường nhấn nút thêm nhân viên 54 Hình 41 Kết test QL2 54 Hình 42 Bỏ trống tất trường nhấn nút sửa nhân viên 55 Hình 43 Kết test QL3 55 Hình 44 Điền tất trường nhấn nút sửa nhân viên 55 58 Hình 45Kết test QL4 Hình 46 Bỏ trống tất trường nhấn nút xóa nhân viên Hình 47 Kết test QL5 Hình 48 Điền mã nhân viên nhấn nút xóa nhân viên Hình 49 Kết test QL6 Hình 50 Run Project test Hình 51 Kết test Project Hình 52 Kết run project 59 55 56 56 56 56 57 57 58 ... chiến lược kiểm thử ta phân chia kiểm thử thành loại: kiểm thử thủ công kiểm thử tự động ✔ Theo phương pháp tiến hành kiểm thử ta chia kiểm thử thành loại: • Kiểm thử tĩnh • Kiểm thử động ✔ Dựa... kế hoạch kiểm thử: Chiến lược kiểm thử, kế hoạch kiểm thử, kiểm thử sáng tạo… Và có kế hoạch cần thiết nhiều hoạt động thực thời gian kiểm thử ✔ Kiểm thử phát triển: Các quy trình kiểm thử, kịch... án kiểm thử phần mềm bao gồm mức độ bản: Kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống kiểm thử chấp nhận Hình SEQ Hình_1 * ARABIC Bốn cấp độ kiểm ✔ Kiểm thử đơn vị (Unit Testing): kiểm