Monday, May 23, 2022

Kiểm thử cặp đôi thông minh

 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.

 

[1] Kuo-Chung Tai and Yu Lei (2002). “A test generation strategy for pairwise testing”. In: IEEE transactions on software Engineering 28.1, pp. 109–111

Kiểm thử cặp đôi thông minh

  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 ...