Tài liệu báo cáo tiểu luận môn Kiểm Thử Phần Mềm, tài liệu này sẽ giúp các bạn đang học môn Kiểm Thử tham khảo và viết báo cáo, bài này nhóm mình đã dùng phương pháp kiểm thử bằng bảng quyết định để kiểm thử website. Chúc các bạn đạt điểm cao môn học này.
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC KIỂM THỬ PHẦN MỀM Đề tài: TÌM HIỂU VỀ CÔNG CỤ KIỂM THỬ KATALON VÀ KIỂM THỬ WEBSITE HACOM.VN Giảng viên hướng dẫn: Sinh viên thực hiện: Lớp : ThS Nguyễn Lan Oanh Mẫn Xuân Tuấn Anh Đàm Văn Thắng Ngơ Duy Khánh Hồng Tùng Dương Đỗ Văn Cơng Nguyễn Tiến Đạt CNTT K18G MỤC LỤC MỤC LỤC CHƯƠNG I: Tổng quan lý thuyết kiểm thử phần mềm .6 1.1 Các thuật ngữ định nghĩa kiểm thử 1.2 Ca kiểm thử 10 1.3 Mô tả toán kiểm thử qua biểu đồ Venn 12 1.4 Việc xác định ca kiểm thử 14 1.4.1 Kiểm thử hàm .14 1.4.2 Kiểm thử cấu trúc .15 1.5 Phân loại lỗi sai 16 1.6 Các mức kiểm thử 17 1.7 Kiểm thử bảng định 20 1.8 Kiểm thử phi chức .24 1.8.1 Kiểm thử phi chức .24 1.8.2 Kiểm thử hiệu 24 CHƯƠNG II: Lập kế hoạch test 25 2.1 Giới thiệu tổng quan 25 2.2 Phạm vi: 25 2.3 Nhân sự: .25 CHƯƠNG III Giới thiệu công cụ kiểm thử tự động .27 3.1 Công cụ kiểm thử tự động Katalon .27 3.1.1 Giới thiệu kiểm thử tự động .27 3.1.2 Tổng quan lịch sử đời công cụ .27 3.1.3 Tính 27 3.1.4 Ưu, nhược điểm 28 3.1.5 Hướng dẫn cài đặt, hướng dẫn sử dụng công cụ 28 3.1.6 So sánh với công cụ khác 38 3.2 Công cụ JMeter 40 3.2.1 Tổng quan Jmeter 40 3.1.2 Tính Jmeter 41 3.1.3 Ưu nhược điểm Jmeter .42 3.1.4 So sánh Apache JMeter với với Load Runner 44 CHƯƠNG IV Giới thiệu website hacom.vn 45 4.1 Mô tả chung sản phẩm phần mềm .45 4.2 Đặc tả chức .45 4.3 Demo giao diện 46 CHƯƠNG V: Báo cáo kết buổi test tổng thể 51 5.1 Thiết kế test case 51 5.1.1 Chức đăng ký .51 5.1.2 Chức xây dựng tản nhiệt 55 5.1.3 Chức xây dựng cấu hình 59 5.1.4 Chức đặt hàng 65 5.1.5 Chức tìm kiếm 71 5.1.6 Chức tìm kiếm có sử dụng lọc 73 5.1.7 Chức tìm kiếm cửa hàng gần 78 CHƯƠNG VI: Kiểm thử phi chức 80 Các số sau kiểm thử nhận xét 80 Kết luận 82 Tài liệu tham khảo .83 Bảng phân công công việc Công việc Họ tên Mẫn Xuân Tuấn Anh Thiết kế test case Xây dựng kịch kiểm thử chức xây dựng tản nhiệt Đàm Văn Thắng Thiết kế test case Xây dựng kịch kiểm thử chức đăng ký Tổng hợp nội dung làm báo cáo word Ngô Duy Khánh Thiết kế test case Xây dựng kịch kiểm thử chức tìm kiếm Hồng Tùng Dương Thiết kế test case Xây dựng kịch kiểm thử chức đặt hàng Thiết kế test case Xây dựng kịch kiểm thử chức xây dựng cấu hình Đỗ Văn Công Thiết kế test case Thực kiểm thử phi chức Thiết kế slide thuyết trình Nguyễn Tiến Đạt CHƯƠNG I: Tổng quan lý thuyết kiểm thử phần mềm 1.1 Các thuật ngữ định nghĩa kiểm thử Kỹ nghệ kiểm thử phát triển tiến hoá hàng chục năm nên thuật ngữ tài liệu khác thường khơng thống thiếu tương thích Các thuật ngữ trình bày sách dựa vào thuật ngữ chuẩn phát triển IEEE (Viện Kỹ nghệ điện điện tử) với việc chọn lọc cẩn thận thuật ngữ tiếng Việt tương ứng Lỗi (Error): Lỗi vấn đề mà người mắc phải trình phát triển sản phẩm phần mềm Trong thực tế, người ln phạm lỗi Khi lập trình viên phạm lỗi lập trình, ta gọi lỗi bug (con bọ) Lỗi phát tán Chẳng hạn, lỗi xác định yêu cầu dẫn đến sai lầm thiết kế sai lập trình theo thiết kế Lỗi nguyên nhân dẫn đến sai Sai (Fault): Sai kết lỗi, hay nói khác đi, lỗi dẫn đến sai Cũng nói sai biểu diễn lỗi dạng biểu thức, chẳng hạn chương trình, văn bản, sơ đồ dịng liệu, biểu đồ lớp, Sai lầm khó bị phát Khi nhà thiết kế mắc lỗi bỏ sót q trình thiết kế, sai kết từ lỗi thiếu mà lẽ cần phải có Sai nhiệm vụ xuất vào sai thơng tin, cịn sai bỏ qn xuất không vào đủ thông tin Loại sai thứ hai khó phát khó sửa loại sai thứ Thất bại (Failure): Thất bại xuất lỗi thực thi Có hai điều cần lưu ý Một thất bại xuất dạng chạy mà thơng thường mã nguồn Hai thất bại liên kết với lỗi nhiệm vụ Còn thất bại tương ứng với lỗi bỏ quên xử lý nào? Những lỗi không tiến hành, không tiến hành khoảng thời gian dài cần xử lý nào? Virus Michaelangelo ví dụ lỗi loại Nó tiến hành vào ngày sinh Michaelangelo, tức ngày 6/3 mà thơi Việc khảo sát ngăn chặn nhiều thất bại cách tìm lỗi thuộc hai loại Sự cố (Incident): Khi thất bại xuất hiện, hiển thị khơng, tức rõ ràng không rõ ràng người dùng người kiểm thử Sự cố triệu chứng liên kết với thất bại thể cho người dùng người kiểm thử xuất thất bại Yêu cầu khách hàng đặc tả phần mềm: Phần mềm viết để thực nhu cầu khách hàng Các nhu cầu khách hàng thu thập, phân tích khảo cứu sở để định xác đặc trưng cần thiết mà sản phẩm phần mềm cần phải có Dựa yêu cầu khách hàng yêu cầu bắt buộc khác, đặc tả xây dựng để mơ tả xác yêu cầu mà sản phẩm phần mềm cần đáp ứng, có giao diện Tài liệu đặc tả sở để đội ngũ phát triển phần mềm xây dựng sản phẩm phần mềm Khi nói đến thất bại nói đến việc sản phẩm phần mềm không hoạt động đặc tả Lỗi tiến hành dẫn đến thất bại Do đó, lỗi bỏ quên coi tương ứng với lỗi xây dựng đặc tả Kiểm chứng thẩm định: Kiểm chứng (verification) thẩm định (validation) hay dùng lẫn lộn, thực chúng có ý nghĩa khác Kiểm chứng q trình để đảm bảo sản phẩm phần mềm thỏa mãn đặc tả Cịn thẩm định q trình để đảm bảo sản phẩm đáp ứng yêu cầu người dùng (khách hàng) Trong thực tế, cần thực kiểm chứng trước thực việc thẩm định sản phẩm phần mềm Vì vậy, có thuật ngữ V&V (Verification & Validation) Lý việc cần đảm bảo sản phẩm với đặc tả trước Nếu thực việc thẩm định trước, phát lỗi, xác định lỗi đặc tả sai hay lập trình sai so với đặc tả Chất lượng độ tin cậy phần mềm: Theo từ điển, chất lượng sản phẩm thể đặc trưng phù hợp với đặc tả Theo cách hiểu này, chất lượng sản phẩm phần mềm đáp ứng yêu cầu chức (tức hàm cần tính tốn), hồn thiện chuẩn đặc tả, đặc trưng mong chờ từ sản phẩm phần mềm chuyên nghiệp Chất lượng phần mềm đặc trưng cho “độ tốt, độ tuyệt hảo” phần mềm, gồm có yếu tố chất lượng như: tính đắn (hành vi đặc tả), tính hiệu (tiết kiệm thời gian tiền bạc), độ tin cậy, tính khả kiểm thử (kiểm thử dễ), dễ học, dễ sử dụng, dễ bảo trì Như vậy, độ tin cậy yếu tố để đánh giá chất lượng phầm mềm Người kiểm thử hay nhầm lẫn độ tin cậy với chất lượng Khi kiểm thử đạt tới mức phần mềm chạy ổn định, phụ thuộc vào nó, người kiểm thử thường cho phần mềm đạt chất lượng cao Các yếu tố mặt chất lượng mà liên quan trực tiếp đến việc phát triển phần mềm gọi tiêu chuẩn chất lượng tính có cấu trúc, tính đơn thể, tính khả kiểm thử, Độ tin cậy phần mềm xác suất để phần mềm chạy khơng có thất bại khoảng thời gian định Nó xem yếu tố quan trọng chất lượng phần mềm Ngồi ra, thời gian trung bình cho việc khắc phục cố thông số quan trọng việc đánh giá độ tin cậy sản phẩm phần mềm Kiểm thử: Rõ ràng việc kiểm thử liên quan đến khái niệm trên: lỗi, sai, thất bại cố Có hai mục đích phép thử: tìm thất bại chứng tỏ việc tiến hành phần mềm đắn Vai trò kiểm thử phần mềm: Kiểm thử phần mềm đóng vai trò quan trọng việc đánh giá thu chất lượng cao sản phẩm phần mềm trình phát triển Thơng qua chu trình “kiểm thử - tìm lỗi - sửa lỗi”, ta hy vọng chất lượng sản phẩm phần mềm cải tiến Mặt khác, thông qua việc tiến hành kiểm thử mức hệ thống trước cho lưu hành sản phẩm, ta biết sản phẩm ta tốt mức Vì thế, nhiều tác giả mô tả việc kiểm thử phần mềm quy trình kiểm chứng để đánh giá tăng cường chất lượng sản phẩm phần mềm Quy trình gồm hai cơng việc phân tích tĩnh phân tích động Phân tích tĩnh: Việc phân tích tĩnh tiến hành dựa việc khảo sát tài liệu xây dựng trình phát triển sản phẩm tài liệu đặc tả nhu cầu người dùng, mơ hình phần mềm, hồ sơ thiết kế mã nguồn phần mềm Các phương pháp phân tích tĩnh truyền thống bao gồm việc khảo sát đặc tả mã nguồn tài liệu thiết kế Các kỹ thuật khảo sát giới thiệu chương Người ta dùng kỹ thuật phân tích hình thức kiểm chứng mơ hình (model checking) chứng minh định lý (theorem proving) để chứng minh tính đắn thiết kế mã nguồn Các kỹ thuật tương đối phức tạp nằm ngồi khn khổ giáo trình Cơng việc khơng động đến việc thực thi chương trình mà duyệt, lý giải tất hành vi chương trình thực thi Tối ưu hóa chương trình dịch ví dụ phân tích tĩnh Phân tích động: Phân tích động liên quan đến việc thực thi chương trình để phát thất bại có chương trình, quan sát tính chất hành vi hiệu (performance) Vì gần khơng thể thực thi chương trình tất liệu đầu vào có thể, ta chọn tập liệu đầu vào để thực thi, gọi “ca kiểm thử” Chọn để liệu đầu vào hiệu (tức liệu có xác suất phát thất bại (nếu có) cao công việc cần suy nghĩ nội dung giáo trình Bằng việc phân tích tĩnh động, người kiểm thử muốn phát nhiều lỗi để chúng sửa giai đoạn sớm trình phát triển phần mềm Phân tích tĩnh động hai kỹ thuật bổ sung cho cần làm lặp lặp lại nhiều trình kiểm thử Ca kiểm thử: Mỗi ca kiểm thử có tên liên kết với hành vi chương trình Ca kiểm thử gồm tập liệu đầu vào xâu giá trị đầu mong đợi phần mềm Hình 1.1: Một vịng đời việc kiểm thử Hình 1.1 mơ tả vịng đời việc kiểm thử ứng với mơ hình thác nước Lưu ý giai đoạn phát triển phần mềm, lỗi đưa vào gia đoạn đặc tả yêu cầu, thiết kế lập trình Các lỗi tạo sai lan truyền sang phần lại trình phát triển Một nhà kiểm thử lỗi lạc tóm tắt vịng đời sau: Ba giai đoạn đầu “đưa lỗi vào”, giai đoạn kiểm thử để tìm lỗi, ba giai đoạn cuối “khữ lỗi đi” [Pos90] Bước sửa sai hội cho việc đưa vào lỗi (và sai mới) Vì vậy, việc sửa sai làm cho phần mềm từ trở thành sai Trong trường hợp này, việc sửa sai không đầy đủ Kiểm thử hồi quy giải pháp tốt để giải vấn đề Các thuật ngữ cho thấy ca kiểm thử chiếm vị trí trung tâm việc kiểm thử dựa phân tích động Q trình kiểm thử dựa phân tích động chia thành buớc sau: lập kế hoạch kiểm thử, phát triển ca kiểm thử, chạy ca kiểm thử đánh giá kết kiểm thử Tiêu điểm giáo trình việc xác định tập hữu ích ca kiểm thử, tức ca kiểm thứ giúp ta cải tiến tốt chất lượng sản phẩm 1.2 Ca kiểm thử Cốt lõi kiểm thử phần mềm dựa phân tích động việc xác định tập ca kiểm thử cho chúng có khả phát nhiều lỗi (có thể có) hệ thống cần kiểm thử Vậy cần đưa vào ca kiểm thử? Rõ ràng thông tin đầu vào Đầu vào có hai kiểu: tiền điều kiện (pre-condition) - tức điều kiện cần thỏa mãn trước tiến hành ca kiểm thử - liệu đầu vào thực xác định phương pháp kiểm thử Thông tin cần đưa vào đầu mong đợi Cũng có hai loại đầu ra: hậu điều kiện (postcondition) liệu đầu thực Phần đầu ca kiểm thử thường hay bị bỏ qn phần khó xác định Giả sử ta cần kiểm thử phần mềm tìm đường tối ưu cho máy bay cho trước ràng buộc hành lang bay liệu thời tiết ngày chuyến bay Đường tối ưu máy bay thực gì? Có nhiều câu trả lời cho câu hỏi Câu trả lời lý thuyết giả thiết tồn đũa thần (oracle) biết tất câu trả lời Câu trả lời thực tế, gọi kiểm thử tham chiếu, hệ thống kiểm thử giám sát chuyên gia lĩnh vực ứng dụng phần mềm, người phán xét xem liệu liệu đầu việc tiến hành liệu đầu vào ca kiểm thử có chấp nhận hay không Hoạt động kiểm thử dẫn đến việc thiết lập tiền điều kiện cần thiết, việc cung cấp ca kiểm thử, quan sát liệu đầu so sánh chúng với đầu mong đợi để xác định phát lỗi/khiếm khuyết (có thể có) sản phẩm phần mềm Hình 1.2 mơ tả thông tin ca kiểm thử phát triển đầy đủ, chủ yếu để trợ giúp việc quản lý Các ca kiểm thử cần phải định danh tên/chỉ số lý tồn (chẳng hạn đặc tả nhu cầu tương ứng lý do) Cũng nên bổ sung thêm lịch sử tiến hành ca kiểm Hình 1.2: Thơng tin ca kiểm thử tiêu biểu thử bao gồm việc chúng thực nào, kết 10 ... Với cách tiếp cận kiểm thử hàm, để xác định ca kiểm thử, thông tin dùng đặc tả phần mềm cần kiểm thử Điểm ca kiểm thử sinh cách tiếp cận kiểm thử hàm: chúng độc lập với việc phần mềm cài đặt nào,... phẩm phần mềm Kiểm thử: Rõ ràng việc kiểm thử liên quan đến khái niệm trên: lỗi, sai, thất bại cố Có hai mục đích phép thử: tìm thất bại chứng tỏ việc tiến hành phần mềm đắn Vai trò kiểm thử phần. .. phẩm 1.2 Ca kiểm thử Cốt lõi kiểm thử phần mềm dựa phân tích động việc xác định tập ca kiểm thử cho chúng có khả phát nhiều lỗi (có thể có) hệ thống cần kiểm thử Vậy cần đưa vào ca kiểm thử? Rõ ràng