Khác nhau ở mức độ biết về cấu trúc bên trong khi thiết kế test:
- Black-box — dựa trên đặc tả/hành vi, không cần biết code chạy ra sao. Kỹ thuật: equivalence partitioning, boundary value analysis, decision table. Trả lời "đầu vào này thì đầu ra đúng chưa".
- White-box — dựa trên cấu trúc code bên trong. Đo bằng statement/branch coverage, kiểm luồng thực thi, nhánh, điều kiện. Trả lời "mọi đường đi trong code đã được chạy chưa".
- Gray-box — kết hợp: biết một phần nội bộ (schema DB, kiến trúc, thuật toán) nhưng vẫn test qua giao diện như black-box. Hữu ích cho test tích hợp và bảo mật.