BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM BÁO CÁO ĐỒ ÁN MÔN HỌC KIỂM THỬ PHẦN MỀM WEBSITE QUẢN LÝ BÁN HÀNG Ngành CÔNG NGHỆ THÔNG TIN Môn học KIỂM THỬ PHẦN MỀM Người hướng dẫn ThS Dương Th[.]
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM BÁO CÁO ĐỒ ÁN MÔN HỌC KIỂM THỬ PHẦN MỀM WEBSITE QUẢN LÝ BÁN HÀNG Ngành : CƠNG NGHỆ THƠNG TIN Mơn học : KIỂM THỬ PHẦN MỀM Người hướng dẫn: ThS Dương Thành Phết TP Hồ Chí Minh, 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM BÁO CÁO ĐỒ ÁN MÔN HỌC KIỂM THỬ PHẦN MỀM WEBSITE QUẢN LÝ BÁN HÀNG Ngành : CƠNG NGHỆ THƠNG TIN Mơn học : KIỂM THỬ PHẦN MỀM Người hướng dẫn: ThS Dương Thành Phết TP Hồ Chí Minh, 2021 MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM .5 1.1 Các khái niệm kiểm thử phần mềm 1.1.1 Kiểm thử phần mềm gì? 1.1.2 Các phương pháp kiểm thử 1.1.3 Các chiến lược kiểm thử 1.1.4 Các cấp độ kiểm thử phần mềm .10 1.1.5 Các phương pháp kiểm thử người .15 1.2 Nguyên tắc kiểm thử phần mềm 16 CHƯƠNG 2: THIẾT KẾ TEST-CASE 18 2.1 Khái niệm 18 2.2 Vai trò thiết kế test-case 18 2.3 Quy trình thiết kế test-case 18 2.3.1 Kiểm thử hộp trắng 19 2.3.2 Kiểm thử hộp đen .27 2.3.3 Chiến lược 36 CHƯƠNG 3: TIẾN HÀNH KIỂM THỬ 38 3.1 Đặc tả 38 3.2 Thiết kế Testcase .39 3.2.1 Chức đăng kí 39 3.2.2 Chức đăng nhập: 41 3.2.3 Chức thêm sản phẩm phía Admin: .43 3.2.4 Chức thêm sản phẩm .45 CHƯƠNG 4: KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 LỜI NĨI ĐẦU Trong thời đại cơng nghệ 4.0 nay, internet trở thành phần tất yếu sống Hầu hết đưa định cách tìm kiếm thơng tin website Do đó, việc sở hữu trang web khơng cịn tùy chọn mà bắt buộc hầu hết loại hình doanh nghiệp Đây bước đầu để đưa sản phẩm tiếp cận tới thị trường Một trang web đơn chưa đủ, trang web có nhiều thông tin, dễ truy cập thân thiện với người dùng tất doanh nghiệp cần Để trì điều đó, trang web cần kiểm tra cách tốt Hôm tìm hiểu Do Kiểm thử website nhằm kiểm tra phát lỗi tiềm ẩn từ trang web ứng dụng website Một hệ thống dựa website cần phải kiểm tra hoàn chỉnh từ đầu đến cuối trước hệ thống tới tay người dùng cuối (Enduser) Bằng cách kiểm thử website, tổ chức / doanh nghiệp đảm bảo hệ thống website hoạt động chấp nhận người dùng thực website Tuy nhiên phần mềm ngày lớn, hàng nghìn module, cơng ty hàng nghìn người phát triển để kiểm thử phần mềm lớn tốn nhiều công sức thời gian làm thủ công, chưa kể đến chất lượng kiểm thử không cao va thật xác phù hợp cho yêu cầu Theo nhiều tính tốn cơng việc kiểm thử đóng vai trị quan trọng quy trình phát triển phần mềm, đóng góp tới 40% tổng tồn chi phí cho việc sản xuất phần mềm Vì cần có hệ thống kiểm thử phần mềm cách tự động cho phép ta thực cơng việc cách nhanh chóng độ an tồn, xác cao Đó lý thúc đẩy em thực đề tài “Kiểm Thử website Quản Lý Bán Hàng” với hướng dẫn thầy Dương Thành Phết.Việc thực đề tài giúp em tìm hiểu sâu vận dụng kiến thức học để thiết kế test – case cách có hiệu áp dụng vào toán thực tế CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Các khái niệm 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 trình kiểm tra để phát lỗi phần mềm, ứng dụng nhằm cung cấp cho khách hàng, lập trình viên… thơng tin chất lượng phần mềm kiểm thử Mục đích cuối cơng việc để đảm bảo sản phẩm (phần mềm, ứng dụng) tạo theo mong muốn khách hàng hoạt động hiệu Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác Có thể định nghĩa cách dễ hiểu sau: Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo mã hóa máy tính thực theo mà chúng thiết kế để làm, khơng thực thứ không mong muốn Đây pha quan trọng trình phát triển hệ thống, giúp cho người xây dựng hệ thống khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa? 1.1.2 Các phương pháp kiểm thử Có phương pháp kiểm thử là: Kiểm thử tĩnh kiểm thử động 1.1.2.1 Kiểm thử tĩnh – Static testing Kiểm thử tĩnh hình thức kiểm thử phần mềm mà không thực phần mềm Điều ngược với thử nghiệm động Thường khơng kiểm thử chi tiết mà chủ yếu kiểm tra tính đắn code (mã lệnh), thuật toán hay tài liệu Chủ yếu kiểm tra cú pháp code và/hoặc review code (kiểm tra xem code có viết theo tiêu chuẩn code Ví dụ cách đặt tên hàm tên biến, cách sử dụng hàm chung đưa hay chưa) tài liệu để tìm lỗi cách thủ cơng Đây loại kiểm thử thực DEV (những người lập trình), làm việc cách độc lập Lỗi phát giai đoạn phát triển tốn để sửa chữa so với lỗi phát giai đoạn sau quy trình phát triển phần mềm 1.1.2.2 Kiểm thử động – Dynamic testing Kiểm thử tự động kỹ thuật sử dụng ứng dụng để thực tồn vịng đời phần mềm thời gian ngắn sử dụng nhiều lần cho test hồi quy Kiểm thử tự động kỹ thuật tự động hóa, người kiểm thử tự viết tập lệnh sử dụng phần mềm phù hợp để kiểm thử phần mềm Về q trình tự động hóa quy trình thủ cơng Giống kiểm thử hồi quy, kiểm thử tự động sử dụng để kiểm tra ứng dụng theo quan điểm load, performance stress test Nói cách khác, kiểm thử tự động sử dụng cơng cụ tự động hóa để viết thực test case, không cần tham gia thủ công thực test suite Thông thường, người kiểm thử viết test script test case cách sử dụng cơng cụ tự động hóa sau nhóm thành test suite 1.1.3 Các chiến lược kiểm thử Ba số chiến lược kiểm thử thông dụng bao gồm: Kiểm thử hộp đen, Kiểm thử hộp trắng, Kiểm thử hộp xám 1.1.3.1 Kiểm thử hộp đen – Black box testing Kiểm thử hộp đen phương pháp kiểm thử mà tester không cần quan tâm đến hoạt động bên hệ thống chạy sao, không cần quan tâm đến dòng lệnh bên hệ thống hệ thống mà cần tập trung vào giá trị đầu vào giá trị đầu hệ thống có với kết mong đợi trường hợp kiểm thử khơng để từ đánh giá chất lượng hệ thống.Theo hướng tiếp cận này, liệu kiểm tra lấy từ đặc tả Các phương pháp kiểm thử hộp đen: • Phân lớp tương đương – Equivalence partitioning • Phân tích giá trị biên – Boundary value analysis • Kiểm thử cặp – All-pairs testing • Kiểm thử fuzz – Fuzz testing • Kiểm thử dựa mơ hình – Model-based testing • Ma trận dấu vết – Traceability matrix • Kiểm thử thăm dị – Exploratory testing • Kiểm thử dựa đặc tả – Specification-base testing Kiểm thử dựa đặc tả tập trung vào kiểm tra tính thiết thực phần mềm theo yêu cầu thích hợp Do đó, kiểm thử viên nhập liệu vào, thấy liệu từ đối tượng kiểm thử Mức kiểm thử thường yêu cầu ca kiểm thử triệt để cung cấp cho kiểm thử viên mà xác minh liệu đầu vào cho, giá trị đầu (hay cách thức hoạt động) có giống với giá trị mong muốn xác định ca kiểm thử hay khơng Kiểm thử dựa đặc tả cần thiết, không đủ để để ngăn chặn rủi ro chắn Ưu điểm: - Rất phù hợp hiệu mà số lượng dòng lệnh hệ thống lớn - Không cần truy cập vào dòng lệnh - Phân biệt rõ ràng quan điểm người dùng với quan điểm nhà phát triển - Khơng cần địi hỏi kiến thức ngơn ngữ lập trình tester để kiểm thử hệ thống Nhược điểm: - Bị giới hạn độ bao phủ trường hợp kiểm thử - Sẽ không hiệu thực tế tester bị giới hạn kiến thức hệ thống - Độ bao phủ bị thiếu tester khơng kiểm tra đoạn lệnh hệ thống tập trung vào dòng lệnh dễ xảy lỗi - Sẽ khó để thiết kế đầy đủ trường hợp kiểm thử 1.1.3.2 Kiểm thử hộp trắng – White box testing Kiểm thử hộp trắng việc nghiên cứu cụ thể chi tiết luồng hoạt động dòng lệnh bên hệ thống Kiểm thử hộp trắng gọi tên khác như: Glass testing hay open-box testing Kiểm thử hộp trắng địi hỏi tester phải có kiến thức ngơn ngữ lập trình Tester cần phải nghiên cứu vào bên thống cụ thể dòng lệnh để tìm hiểu chúng có chạy hay khơng Các phương pháp kiểm thử hộp trắng: • Kiểm thử giao diện lập trình ứng dụng - API testing (application programming interface): phương pháp kiểm thử ứng dụng sử dụng API cơng khai riêng tư • Bao phủ mã lệnh – Code coverage: tạo kiểm tra để đáp ứng số tiêu chuẩn bao phủ mã lệnh • Các phương pháp gán lỗi – Fault injection • Các phương pháp kiểm thử hốn chuyển – Mutation testing methods • Kiểm thử tĩnh – Static testing: kiểm thử hộp trắng bao gồm kiểm thử tĩnh Phương pháp kiểm thử hộp trắng sử dụng để đánh giá hoàn thành kiểm thử mà tạo với phương pháp kiểm thử hộp đen Điều cho phép nhóm phần mềm khảo sát phần hệ thống kiểm tra đảm bảo điểm chức quan trọng kiểm tra Ưu điểm: - Đối với tester có kiến thức ngơn ngữ lập trình dễ dàng để phát lỗi dòng lệnh - Giúp tối ưu hóa dịng lệnh hệ thống - Các dịng lệnh khơng cần thiết dịng lệnh có khả mang đến lỗi tiềm ẩn bị loại bỏ - Các tester có kiến thức ngơn ngữ lập trình sau thực phương pháp dễ dàng đạt độ bao phủ lớn thực thiết kế trường hợp kiểm thử sau Nhược điểm: - Trên thực tế việc sử dụng tester có kiến thức ngơn ngữ lập trình làm gia tăng giá thành để phát triển phần mềm - Đôi lúc không khả thi kiểm tra chi tiết dịng lệnh để từ phát lỗi tiềm ẩn hệ thống, có nhiều luồng khơng thể kiểm tra - Rất khó để trì phương pháp liên tục, cần phải có tool chuyên biệt tool phân tích code hay tool phát lỗi sửa lỗi 1.1.3.3 Kiểm thử hộp xám – Gray box testing Kiểm thử hộp xám phương pháp kiểm thử mà địi hỏi tester phải có lượng kiến thức định luồng hoạt động bên hệ thống Khác với kiểm thử hộp đen, phương pháp mà tester quan tâm để việc kiểm thử thông qua giao diện người dùng, kiểm thử hộp xám đòi hỏi tester phải truy cập vào tài liệu thiết kế hệ thống hệ thống sở liệu hệ thống Do mà tester chuẩn bị tốt liệu cho việc kiểm thử trường hợp kiểm thử trình lên kế hoạch kiểm thử hệ thống Ưu điểm: - Vì kết hợp kiểm thử hộp trắng kiểm thử hộp đen nên có ưu điểm hai phương pháp - Các tester sử dụng phương pháp không dựa vào dòng lệnh hệ thống mà chủ yếu dựa tài liệu định nghĩa giao diện tài liệu đặc tả chức - Trong phương pháp tester thiết kế nên trường hợp kiểm thử đặc biệt xung quanh giao thức kết nối loại liệu khác - Việc kiểm thử hoàn thành từ góc nhìn người dùng khơng phải từ nhà thiết kế Nhược điểm: - Vì phương pháp không dựa việc truy cập code hệ thống nên không tránh việc độ bao phủ trường hợp kiểm thử bị giới hạn - Khi sử dụng phương pháp nhiều trường hợp kiểm thử bị dư thừa mà nhà thiết kế phần mềm chạy trường hợp kiểm thử trước - Việc kiểm tra tất luồng đầu vào hệ thống thực bị giới hạn mặt thời gian kiểm thử dẫn đến có nhiều luồng hoạt động hệ thống không kiểm tra 1.1.4 Các cấp độ kiểm thử phần mềm Kiểm thử phần mềm gồm có cấp độ: 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 sản phẩm Hình 1.1 Sơ đồ cấp độ kiểm thử 10 ... TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Các khái niệm 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 trình kiểm tra để phát lỗi phần mềm, ứng dụng nhằm cung cấp cho khách hàng, lập trình... gian kiểm thử dẫn đến có nhiều luồng hoạt động hệ thống không kiểm tra 1.1.4 Các cấp độ kiểm thử phần mềm Kiểm thử phần mềm gồm có cấp độ: Kiểm thử đơn vị, Kiểm thử tích hợp, Kiểm thử hệ thống Kiểm. .. lược kiểm thử Ba số chiến lược kiểm thử thông dụng bao gồm: Kiểm thử hộp đen, Kiểm thử hộp trắng, Kiểm thử hộp xám 1.1.3.1 Kiểm thử hộp đen – Black box testing Kiểm thử hộp đen phương pháp kiểm thử