Kiểm thử Hộp đen và các kỹ thuật của kiểm thử hộp đen - Black-box Testing Techniques
1. Khái niệm Kiểm thử Hộp Đen (Black-box Testing)
Black-box testing là phương pháp kiểm thử phần mềm trong đó người kiểm thử không quan tâm đến cấu trúc bên trong, mã nguồn hay cách hoạt động bên trong của hệ thống. Thay vào đó, tester chỉ tập trung vào:
-
Đầu vào (input)
-
Đầu ra (output)
-
Hành vi hệ thống dựa trên đặc tả chức năng
Đây là phương pháp phổ biến để đánh giá tính đúng đắn của phần mềm theo yêu cầu từ người dùng hoặc tài liệu đặc tả.
2. Mục tiêu của kiểm thử hộp đen
-
Xác minh hệ thống có hoạt động đúng theo đặc tả yêu cầu không
-
Tìm các lỗi logic, xử lý sai điều kiện biên, input không hợp lệ
-
Tăng cường độ phủ kiểm thử mà không cần đọc mã nguồn
-
Giúp đảm bảo chất lượng phần mềm từ góc nhìn người dùng
3. Các kỹ thuật kiểm thử hộp đen phổ biến
Dưới đây là 4 kỹ thuật chính, thường được sử dụng kết hợp để đảm bảo độ phủ kiểm thử toàn diện:
3.1. Equivalence Class Partitioning (Phân vùng lớp tương đương)
-
Chia tập giá trị đầu vào thành các lớp tương đương, trong đó mỗi giá trị được xem là đại diện cho cả lớp.
-
Giảm số lượng test case nhưng vẫn đảm bảo hiệu quả phát hiện lỗi.
-
Bao gồm:
-
Lớp hợp lệ (Valid Class)
-
Lớp không hợp lệ (Invalid Class)
-
Áp dụng tốt khi có nhiều điều kiện đầu vào, giúp tránh lặp lại test không cần thiết.
3.2. Boundary Value Analysis (Phân tích giá trị biên)
-
Kiểm thử các giá trị sát ranh giới của các điều kiện (đầu vào, đầu ra).
-
Vì lỗi thường xảy ra ở biên của phạm vi xử lý, nên kỹ thuật này rất hiệu quả.
-
Thường kiểm thử:
-
Biên dưới, biên trên
-
Biên ngay dưới và ngay trên giới hạn
-
Các giá trị cực đoan (min, max)
-
Đây là kỹ thuật bổ trợ tuyệt vời cho Equivalence Class, giúp phát hiện lỗi ở ranh giới lớp.
3.3. Decision Table Testing (Kiểm thử bảng quyết định)
-
Dùng bảng để biểu diễn các tổ hợp điều kiện và hành động tương ứng.
-
Giúp xác định các luật xử lý logic phức tạp hoặc có nhiều điều kiện rẽ nhánh.
-
Hữu ích trong kiểm thử logic nghiệp vụ (ví dụ: giảm giá, quy trình phê duyệt…).
3.4. Error Guessing (Đoán lỗi)
-
Dựa trên trực giác, kinh nghiệm của tester để đoán những chỗ dễ xảy ra lỗi.
-
Không có quy tắc cố định.
-
Thường dùng để bổ sung cho các kỹ thuật chính, đặc biệt trong các hệ thống từng có lỗi tương tự.
4. Lưu ý khi áp dụng kỹ thuật kiểm thử hộp đen
-
Không kỹ thuật nào là hoàn hảo → nên kết hợp nhiều kỹ thuật cùng lúc để tăng độ hiệu quả.
-
Luôn phải dựa vào đặc tả yêu cầu hoặc hành vi mong đợi từ người dùng.
-
Có thể áp dụng không chỉ cho chức năng, mà còn cho hiệu năng, bảo mật, khả năng sử dụng...
5. Tóm tắt
Kỹ thuật | Mục tiêu chính | Khi nào dùng |
---|---|---|
Boundary Class | Bắt lỗi ở biên | Dữ liệu dạng phạm vi |
Equivalence Class | Giảm test trùng lặp | Đầu vào nhiều giá trị |
Decision Table | Kiểm thử logic/Phép tắt | Nhiều điều kiện kết hợp |
Error Guessing | Dựa vào kinh nghiệm | Bổ sung cho các kỹ thuật khác |