Equivalence Class Partitioning - Kỹ thuật phân lớp tương đương

Một trong 8 kỹ thuật kiểm thử phổ biến nhất của chiến lược kiểm thử Black-box là Equivalence Class Partitioning - Kỹ thuật phân lớp tương đương

Tinh thần của kỹ thuật này là cố gắng phân các testcase ra thành nhiều nhóm (họ) khác nhau: các testcase trong mỗi họ sẽ kích hoạt thành phần phần mềm (TPPM) thực hiện cùng 1 hành vi. Mỗi nhóm testcase thỏa mãn tiêu chuẩn trên được gọi là 1 lớp tương đương, ta chỉ cần xác định 1 testcase đại diện cho nhóm và dùng testcase này để kiểm thử TPPM. Như vậy ta đã giảm rất nhiều testcase cần định nghĩa và kiểm thử, nhưng chất lượng kiểm thử không bị giảm sút bao nhiêu so với vét cạn. Điều này là dựa vào kỳ vọng rất hợp lý sau đây:

  • Nếu 1 testcase trong lớp tương đương nào đó gây lỗi TPPM thì các testcase trong lớp này cũng sẽ gây lỗi như vậy.
  • Nếu 1 testcase trong lớp tương đương nào đó không gây lỗi TPPM thì các testcase trong lớp này cũng sẽ không gây lỗi.

Vấn đề kế tiếp là có cần định nghĩa các lớp tương đương đại diện các testcase chứa các giá trị không hợp lệ theo đặc tả hay không? Điều này phụ thuộc vào tinh thần kiểm thử:

  • Nếu ta dùng tinh thần kiểm thử theo hợp đồng (Testing-by- Contract) thì không cần định nghĩa các lớp tương đương đại diện các testcase chứa các giá trị không hợp lệ theo đặc tả vì không cần thiết.
  • Còn nếu ta dùng tinh thần kiểm thử phòng vệ (Defensive Testing), nghĩa là kiểm thử hoàn hảo, thì phải định nghĩa các lớp tương đương đại diện các testcase chứa các giá trị không hợp lệ theo đặc tả để xem TPPM phản ứng như thế nào với những testcase này.