180 likes | 496 Views
Kiểm thử và đảm bảo chất lượng phần mềm. Tổng kết về kiểm thử chức năng. Nội dung. Kiểm thử chức năng Kiểm thử giá trị biên Kiểm thử lớp tương đương Kiểm thử dựa trên bảng quyết định Tổng kết về kiểm thử chức năng. Tổng quan. Ba kỹ thuật kiểm thử chức năng điển hình: BVT, ECT, and DTT
E N D
Kiểm thử và đảm bảo chất lượng phần mềm Tổng kết về kiểm thử chức năng
Nội dung • Kiểm thử chức năng • Kiểm thử giá trị biên • Kiểm thử lớp tương đương • Kiểm thử dựa trên bảng quyết định • Tổng kết về kiểm thử chức năng
Tổng quan • Ba kỹ thuật kiểm thử chức năng điển hình: BVT, ECT, and DTT • Điểm chung của ba kỹ thuật là chúng đều coi chương trình là các hàm toán học ánh xạ đầu vào sang đầu ra. • Chúng ta so sánh ba kỹ thuật này ở góc độ nỗ lực kiểm thử, hiệu quả của kiểm thử, và tác dụng của kiểm thử
Số ca kiểm thử high low Phức tạp boundary value equivalence class decision table Nỗ lực kiểm thử
Nỗ lực để xác định ca kiểm thử high low Phức tạp boundary value equivalence class decision table Nỗ lực kiểm thử
Nỗ lực kiểm thử • BVT: kỹ thuật dựa trên tính chất miền dữ liệu • Bỏ qua phụ thuộc dữ liệu và phụ thuộc logic • máy móc sinh ca kiểm thử • dễ tự động hóa • ECT: xét đến phụ thuộc dữ liệu và logic của chương trình • Cần bỏ công sức xác định quan hệ tương đương để tạo phân hoạch hợp lý • DTT: tinh tế nhất vì sử dụng cả phụ thuộc logic và dữ liệu • Các kỹ thuật này có ưu nhược điểm riêng nên cần cân đối giữa công sức xác định ca kiểm thử và công sức để chạy kiểm thử
Hiệu quả kiểm thử • Đồ thị trên cho thấy hạn chế chính của kiểm thử chức năng: • Thiếu ca kiểm thử cho trường hợp cần kiểm thử • Dư thừa kiểm thử cho cùng trường hợp • Ví dụ: • DTT cho NextDate tạo ra 22 ca kiểm thử, khá đầy đủ • BVT trường hợp xấu nhất tạo ra 125 ca, thừa nhiều 1/1 cho cả 5 năm, nhưng cũng thiếu 28/2, 29/2, và không có ca kiểm thử cho năm nhuận • ECT mạnh tạo ra 36 ca kiểm thử, 11 ca kiểm thử là không hợp lệ • Tóm lại: BVT và ECT đơn giản nhưng kém hiệu quả so với kỹ thuật tinh tế nhưng tốn công sức là DTT
Hiệu quả kiểm thử • Để so sánh được các phương pháp kiểm thử chúng ta cần lượng hóa mức độ hiệu quả bằng các phép đo • Về trực giác, một kỹ thuật kiểm thử hiệu quả phải tạo tập ca kiểm thử “vừa đủ”, tức là không thừa, không thiếu. • Chúng ta có thể xây dựng các tỷ lệ giữa số ca kiểm thử hữu ích và tổng số ca kiểm thử do phương pháp A và B sinh ra
Hiệu quả kiểm thử • Một cách xác định dư thừa là ghi chú các ca kiểm thử bằng một câu ngắn gọn • Các ca kiểm thử có cùng mục đích sẽ có thể là thừa • Phát hiện ca kiểm thử thiếu khó hơn và chỉ có thể làm được bằng cách so sánh hai phương pháp, • Mặc dù không có gì bảo đảm để phát hiện hết các ca kiểm thử thiếu • Trong phần sau các phương pháp kiểm thử hộp trắng sẽ có các thước đo thú vị và hữu ích hơn để lượng hóa hiệu quả kiểm thử
Mức độ hiệu quả • Mức độ hiệu quả của một phương pháp hoặc một bộ kiểm thử là khả năng chỉ ra khuyết tật của chương trình • Tuy nhiên việc này cũng có vấn đề vì • 1) tìm được khuyết tật nghĩa là ta phải biết tất cả chúng rồi và • 2) không thể chứng minh chương trình đã hết khuyết tật. • Chúng ta chỉ có thể lần ngược từ loại khuyết tật, và chọn phương pháp có khả năng phát hiện khuyết tật thuộc kiểu đó • Mở rộng hơn ta có thể sử dụng tri thức liên quan đến loại khuyết tật có thể xảy ra và lần theo loại và tần suất khuyết tật • Các phương pháp có cấu trúc có thể dễ đánh giá sự hiệu quả bằng một tiêu chuẩn bao phủ
Khuyến cáo áp dụng • Nếu ta biết loại sai cần tìm thì chúng ta có định hướng để chọn phương pháp kiểm thử • Nếu ta không biết loại sai thì ta nên dựa trên các tính chất sau để chọn phương pháp kiểm thử: • Biến biểu diễn đại lượng vật lý, hay logic? • Biến có phụ thuộc nhau không? • Một hay nhiều khiếm khuyết mới gây ra hỏng hóc? • Có cần kiểm tra bắt ngoại lệ không?
Khuyến cáo áp dụng • Chúng ta nên chú ý đến các lời khuyên sau khi áp dụng: • Nếu biến là đại lượng vật lý thì dùng kiểm thử miền hoặc tương đương hoặc cả hai. • Nếu các biến độc lập nhau thì dùng bảng quyết định • Nêu giả thuyết một khuyết tật đã gây ra hỏng hóc, thì kiểm thử biên và kiểm thử biên mạnh. • Nếu giả thuyết nhiều khuyết tật mới gây ra hỏng hóc thì kiểm thử trường hợp xấu nhất, kiểm thử xấu nhất mạnh, và bảng quyết định. • Nếu chương trình có nhiều xử lý ngoại lệ, dùng kiểm thử mạnh và bảng quyết định. • Nếu các biến là biến logic, sử dụng kiểm thử tương đương và bảng quyết định.