Introduction to SE COMP1026 – Introduction to Software Engneering CH6 1 HIENLTH Chủ đề 6 Kiểm thử Phần mềm Verification, Validation and Testing COMP1026 – Introduction to Software Engneering CH6 2 Tài[.]
Verification, Validation and Testing Chủ đề 6: Kiểm thử Phần mềm COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Tài liệu – Textbook • Pressman, Kỹ nghệ phần mềm, chương 18~19 • Sommerville: Software Engineering, chương 22~23 COMP1026 – Introduction to Software Engneering CH6 - References Bài giảng tham khảo từ nguồn sau: • Slide giảng CNPM, Trần Ngọc Bảo, ĐH Sư phạm TpHCM • Slide giảng CNPM, Trần Anh Dũng, ĐH CNTT, ĐHQG TpHCM • Slide giảng Kỹ nghệ Phần mềm, Nguyễn Văn Vỵ, ĐH Công nghệ, ĐHQG Hà Nội COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Giai đoạn kiểm tra Khảo sát • Kiểm lỗi • Kiểm lỗi phân hệ Phân tích • Kiểm lỗi hệ thống Thiết kế Nội dung: Cài đặt • Roadmap Kết quả: • Test plan Kiểm tra • Test case Triển khai • Bug • Test report COMP1026 – Introduction to Software Engneering Bảo trì CH6 - HIENLTH Mục tiêu • Biết quy trình kiểm thử phần mềm • Biết khái niệm liên quan đến kiểm thử (testing) • Biết bước kiểm thử • Biết sử dụng số cơng cụ hỗ trợ testing • Biết viết sưu liệu kiểm thử COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Nội dung • Khái niệm kiểm thử phần mềm • Một số đặc điểm kiểm thử phần mềm • Tại kiểm thử lại cần thiết? • Qui trình kiểm thử • Tổ chức vai trị thành viên nhóm test • Công cụ hỗ trợ test: • Công cụ theo dõi q trình test • Cơng cụ hỗ trợ test tự động • Sưu liệu kiểm thử: Test plan, test case, test log, test report,… COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Khái niệm kiểm thử phần mềm • Kiểm thử gì? A person makes an error … that creates a fault (bug, defect) in the software … that can cause a failure in operation COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Khái niệm kiểm thử phần mềm • Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi Glen Myers, 1979 Khẳng định chất lượng phần mềm xây dựng Hetzel, 1988 COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Một số đặc điểm kiểm thử PM • Kiểm thử phần mềm giúp tìm diện lỗi vắng mặt lỗi Dijkstra • Mọi phương pháp dùng để ngăn ngừa tìm lỗi sót lại lỗi khó phát Beizer • Điều xảy việc kiểm thử khơng tìm lỗi phần mềm phát q lỗi • Phần mềm có chất lượng q tốt • Quy trình/Đội ngũ kiểm thử hoạt động không hiệu COMP1026 – Introduction to Software Engneering CH6 - HIENLTH Tại kiểm thử lại cần thiết? • Thơng thường phần mềm khơng hoạt động mong muốn lãng phí tiền bạc, thời gian, uy tín doanh nghiệp, chí gây nên thương tích hay chết • Ví dụ: • Website cơng ty có nhiều lỗi tả câu chữ Khách hàng lãng tránh cơng ty với lý cơng ty trơng khơng chun nghiệp • Một phần mềm tính tốn lượng thuốc trừ sâu dùng cho trồng, lý tính sai số lượng lên gấp 10 lần Nơng dân phải bỏ nhiều tiền mua, trồng hư hại, môi trường sống, nguồn nước bị ảnh hưởng,… COMP1026 – Introduction to Software Engneering CH6 - 10 HIENLTH CÁC HOẠT ĐỘNG KIỂM THỬ Bắt đầu Lập kế hoạch Lập kế hoạch Test Thiết kế Test Chuẩn bị Cài đặt chuẩn bị Test Test tích hợp Test Test hệ thống Xem xét Đánh giá kết test Phân tích kết Tổng hợp, báo cáo Kết thúc COMP1026 – Introduction to Software Engneering CH6 - 95 HIENLTH CÁC HOẠT ĐỘNG KIỂM THỬ Bắt đầu Test case Test procedure Lập kế hoạch Test Kế hoạch test Thiết kế Test Cài đặt chuẩn bị Test Lỗi Biên test Test tích hợp Test hệ thống Xem xét Đánh giá kết test Tổng hợp, báo cáo Test scrip Test data Môi trường Bcáo KQ test Đề xuất Bcáo tổng hợp test Hồ sơ Kết thúc COMP1026 – Introduction to Software Engneering CH6 - 96 HIENLTH CÁC HOẠT ĐỘNG KIỂM THỬ Bắt đầu Definition Lập kế hoạch Test Solution Initiation (khởi động) Xác định yêu cầu Thiết kế kiến trúc Thiết kế Test Construction Cài đặt chuẩn bị Test Construction Lập trình Thử nghiệm Test tích hợp Test hệ thống Xem xét Đánh giá kết test Definition (Xác định yêu cầu) Solution (Thiết kế kiến trúc) Construction (Xây dựng) Coding (lập trình) Testing (thử nghiệm) Tổng hợp, báo cáo Kết thúc Transition (Triển khai) Termination (Kết thúc) COMP1026 – Introduction to Software Engneering CH6 - 97 HIENLTH CÁC HOẠT ĐỘNG - Lập kế hoạch test Xác định yêu cầu cho test Đánh giá rủi ro lập mức ưu tiên cho yêu cầu • • Xác lập chiến lược test • Xác định nguồn lực mơi trường Lập lịch trình test • Dựa sản phẩm phân tích Các u cầu • testXác định: test gì? TN Test, • Xác định: giới hạn côngCBT việc, thời nguồn Các rủi ro liên gian, quan đến test lực TN Test Phương thức thực Các yêu cầu test xác định Tiêu hoàn thành việc test, mức chuẩn độ ưu tiên đánh giá chất lượng sản phẩm Phương thức thực TN Test Các yếu tố cần ý Tiêu chuẩn đánh giá • yếuSố Các tốngười, cần chúkỹ ý • Mơi trường test: phần mềm, cứng… Các lựccụ test TN Test • nguồn Cơng • Dữ liệu test Lịch trình test TN Test Tổng hợp thơng tin, lập KH test Kế• hoạch Xáctest định nguồn lực Xem xét thông qua KH test Lịchtest trình testphê duyệt Kế• hoạch • Các mốc COMP1026 – Introduction to Software Engneering CH6 - 98 TN Test QTDA HIENLTH CÁC HOẠT ĐỘNG - thiết kế test • Lập danh sách loại test, đảm bảo cho việc xác lập tính đắn & thỏa mãn yêu cầu sản phẩm Dựa sản phẩm của: • Phân tích • bước lập KH test • Xác định test case Danh sách loại test TN Test, • Mơ tả test case: vào, ra, điều kiện CBT Xây dựng tình test (test case) Thiết kế test, mẫu mã sử dụng, yêu cầu liệu test Xây dựng tổ chức thủ tục test (test procedure) Các thủ tục test Xem xét tình test thủ tục test, đánh giá tỷ lệ yêu cầu khách hàng (hoặc tình sử dụng) test dựa thiết kế test lập Thông qua thiết kế Test TN Test, CBT TN Test, CBT • Dựa vào: test case Biên xem QTDA, • xét Xác định test procedure thứ lập tự • Xác lập mối quanCán hệ trìnhvới • Các test procedure • Các test procedure - Test cases Thiết kế test thông qua COMP1026 – Introduction to Software Engneering CH6 - 99 QTDA HIENLTH CÁC HOẠT ĐỘNG - Cài đặt chuẩn bị test Test script • Các lệnh dùng để tự động hoá thủ tục test • Lập trình, sử dụng cơng cụ test tự động 1.Lập test script để thực Test scipts tình test/thủ tục test (nếu cần) TN Test/ CBT Chuẩn bị liệu test Dữ liệu test CBT Chuẩn bị môi trường Môi trường sẵn sàng cho việc thực test CBT Kiểm tra công cụ test Biên kiểm tra công cụ test CBT Xem xét môi trường, điều kiện Môi trường liệu test kiểm tra liệu test COMP1026 – Introduction to Software Engneering CH6 - 100 TN Test/ CBT HIENLTH CÁC HOẠT ĐỘNG - test tích hợp • • • Tài liệu Gói phần mềm … Nhận bàn giao với đội lập trình kế test Các sản phẩm cần• testDựa đượctrên thiếtCBT tiếp nhận • Ghi nhận lỗi vào DMS Cài đặt Hệ thống để test sẵn sàng Thực test ghi nhận lỗi Biên test Xử lý lỗi CBT Danh sách lỗi phát Biên test Xem xét kết test • Phối hợp với đội lập trình việc thực khắc phục lỗi • Test lại -> Ghi nhận lỗi COMP1026 – Introduction to Software Engneering CBT CH6 - 101 TN Test, CBT TN Test, QTDA, CBT, CBCL (nếu cần) HIENLTH CÁC HOẠT ĐỘNG - test hệ thống • Kiểm tra cập nhật: • Test case Các sản phẩm cần test tiếp Nhận bàn giao với đội lập trình • Test procedure nhận • kếTest Thiết test, script test script, liệu Chỉnh sửa thiết kế test Test test•được cậpdata nhật CBT TN Test Cài đặt Chương trình cài đặt CBT Thực test ghi nhận lỗi Biên test CBT Xử lý lỗi • Danh sách lỗi phát Khi hệ thống thoả mãn Biên bảnđặt testra tiêu chuẩn TN Test, CBT Danh sách lỗi phát Xem xét kết test việc thực khắc phục lỗi Kết test xem xét COMP1026 Introduction to Software Engneering CH6 - 102 Xác nhân sản phẩm đủ tiêu chuẩn Kết – test xem xét TN Test,QTDA, CBT, CBCL (nếu cần) HIENLTH QTDA, CÁC HOẠT ĐỘNG - xem xét đánh giá kết test Phân tích lỗi đưa đề xuất Báo cáo kết test TN Test Đề xuất Đánh giá tỷ lệ test, đánh giá mức độ đạt tiêu chí để hồn thành test Báo cáo kết test TN Test Xem xét báo cáo kết test Báo cáo kết test xem xét QTDA, CBCL • • Dựa tỷ lệ YC test/tổng số YC cần test Phân tích lỗi dựa: • mức độ lặp lại • độ nghiêm trọng • Thời gian sửa lỗi… COMP1026 – Introduction to Software Engneering CH6 - 103 HIENLTH CÁC HOẠT ĐỘNG - tổng hợp, báo cáo Tập hợp liệu, kết test Dữ liệu, kết test Lập báo cáo tổng hợp test Tổ chức lưu trữ tài liệu, hồ sơ Báo cáo tổng hợp test Hồ sơ, files COMP1026 – Introduction to Software Engneering CH6 - 104 CBT TN Test CBT HIENLTH VD kiểm tra cạnh tam giác • Ví dụ bên có nhánh a,b,c,d,e • Có đường ace, abd, abe, acd • Có điều kiện: side1