Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 9 - Coggle Diagram
Bài 9
Kiểm thử hộp trắng
Định nghĩa
Thiết kế test case dựa trên cấu trúc mã nguồn
Kiểm tra mọi đường dẫn và điều kiện logic
Mục đích
Đảm bảo phủ toàn bộ mã nguồn
Phát hiện lỗi trong logic và cấu trúc
Nguyên tắc
Phủ mọi đường dẫn độc lập
Kiểm tra điều kiện True/False
Kiểm tra vòng lặp tại biên và phạm vi
Đảm bảo tính hợp lệ của cấu trúc dữ liệu
Phương pháp
Kiểm thử đường dẫn cơ sở
Quy trình
Vẽ đồ thị lưu trình (flowgraph)
Tính độ phức tạp Cyclomatic
V(G) = Số vùng, hoặc P+1, hoặc E-N+2
Xác định tập đường dẫn độc lập
Thiết kế test case cho mỗi đường dẫn
Ví dụ: Hàm kiểm tra a > 0
Đường dẫn 1: a > 0 → In "Positive"
Đường dẫn 2: a ≤ 0 → Kết thúc
Test case
TC1: a=5, Expected: "Positive"
TC2: a=-1, Expected: Không in
Kiểm thử cấu trúc điều kiện
Kiểm thử dòng điều khiển
Loại phủ
Statement: Mọi câu lệnh
Branch: Mọi nhánh quyết định
Condition: Mọi điều kiện True/False
Path: Mọi đường dẫn
Kiểm thử dòng dữ liệu
Phủ đường dẫn từ định nghĩa (def) đến sử dụng (use)
Kiểm thử vòng lặp
Vòng lặp đơn
Lặp 0, 1, 2, n-1, n, n+1 lần
Vòng lặp lồng
Kiểm vòng trong như vòng đơn, vòng ngoài lặp ít nhất
Vòng lặp móc nối
Độc lập: Kiểm như vòng đơn
Phụ thuộc: Kiểm như vòng lồng
Vòng lặp không cấu trúc
Không kiểm, cần tái thiết kế
Ưu điểm
Phủ mã nguồn triệt để
Phát hiện lỗi logic sâu
Nhược điểm
Phụ thuộc mã nguồn
Tốn tài nguyên với chương trình phức tạp