Thực sự không có cách nào để đảm bảo các trường hợp thử nghiệm của bạn là chính xác, ngoại trừ bằng cách tập trung thực sự tốt khi tạo chúng - hiểu yêu cầu, hiểu mã và đảm bảo rằng chúng đồng ý. Điểm quan trọng của việc có một bộ kiểm tra là bạn chỉ phải thực hiện việc này một lần và từ đó trở đi, bạn có thể thực hiện lại các bài kiểm tra và kiểm tra xem chúng có vượt qua không, trong khi không có bộ kiểm tra bạn sẽ phải tập trung thực sự mọi lúc , tức là bất cứ khi nào bạn làm bất cứ điều gì với cơ sở mã của bạn. Nhưng vấn đề cơ bản của việc phải đảm bảo rằng bạn đang làm điều đúng đắn ngay từ đầu vẫn còn - máy tính đơn giản là không đủ thông minh để giải phóng chúng ta về nhiệm vụ đó.
Do đó, (1) nếu bộ kiểm tra của bạn không đầy đủ, không có cách nào đơn giản để thấy điều đó. Phân tích phạm vi bảo hiểm mã có thể chứng minh rằng một số dòng mã không bao giờ được thực thi, tức là bộ phần mềm bị thiếu theo một cách nào đó, nhưng không phải là sự thiếu hụt đó nghiêm trọng đến mức nào và nó không bao giờ có thể chứng minh rằng nó là đủ. Ngay cả với phạm vi bảo hiểm 100% mã, bạn không đảm bảo rằng tất cả các trạng thái có liên quancủa hệ thống được thực hiện và phạm vi bảo hiểm hoàn toàn là không thể áp dụng cho bất kỳ hệ thống thực tế nào vì số lượng tổ hợp các trạng thái có thể tồn tại. Một kỹ thuật tốt để đảm bảo rằng trường hợp kiểm thử của bạn ít nhất là chính xác để kiểm tra điều bạn muốn kiểm tra là viết bài kiểm tra, xác minh rằng nó thực sự không thành công, viết / thay đổi mã, và sau đó xác minh rằng nó đã vượt qua. Do đó, sự nhiệt tình cho phát triển dựa trên thử nghiệm: nó cho phép bạn khá chắc chắn rằng một thử nghiệm riêng lẻ thực hiện đúng và nếu bạn tạo toàn bộ cơ sở mã của mình theo cách đó, bạn có thể có được mức độ tin cậy tương tự ngay cả trong một hệ thống lớn.
(2) Một bộ kiểm tra thường trở nên không đủ bất cứ khi nào yêu cầu thay đổi - bạn không phải đoán. Nếu khách hàng muốn một số hành vi cụ thể thay đổi và các thử nghiệm của bạn sẽ thành công cả trước và sau khi thay đổi, thì rõ ràng họ không thực hiện mối quan hệ đầu vào / đầu ra cụ thể đó.
Đối với các hệ thống kế thừa không có phạm vi kiểm tra hoặc nơi bạn không biết phạm vi bảo hiểm là gì, không có bằng chứng chính thức, nhưng (lời khuyên của phụ huynh: ý kiến cá nhân theo sau!) Nói về kinh nghiệm rất có thể là các thử nghiệm là không đầy đủ. Khi thử nghiệm được xem là một hoạt động thực tế, tùy chọn, nâng cao chất lượng nhưng không thực sự cần thiết, nó có xu hướng không đầy đủ và không có hệ thống vì khuyến khích đảm bảo các thử nghiệm theo kịp với cơ sở mã chỉ là ở đó