# 01.05. Pairwise (Kiểm thử từng cặp)

## Mục đích
Tối ưu hóa số lượng test case khi hệ thống có quá nhiều tham số đầu vào và tổ hợp của chúng là quá lớn. Kỹ thuật này dựa trên nguyên lý hầu hết các lỗi được gây ra bởi sự tương tác giữa tối đa hai tham số.

## Kiến thức cần có
- Hiểu về các tham số đầu vào và các giá trị tương ứng của chúng.
- Sử dụng các công cụ hỗ trợ tạo tổ hợp (như PICT, AllPairs) để tiết kiệm thời gian.
- Khả năng xác định các ràng buộc (Constraints) giữa các tham số.

## Quy trình thực hiện
1. **Liệt kê tham số:** Xác định tất cả các biến đầu vào cần tổ hợp.
2. **Xác định giá trị:** Liệt kê các giá trị cụ thể cho mỗi tham số (nên kết hợp với Phân vùng tương đương).
3. **Tạo tổ hợp Pairwise:** Sử dụng thuật toán hoặc công cụ để sinh ra danh sách các bộ dữ liệu sao cho mọi cặp giá trị (Parameter A, Parameter B) đều xuất hiện ít nhất một lần.
4. **Rà soát ràng buộc:** Điều chỉnh hoặc loại bỏ các tổ hợp không thực tế hoặc bị cấm bởi quy tắc nghiệp vụ.

## Checklist
- [ ] Đã liệt kê đầy đủ các tham số và giá trị quan trọng?
- [ ] Các tổ hợp sinh ra đã đảm bảo mọi cặp giá trị đều được kiểm tra?
- [ ] Đã xem xét các ràng buộc giữa các tham số để tránh dữ liệu vô nghĩa?
- [ ] Số lượng test case đã được tối ưu so với phương pháp Cartesian Product?

## Output mong đợi
- Bảng tổ hợp kiểm thử (Pairwise Table).
- Danh sách Test case với các bộ dữ liệu tối ưu.
