Tổng quan
Nghịch lý thuốc trừ sâu nói rằng chạy mãi cùng một bộ test sẽ dần kém hiệu quả trong việc tìm lỗi mới. Test vẫn hữu ích, nhưng nếu không được làm mới, nó chỉ bắt các kiểu lỗi cũ.
Ý chính
- Test suite cần tiến hóa cùng sản phẩm và loại lỗi mới.
- Thêm dữ liệu, boundary case và mutation của test cũ giúp phát hiện bug khác mẫu.
- Đừng nhầm "test xanh" với "không còn rủi ro"; nó chỉ nói các kịch bản hiện tại chưa vỡ.
Ví dụ từ nguồn
Một app mobile ban đầu có test login bắt được nhiều bug. Sau vài release, bug mới xuất hiện ở offline sync và permission nhưng test cũ không chạm tới.
API test chỉ dùng input hợp lệ sẽ không phát hiện lỗi validation, encoding hoặc payload quá lớn.
Nguồn gốc
Boris Beizer, chuyên gia kiểm thử phần mềm, nêu khái niệm này và nó được biết đến rộng rãi trong nhóm bảy nguyên lý kiểm thử của ISTQB.
Lưu ý khi áp dụng
Mỗi lần sửa bug production, hãy hỏi test suite thiếu biến thể nào và bổ sung đúng lớp test có feedback tốt nhất.