Kiểm thử cặp đôi thông minh (pairwise testing) là một trường hợp đặc biệt của phương pháp kiểm thử tổ hợp. Trong phương pháp kiểm thử cặp đôi thông minh, ta chỉ yêu cầu mọi cặp giá trị (xi, xj) (1<=i <> j <= n) xuất hiện trong một ca kiểm thử nào đó. Một ca kiểm thử thường có nhiều cặp giá trị với mỗi biến đầu vào. Do đó, kỹ thuật này sẽ giúp ta giảm thiểu đáng kể số lượng ca kiểm thử so với phương pháp kiểm thử tổ hợp.
Xét
ví dụ sau. Giả sử ta có hàm y = f(x1, x2, x3) và x1 thuộc {a; b}, x2 thuộc {c; d},
x3 thuộc {e; g}. Đối với phương pháp kiểm thử tổ hợp, số lượng ca kiểm thử cần
thiết để phủ được hết các trường hợp là 2^3 = 8. Tuy nhiên, phương pháp kiểm thử cặp đôi thông
minh yêu cầu ít hơn như vậy. Cụ thể, ta có thể chỉ cần 4 ca kiểm thử để phủ được
các trường hợp yêu cầu: {(a, c, e); (a, d, g); (b, c, e); (b, d, g)}.
Các
nghiên cứu về kiểm thử hướng đến việc sinh tự động các ca kiểm thử theo phương
pháp kiểm thử cặp đôi thông minh. Một trong những phương pháp sinh ca kiểm thử
tự động là phương pháp IPO [1]. Phương pháp được chia thành hai bước. Sau bước
khởi tạo tập các ca kiểm thử để mỗi ca kiểm thử chứa một cặp hai giá trị cho hai
tham số đầu tiên. Bước đầu tiên là mở rộng các ca kiểm thử theo chiều ngang – Horizontal
Grow. Tại bước này, với mỗi tham số đầu vào còn thiếu, các ca kiểm thử được thêm
các giá trị tương ứng. Bước thứ hai là mở rộng theo chiều dọc – Vertical Grow.
Nhiệm vụ của bước này là tạo ra các ca kiểm thử khác cho những giá trị chưa được
xuất hiện. Như vậy, mỗi tham số từ sau hai tham số đầu tiên, chiến lược áp dụng
mở rộng theo chiều ngang và chiều dọc để sinh được các ca kiểm thử cần tìm.
Phương
pháp kiểm thử cặp đôi thông minh để so sánh về khả năng phủ các trường hợp so với
phương pháp tổ hợp thì không thể bằng. Tuy nhiên, triết lý ở đây là ta hy vọng
với việc mỗi cặp biến đầu vào đều được kiểm thử ít nhất là một lần, ta có thể tìm
được lỗi của chương trình. Phương pháp này đánh đổi việc bao phủ toàn bộ các
trường hợp với chi phí để tiến hành việc kiểm thử.
Phương
pháp kiểm thử cặp đôi thông minh có thể được ứng dụng ở nhiều trường hợp ngoài
việc kiểm thử đơn vị. Ta có thể kết hợp các điều kiện kiểm thử tích hợp, kiểm
thử hệ thống, kiểm thử chấp nhận. Ta cũng có thể kết hợp các yếu tố khác nhau của
môi trường kiểm thử với nhau để giảm thiểu số lượng môi trường kiểm thử cần phải
thiết lập và công sức cần thiết để kiểm thử phần mềm.