Thông tin tài liệu:
Mục tiêu của bài giảng này là giúp các bạn sinh viên có thể hiểu được các khái niệm về verification, valdation, vàt testing; nắm được các nguyên lý về kiểm thử; hiểu khái niệm ca kiểm thử (test case); các phương pháp thiết kế test case; phương pháp kiểm thử chương trình và phương pháp kiểm thử hệ thống.
Nội dung trích xuất từ tài liệu:
Bài giảng Kiểm chứng, thẩm định và kiểm thử (Verification, Validation, and Testing) - ĐH Cần ThơKiểm Chứng, Thẩm Định và Kiểm Thử (Verification, Validation, and Testing)Mục đíchz Sau buổi học sinh viên phải nắm được: − Hiểu các khái niệm: verification, valdation, và testing − Nắm được các nguyên lý về kiểm thử − Hiểu khái niệm ca kiểm thử (test case) − Các phương pháp thiết kế test case − Làm thế nào để kiểm thử chương trình − Làm thế nào để kiểm thử hệ thống 2Nội dungz Giới thiệu − Verification,Validation, và Testingz Các nguyên lý về kiểm thửz Ca kiểm thử (test case)z Các kỹ thuật kiểm thử chương trình − Kiểm thử chức năng − Kiểm thử cấu trúcz Các giai đoạn và chiến lược kiểm thử 3Tài liệu z Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) z Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) z Giáo trình kỹ nghệ phần mềm (chương 5) z Các tài liệu điện tử khác 4 Verification,Validation, và Testingz Kiểm chứng (Verification) − có đúng đặc tả không, có đúng thiết kế không − phát hiện lỗi lập trìnhz Thẩm định (Validation) − có đáp ứng nhu cầu người dùng không − có hoạt động hiệu quả không − phát hiện lỗi phân tích, lỗi thiết kế (lỗi mức cao)z V&V = Verification and Validation − mục tiêu là phát hiện và sửa lỗi PM, đánh giá tính dùng được của PMz Thứ tự thực hiện: Verification -> Validation 5Kiểm chứng/Thẩm định tĩnh và độngz Kiểm chứng/Thẩm định tĩnh − không thực hiện chương trình − xét duyệt yêu cầu, thiết kế, mã nguồn − tiến hành ở mọi công đoạn phát triển − khó đánh giá tính hiệu quả của sản phẩmz Kiểm chứng/Thẩm định động (kiểm thử - Testing) − thực hiện chương trình − cần có mã nguồn − phát hiện lỗi lập trình − đánh giá tính hiệu quả phần mềm − là cách duy nhất để kiểm tra yêu cầu phi chức năng 6 Mô hình phát triển “V” Đặc tả Đặc tả hệ Thiết kế hệ Thiết kế chiyêu cầu thống thống tiết Kế hoạch Kế hoạch Kế hoạch kiểm Mã hóa mô kiểm thử kiểm thử thử tích hợp đun & kiểm chấp nhận tích hợp HT HT con thử mô đun Kiểm thử tích Kiểm thử Kiểm thử tíchDịch vụ hợp các hệ chấp nhận hợp hệ thống thống con 7 Kiểm thử phần mềm (Testing)z Tập các hoạt động với mục đích khám phá các lỗi và khuyết tật/khiếm khuyếtz Mục đích của kiểm thử: − Thiết kế các ca kiểm thử (test cases) với khả năng tìm kiếm các lỗi/khuyết tật − Thực hiện chương trình với mục đích tìm các lỗi/khuyết tậtz Mỗi phép kiểm thử (a test) chỉ thành công khi − một lỗi được phát hiện − một kết quả chỉ ra sự thất bại của thủ tục kiểm thử được trả lại 8Các loại kiểm thử phần mềmz Kiểm thử tìm khuyết tật − tìm lỗi lập trình − tiến hành dựa trên phân tích đặc tả chức năng, − phân tích mã nguồnz Kiểm thử thống kê − đánh giá tính dùng được của sản phẩm − sử dụng dữ liệu thực (dựa trên thống kê) − số người truy cập − số giao tác − cơ sở dữ liệu lớn 9Yêu cầu đối với kiểm thửz Tính lặp lại − kiểm thử phải lặp lại được (kiểm tra xem lỗi đã được sửa hay chưa) − dữ liệu/trạng thái phải mô tả đượcz Tính hệ thống − đảm bảo kiểm tra hết các trường hợp (coverage)z Được lập tài liệu − kiểm soát tiến trình/kết quả 10Các nguyên lý kiểm thử PMz Các phép kiểm thử phải tương ứng với các yêu cầu của HTz Mỗi phép kiểm thử nên được lập kế hoạch từ rất sớm trước khi tiến hành kiểm thửz Qui luật Pareto hay qui luật 80/20 (qui luật thiểu số quan trọng và phân bố nhân tố) − khoảng 80% kết quả là do 20% nguyên nhân gây ra − “80% of all errors uncovered during testing will likely be traceable to 20% of all program modules or classes” 11Ca kiểm thử (test case)z Ca kiểm thử: dữ liệu để kiểm tra hoạt động của chương trìnhz Ca kiểm thử tốt ...