Bài giảng kiểm chứng, thẩm định và kiểm thử

56 171 0
Bài giảng kiểm chứng, thẩm định và kiểm thử

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

KiểmChứng, Thẩm Định và KiểmThử (Verification, Validation, and Testing) 2 Mục đích z Sau buổihọc sinh viên phảinắm được: − Hiểu các khái niệm: verification, valdation, và testing − Nắm được các nguyên lý về kiểmthử − Hiểu khái niệmca kiểmthử (test case) − Các phương pháp thiếtkế test case − Làm thế nào để kiểmthử chương trình − Làm thế nào để kiểmthử hệ thống 3 Nội dung z Giớithiệu − Verification,Validation, và Testing z Các nguyên lý về kiểmthử z Ca kiểmthử (test case) z Các kỹ thuậtkiểmthử chương trình − Kiểmthử chứcnăng − Kiểmthử cấutrúc z Các giai đoạnvàchiếnlượckiểmthử 4 Tà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ầnmềm(chương 5) z Các tài liệu điệntử khác 5 Verification,Validation, và Testing z Kiểmchứng (Verification) − có đúng đặctả không, có đúng thiếtkế không − phát hiệnlỗilậptrình z Thẩm định (Validation) − có đáp ứng nhu cầungười dùng không − có hoạt động hiệuquả không − phát hiệnlỗi phân tích, lỗithiếtkế (lỗimứccao) z V&V = Verification and Validation − mụctiêulàpháthiệnvàsửalỗiPM, đánh giá tính dùng đượccủaPM z Thứ tự thựchiện: Verification -> Validation 6 Kiểmchứng/Thẩm định tĩnh và động z Kiểmchứng/Thẩm định tĩnh − không thựchiệnchương trình − xét duyệtyêucầu, thiếtkế, mã nguồn − tiến hành ở mọicôngđoạnpháttriển − khó đánh giá tính hiệuquả củasảnphẩm z Kiểmchứng/Thẩm định động (kiểmthử - Testing) − thựchiệnchương trình − cầncómãnguồn − phát hiệnlỗilậptrình − đánh giá tính hiệuquả phầnmềm − là cách duy nhất để kiểmtrayêucầuphi chứcnăng 7 Mô hình phát triển“V” Đặctả yêu cầu Đặctả hệ thống Thiếtkế hệ thống Thiếtkế chi tiết Mã hóa mô đun & kiểm thử mô đun Kiểmthử tích hợpcáchệ thống con Kiểmthử tích hợphệ thống Kiểmthử chấpnhận Dịch vụ Kế hoạch kiểmthử chấpnhận Kế hoạch kiểmthử tích hợpHT Kế hoạch kiểm thử tích hợp HT con 8 Kiểmthử phầnmềm(Testing) z Tập các hoạt động vớimục đích khám phá các lỗivàkhuyếttật/khiếmkhuyết z Mục đích củakiểmthử: − Thiếtkế các ca kiểmthử (test cases) vớikhả năng tìm kiếmcáclỗi/khuyếttật − Thựchiệnchương trình vớimục đích tìm các lỗi/khuyếttật z Mỗi phép kiểmthử (a test) chỉ thành công khi − mộtlỗi được phát hiện − mộtkếtquả chỉ ra sự thấtbạicủathủ tụckiểmthử đượctrả lại 9 Các loạikiểmthử phầnmềm z Kiểmthử tìm khuyếttật − tìm lỗilậptrình − tiến hành dựa trên phân tích đặctả chứcnăng, − phân tích mã nguồn z Kiểmthử thống kê − đánh giá tính dùng đượccủasảnphẩm − sử dụng dữ liệuthực(dựatrênthống kê) − số ngườitruycập − số giao tác − cơ sở dữ liệulớn 10 Yêu cầu đốivớikiểmthử z Tính lặplại − kiểmthử phảilặplại được(kiểmtraxemlỗi đã đượcsửa hay chưa) − dữ liệu/trạng thái phảimôtảđược z Tính hệ thống − đảmbảokiểmtrahếtcáctrường hợp (coverage) z Đượclậptàiliệu − kiểm soát tiếntrình/kếtquả [...]... độ phức tạp) 29 Chức năng vs Cấu trúc • Kiểm thử chức năng - kiểm tra tính hiệu quả của phần mềm - thuận tiện với các mô đun lớn, tích hợp • Kiểm thử cấu trúc - đảm bảo mọi lệnh đều được kiểm tra - hiệu quả với các mô đun nhỏ, đơn lẻ 30 Kiểm thử và gỡ rối Kiểm thử và gỡ rối là hai công việc phân biệt Kiểm thử nhằm phát hiện sự tồn tại của lỗi Gỡ rối nhằm định vị và sửa chữa mã gây lỗi Gỡ rối bao gồm... 20 20 20 7 20 3 10 1 30 8 3 20 7 Kết quả -1 -1 -1 0 -1 -1 -1 0 3 1 35 Nội dung Giới thiệu − Verification,Validation, và Testing Các nguyên lý về kiểm thử Ca kiểm thử (test case) 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úc Các giai đoạn và chiến lược kiểm thử 36 ... program modules or classes” 11 Ca kiểm thử (test case) Ca kiểm thử: dữ liệu để kiểm tra hoạt động của chương trình Ca kiểm thử tốt − được thiết kế để phát hiện một lỗi của chương trình Kiểm thử thành công: phát hiện ra lỗi Mục đích: − − Chứng minh được sự tồn tại của lỗi Không chứng minh được sự không có lỗi 12 Nôi dung của test case Tên mô đun/chức năng muốn kiểm thử dữ liệu vào − − − dữ liệu thông thường:... trường thử nghiệm: phần cứng, OS, thứ tự thao tác (khi kiểm thử giao diện) Kết quả mong muốn − − thông thường: số, xâu kí tự, file, màn hình, thời gian phản hồi Kết quả thực tế 13 Các kỹ thuật kiểm thử chương trình Kiểm thử chức năng (functional testing) − − − dựa trên đặc tả chức năng phát hiện các sai sót về chức năng không quan tâm đến cách cài đặt Kiểm thử cấu trúc (structured testing) − − kiểm thử. ..Các nguyên lý kiểm thử PM Các phép kiểm thử phải tương ứng với các yêu cầu của HT 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ử 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... - dữ liệu sai kiểu - dữ liệu ngẫu nhiên 18 Kiểm thử cấu trúc Structural testing / White box testing • Xây dựng ca kiểm thử dựa trên phân tích mã nguồn • Xây dựng bộ test case để kiểm tra mọi dòng lệnh • Phân tích các lệnh rẽ nhánh, vòng lặp • Phù hợp với các mô đun nhỏ • Là sự bổ sung cho kiểm thử chức năng 19 Đường đi trong mô đun • Phân tích mô đun để xác định đường đi • Đường đi là thứ tự thực hiện... tập hợp thỏa mãn - mọi khối lệnh đều được thực hiện ít nhất một lần - mọi điều kiện đều được kiểm thử với hai trường hợp true và false 24 1 Đường đi độc lập: 2 9 4 3 5 1-9 1-2-3-8-1-9 1-2-4-6-7-8-1-9 1-2-4-5-7-8-1-9 6 7 8 25 Đường đi độc lập có thể tồn tại nhiều bộ đường đi độc lập số đường đi tối thiểu cần kiểm tra = độ phức tạp thuật toán 26 Độ phức tạp thuật toán Độ phức tạp V(G) của flow chart G:... cứu mã nguồn phân tích thứ tự thực hiện các lệnh 14 Kiểm thử chức năng Functional testing / Black box testing Dựa trên đặc tả chức năng • Test case được thiết kế để kiểm tra chức năng • Phát hiện các khiếm khuyết so với đặc tả • Không quan tâm đến cách cài đặt (mã nguồn) - Phát hiện sai sót, thiếu sót chức năng - Sai sót về giao diện của mô đun - Kiểm tra tính hiệu quả - Phát hiện lỗi khởi tạo, lỗi... lệnh từ điểm bắt đầu đến điểm kết thúc của mô đun • Thiết kế các test case để kiểm thử mọi đường đi 20 Xác định đường đi • Đánh số các khối lệnh - đánh số các khối lệnh, câu lệnh điều kiện - đánh số các hợp điểm của luồng lệnh • Rút gọn flow chart (đồ thị) - các khối tuần tự được tích hợp thành một khối - tích hợp khối tuần tự vào câu lệnh điều kiện kế tiếp 21 Start 0 1 2 11 3 End 4 6 7 8 9 10 5 22 1... thử và gỡ rối là hai công việc phân biệt Kiểm thử nhằm phát hiện sự tồn tại của lỗi Gỡ rối nhằm định vị và sửa chữa mã gây lỗi Gỡ rối bao gồm việc sinh ra các giả thiết về hoạt động của chương trình và kiểm thử chương trình để tìm lỗi 31 Tiến trình gỡ rối Test results Locate error Test cases Specification Design error repair Repair error Re-test program 32 Mini test Tạo test case (dựa trên phân hoạch . & kiểm thử mô đun Kiểmthử tích hợpcáchệ thống con Kiểmthử tích hợphệ thống Kiểmthử chấpnhận Dịch vụ Kế hoạch kiểmthử chấpnhận Kế hoạch kiểmthử tích hợpHT Kế hoạch kiểm thử tích hợp HT con 8 Kiểmthử. Verification,Validation, và Testing z Các nguyên lý về kiểmthử z Ca kiểmthử (test case) z Các kỹ thuậtkiểmthử chương trình − Kiểmthử chứcnăng − Kiểmthử cấutrúc z Các giai đoạnvàchiếnlượckiểmthử 4 Tài liệu z. KiểmChứng, Thẩm Định và KiểmThử (Verification, Validation, and Testing) 2 Mục đích z Sau buổihọc sinh viên phảinắm được: − Hiểu các khái niệm: verification, valdation, và testing −

Ngày đăng: 22/05/2015, 12:55

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan