Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
5,9 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO BTL 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: Nhóm: Thành viên: Hà Nội, Năm 2022 MỤC LỤC 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 3:1 (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 công ty có đủ chun 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 15 chúng em định lựa chọn đề tài: “ ” để làm báo cáo kết Nghiên cứu công cụ kiểm thử Test Complete ứng dụng 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 hoàn thiện Chúng em xin chân thành cảm ơn thầy giá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 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: Là loại kiểm tra code khơng thực Nó thực tay công cụ Loại kiểm tra thực kiểm tra code, tài liệu yêu cầu tài liệu thiết kế đưa nhận xét, lưu nhận xét vào tài liệu công việc Khi phần mềm khơng thực thi khơng làm gì, thực kiểm tra trạng thái an toàn để phân tích phần mềm mơi trường khơng chạy + Kiểm thử động: Được thực code chế độ thực thi Thử nghiệm động thực mơi trường thực thi chạy chương trình ứng dụng Khi code thực thi, đầu vào truyền giá trị, kết đầu việc thực so sánh với kết dự kiến ban đầu đưa Với việc quan sát hành vi chức phần mềm, giám sát hệ thống nhớ, thời gian phản hồi CPU, hiệu suất hệ thống.được thực code chế độ thực thi Thử nghiệm động thực môi trường thực thi chạy chương trình ứng dụng Khi code thực thi, đầu vào truyền giá trị, kết đầu việc thực so sánh - với kết dự kiến ban đầu đưa Với việc quan sát hành vi chức phần mềm, giám sát hệ thống nhớ, thời gian phản hồi CPU, hiệu suất hệ 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 - - - 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 Kiiểểu kiiểểm thhử Kỹ thhuuậật kiiểểm thhử đưượợc dùùnng Unniit teessttiinng Integration testing Functional testing Hộộp trrắắnngg, hộộp đeen Syysstteem teessttiinng Hộp đen, hộp trắng Hộp đen Hộộp đeen Acccceeppttaanncce teessttiinng Hộộp đeen 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 Quy trình kiểm thử phần mềm: - 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 Kiểm thử thực hiện: Dựa kế hoạch, văn kiểm thử báo cáo lỗi tìm thấy cho nhóm phát triển Kiểm thử báo cáo: Sau hồn tất kiểm thử, Tester tạo số liệu báo cáo cuối nỗ lực kiểm thử họ có sẵn sàng phát hành phần mềm hay khơng Phân tích kết kiểm thử phân tích thiếu sót thực đội ngũ phát triển kết hợp với khách hàng để đưa định xem thiếu sót cần phải chuyển giao, cố định từ bỏ (tức tìm phần mềm hoạt động xác) giải sau - Test lại khiếm khuyết: Khi khiếm khuyết xử lý đội ngũ phát triển, phải kiểm tra lại nhóm kiểm thử - Kiểm thử hồi quy: Người ta thường xây dựng chương trình kiểm thử nhỏ tập hợp kiểm tra cho tích hợp mới, sửa chữa cố định phần mềm, để đảm bảo cung cấp không phá hủy điều tồn phần mềm cịn hoạt động cách xác - Kiểm thử đóng gói: Mỗi phép thử thỏa mãn tiêu truy xuất thu kết quan như: học kinh nghiệm, kết quả, ghi, tài liệu liên quan lưu trữ sử dụng tài liệu tham khảo cho dự án tương lai 1.2 Kỹ thuật kiểm thử tự động 1.2.1 Khái quát kiểm thử phần mềm tự động Kiểm thử phần mềm tốn nhiều chi phí nhân cơng, thời gian Trong số dự án, chi phí kiểm thử phần mềm chiếm 40% tổng giá trị dự án Nếu cần ứng dụng an tồn hơn, chi phí kiểm thử cịn cao Do mục tiêu kiểm thử tự động hóa nhiều, nhờ mà giảm thiểu chi phí, giảm lỗi, đặc biệt giúp việc kiểm thử hồi qui dễ dàng nhanh chóng Tự động hóa việc kiểm thử dùng phần mềm điều khiển việc thi hành kiểm thử, so sánh kết có với kết mong muốn, thiết lập điều kiện đầu vào, kiểm soát kiểm thử chức báo cáo kết 1.2.2 Kiểm thử tự động gì? Kiểm thử tự động trình thực cách tự động bước kịch kiểm thử Kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử 1.2.3 Tại phải kiểm thử tự động • • • • • • • • Kiểm thử phần mềm tự động với mục đích: Giảm bớt cơng sức thời gian thực q trình kiểm thử Tăng độ tin cậy Giảm nhàm chán cho người Rèn luyện kỹ lập trình cho kiểm thử viên Giảm chi phí cho tổng q trình kiểm thử Không đủ tài nguyên: số lượng tài ngun q nhiều mà kiểm thử viên khơng thể hồn tất thời gian cụ thể Kiểm tra hồi quy: nâng cấp phần mềm, kiểm tra lại tính chạy tốt tính sửa -> khó đảm bảo mặt thời gian Kiểm tra khả vận hành phần mềm môi trường đặc biệt: Đo tốc độ trung bình xử lí u cầu web server - Xác định số yêu cầu tối đa xử lý web server Xác định số cấu hình máy thấp mà phần mềm hoạt động tốt 1.2.4 Nguyên tắc kiểm thử tự động Thực sai lầm nghĩ tự động đơn giản chụp lại, ghi lại tiến trình kiếm thử thủ cơng Thực tế, kiểm thử tự động có điểm khác với kiểm thử 10 trường 4.Click “Thêm thí sinh mới” Post-conditions: Đăng nhập vào trang chủ Project Name: TestQuanLyTuyenSinh Test Case ID: TC_04 Test Priority : High Module Name: TestSua Test Title: Sửa thông tin thí sinh Description: Test chức sửa thơng tin thí sinh Pre-conditions: - Tạo project test Chọn Application file Mở Application QuanLyTuyenSinh Đăng nhập với chức quản trị viên Dependencies: Mở phần mềm quản lý tuyển sinh qua chức record TestComplete - St ep Teesst Stteepps Teesst Expected Actual Statu Data Result Result s 38 Notes (Pass / Fail) 1.Đăng nhập thành công vào ứng dụng tài khoản hợp lệ 2.Chọn thí sinh cần sửa click “Sửa” 3.Bỏ trống tất Hệ thống Hiển thị đưa thống báo thông báo “cần nhập “Cần nhập đầy đủ” thông tin Pass đầy đủ” trường 4.Click “Cập nhật” 1.Đăng nhập thành công vào ứng dụng tài khoản hợp lệ 2.Chọn thí sinh cần sửa click “Sửa” 3.Bỏ trống trường Hệ thống Hiển thị đưa thông báo “cần nhập thông báo “Cần nhập đầy đủ” thông tin Pass đầy đủ” 4.Click “Cập nhật” 39 1.Đăng nhập thành công vào ứng dụng tài khoản hợp lệ 2.Chọn thí sinh cần sửa click “Sửa” 3.Nhập thông tin trường 4.Click “Cập nhật” 1.Đăng nhập thành công vào ứng dụng tài khoản hợp lệ 2.Click “Sửa” Post-conditions: Đăng nhập vào trang chủ Project Name: TestQuanLyTuyenSinh Test Case ID: TC_05 Test Priority : High Module Name: TestXoaThiSinh Test Title: Xố thí sinh Description: Test chức xố thí sinh Pre-conditions: 40 - Tạo project test - Chọn Application file - Mở Application QuanLyTuyenSinh Đăng nhập với chức quản trị viên Dependencies: - Mở phần mềm quản lý tuyển sinh qua chức record TestComplete Ste p Teesst Stteepps 1.Đăng nhập thành công vào ứng dụng tài khoản hợp lệ 2.Chọn thí sinh cần sửa click “Xoá” 3.Click “Đồng ý” 1.Đăănng nhhậập thành công vào ứng dụng Post-conditions: Đăng nhập vào trang chủ 3.4 Thực test 3.4.1 Test Đăng nhập Hình 3.1 Test chức đăng nhập 3.4.2 Test Đăng ký 42 Hình 3.2 Test chức đăng ký 3.4.3 Test Đăng xuất Hình 3.3 Test chức đăng xuất 3.4.4 Test Thêm thí sinh 43 Hình 3.4 Test chức Thêm thí sinh 3.4.5 Test Sửa thơng tin thí sinh Hình 3.5 Test chức Sửa thơng tin thí sinh 3.4.6 Test Xố thí sinh 44 Hình 3.6 Test chức Xố thí sinh 3.4.7 Test Quản lý tài khoản Hình 3.7 Test chức Quản lý tài khoản 3.4.8 Test Xem mơn thi 45 Hình 3.8 Test chức Xem môn thi 3.5 Kết test project Hình 3.9 Kết Test chức đăng nhập 46 Hình 3.10 Kết Test chức đăng ký Hình 3.11 Kết Test chức đăng xuất 47 Hình 3.12 Kết Test chức Thêm thí sinh Hình 3.13 Kết Test chức sửa thơng tin thí sinh 48 = Hình 3.14 Kết Test chức xố thí sinh Hình 3.15 Kết Test chức quản lí tài khoản 49 Hình 3.16 Kết Test chức xem môn thi Đánh giá tổng quát: toàn test cases passed 3.6 Báo cáo dá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 50 ✔ ✔ 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ử ✔ Các trường hợp kiểm thử thành công khơng xảy lỗi Đánh giá q 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 51 TÀI LIỆU THAM KHẢO - Giáo trình Kiểm thử phần mềm TestComplete 15 Documentation | TestComplete Documentation (smartbear.com) - Các khái niệm kiểm thử: https://viblo.asia/p/cackhai-niem-co-ban-ve-kiem-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-congcu-duoc-su-dung-trong-kiem-thu-tu-dong-aWj531qbZ6m 52 ... 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... 1.3.1 Khái niệm kiểm thử thủ công Kiểm thử thủ công kiểm thử phần mềm cách thủ công (không sử dụng công cụ tự động đoạn mã nào) Với loại kiểm thử này, tester người sử dụng cuối kiểm tra phần mềm... để kiểm thử tay Kiểm thử đơn vị (Unit testing), Kiểm thử tích hợp (Integration testing), Kiểm thử hệ thống (System testing) Kiểm thử chấp nhận (User Acceptance testing) Bất kỳ ứng dụng phải kiểm