Kim th v m bo cht lng phn
Kiểm thử và đảm bảo chất lượng phần mềm Lý thuyết 1
Nội dung • Lý thuyết về kiểm thử – Goodenough và Gerhart – Weyuker và Ostrand – Gourlay 2
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ử 3
Khái niệm cơ bản Miền đầu vào D T T là miền con của D d Chương trình P P(d) là kết quả 4
Goodenough và Gerhart • Hai ông đã đưa ra một câu hỏi mang tính đột phá trong nghiên cứu về KTPM: “Một tiêu chuẩn kiểm thử là gì? ” • Từ đó đã mở ra một hướng nghiên cứu về tiêu chuẩn kiểm thử. 5
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 6
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’ 7
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 8
Lý thuyết của Gourlay • Giả sử đặc tả đúng và là tài liệu duy nhất để khẳng định sự đúng đắn của chương trình. Chương trình là đúng nếu nó thỏa mãn đặc tả của nó. • Lý thuyết của Gourlay nhằm thiết lập quan hệ giữa ba tập hợp: đặc tả S, chương trình P, và bộ kiểm thử T • Mệnh đề OK được mở rộng như sau: – OK(p, t, s) : là đúng nếu kết quả kiểm thử p với t là thành công theo đặc tả s. – Chúng ta nhắm đến việc làm mệnh đề OK(p, t, s) đúng với mọi t trong một tập con T’ của T. • Khi đó chương trình là đúng với đặc tả, nếu OK(p, t, t) với mọi t trong T. 9
Phương pháp kiểm thử • Phương pháp kiểm thử có thể xem là một hàm M: P X S 2^T với T là tập tất cả ca kiểm thử • Tức là trong trường hợp tổng quát, một phương pháp kiểm thử sẽ lấy chương trình p và đặc tả s để tạo ra các ca kiểm thử t. • Các phương pháp kiểm thử có thể là: – Phụ thuộc chương trình T = M(P) (hộp trắng) – Phụ thuộc đặc tả T = M(S) (hộp đen) – Phụ thuộc mong muốn T = M(S’), trong đó S’ là mong muốn của khách hàng hoặc là góc nhìn của khách hàng về đặc tả (kiểm thử chấp thuận) 10
Độ mạnh của phương pháp kiểm thử • 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 11
Độ mạnh của phương pháp kiểm thử • 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: 12
Độ mạnh của phương pháp kiểm thử S P N TM FM P TN M FN Trường hợp 1 S P N M TN FM TM P Trường hợp 2 FN 13
- Slides: 13