130 likes | 336 Views
Kiểm thử và đảm bảo chất lượng phần mềm. Lý thuyết. Nội dung. Lý thuyết về kiểm thử Goodenough và Gerhart Weyuker và Ostrand Gourlay. Goodenough và Gerhart. Đề xuất năm 1975 trong một bài báo: Đưa ra một số khái niệm cơ bản về kiểm thử Xác định một số kiểu lỗi chương trình
E N D
Kiểm thử và đảm bảo chất lượng phần mềm Lý thuyết
Nội dung • Lý thuyết về kiểm thử • Goodenough và Gerhart • Weyuker và Ostrand • Gourlay
Goodenough và Gerhart • Đề xuất năm 1975 trong một bài báo: • Đưa ra một số khái niệm cơ bản về kiểm thử • Xác định một số kiểu lỗi chương trình • Đưa ra một phương pháp lựa chọn ca kiểm thử
Khái niệm cơ bản Miền đầu vào D Chương trình P d P(d) T P(d) là kết quả T là miền con của D
Goodenough và Gerhart • Hai ôngđãđưaramộtcâuhỏimang tính độtphátrongnghiêncứuvề KTPM: “Mộttiêuchuẩnkiểmthửlàgì?” • Từ đóđãmởramộthướngnghiêncứuvềtiêuchuẩnkiểmthử.
Phương pháp • Giả thiết nguyên nhân chính của lỗi gồm: • Hiểu chưa đầy đủ tất cả các tình huống mà chương trình sẽ gặp phải • Không tính hết một số tổ hợp các điều kiện mà cần xử lý đặc biệt • Dữ liệu kiểm thử: giá trị thực từ miền đầu vào của chương trình (D) thỏa mãn một tiêu chuẩn lựa chọn kiểm thử • Khẳng định kiểm thử: mô tả tổ hợp điều kiện liên quan đến hoạt động đúng của chương trình • Mô tả cần phải kiểm thử khía cạnh nào của chương trình
Phân hoạch tự nhiên • Không gian đầu vào thường có một phân hoạch tự nhiên thành các lớp tương đương, E(C’), được định nghĩa: • E(C’) chứa các d thuộc D thỏa mãn các mệnh đề thuộc về C’
Phân loại sai trong chương trình • Sai logic: Vấn đề với chương trình, không phải tài nguyên • Sai yêu cầu • Sai thiết kế • Sai lập trình • Thiếu đường đi theo luồng điều khiển • Thực hiện theo đường đi không đúng • Thiếu hoặc hành động sai • Sai về hiệu năng
Lý thuyết của Gourlay • Giảsửđặctảđúngvàlàtàiliệuduynhấtđểkhẳngđịnhsựđúngđắncủachươngtrình. Chươngtrìnhlàđúngnếunóthỏamãnđặctảcủanó. • Lý thuyếtcủaGourlaynhằmthiếtlậpquanhệgiữabatậphợp: đặctả S, chươngtrình P, vàbộkiểmthử T • Mệnhđề OK đượcmởrộngnhưsau: • OK(p, t, s) : làđúngnếukếtquảkiểmthử p với t làthànhcôngtheođặctả s. • Chúng ta nhắmđếnviệclàmmệnhđề OK(p, t, s) đúngvớimọi t trongmộttập con T’ của T. • Khiđóchươngtrìnhlàđúngvớiđặctả, nếu OK(p, t, t) vớimọi t trong T.
Phương pháp kiểm thử • Phương phápkiểmthửcóthểxemlàmộthàm M: PXS 2^T với T là tập tất cả ca kiểm thử • Tứclàtrongtrườnghợptổngquát, mộtphươngphápkiểmthửsẽlấychươngtrình p vàđặctả s để tạo racác ca kiểmthử t. • Cácphươngphápkiểmthửcóthểlà: • Phụthuộcchươngtrình T = M(P) (hộptrắng) • Phụthuộcđặctả T = M(S) (hộpđen) • Phụthuộcmongmuốn T = M(S’), trongđó S’ làmongmuốncủakhách hàng hoặclàgócnhìncủakhách hàng vềđặctả (kiểmthửchấpthuận)
Độmạnhcủaphươngphápkiểmthử • Bài toán cơ bản trong kiểm thử là đánh giá các phương pháp kiểm thử xem cái nào hơn cái nào trong việc phát hiện lỗi • Gọi M, N là hai phương pháp kiểm thử và FM, FN là các sai sót chúng tìm được • Để M không kém N thì khi N tìm được 1 lỗi, M cũng phát hiện được lỗi đó. Nói cách khác, FN là tập con của FM
Gọi TN và TM là các tập ca kiểm thử do phương pháp N và M tạo ra. Độ mạnh của N và M có thể chia thành hai trường hợp: Trường hợp 1: TN là tập con của TM. Có nghĩa M không kém N Trường hợp 2: TN và TM giao nhau, nhưng TN không là tập con của TM. Có nghĩa là TM không hoàn toàn chứa TN và để so sánh khả năng phát hiện sai sót chúng ta chạy chương trình P với cả TN và TM. Gọi FN và FM là tập sai sót tìm thấy bởi TN và TM, nếu FN là tập con của FM thì ta nói M không kém N Có thể minh họa bằng hình sau: Độ mạnh của phương pháp kiểm thử
Độ mạnh của phương pháp kiểm thử S N TM FM P TN FN M P Trường hợp 1 TN S N FM P FN TM M P Trường hợp 2