Chúng tôi kiểm tra mã của chúng tôi để làm cho nó chính xác hơn (thực tế, ít có khả năng là không chính xác ). Tuy nhiên, các bài kiểm tra cũng là mã - chúng cũng có thể chứa lỗi. Và nếu các bài kiểm tra của bạn có lỗi, chúng hầu như không làm cho mã của bạn tốt hơn.
Tôi có thể nghĩ về ba loại lỗi có thể xảy ra trong các bài kiểm tra:
Lỗi logic, khi lập trình viên hiểu sai nhiệm vụ trong tay, và các bài kiểm tra làm những gì anh ta nghĩ họ nên làm, đó là sai;
Lỗi trong khung kiểm tra cơ bản (ví dụ: trừu tượng chế nhạo bị rò rỉ);
Lỗi trong các bài kiểm tra: bài kiểm tra đang làm hơi khác so với những gì lập trình viên nghĩ.
Lỗi loại (1) dường như là không thể ngăn chặn (trừ khi lập trình viên chỉ ... trở nên thông minh hơn). Tuy nhiên, (2) và (3) có thể dễ điều khiển. Làm thế nào để bạn đối phó với các loại lỗi? Bạn có chiến lược đặc biệt nào để tránh chúng không? Ví dụ: bạn có viết một số bài kiểm tra "trống" đặc biệt, chỉ kiểm tra các giả định của tác giả bài kiểm tra không? Ngoài ra, làm thế nào để bạn tiếp cận gỡ lỗi một trường hợp thử nghiệm bị hỏng?