ไม่มีวิธีใดที่จะทำให้แน่ใจว่ากรณีทดสอบของคุณนั้นถูกต้องยกเว้นโดยเน้นที่ดีเมื่อสร้างพวกเขา - เข้าใจความต้องการทำความเข้าใจโค้ดและทำให้แน่ใจว่าพวกเขาเห็นด้วย ประเด็นของการมีชุดทดสอบคือคุณต้องทำสิ่งนี้เพียงครั้งเดียวและหลังจากนั้นคุณสามารถทำการทดสอบซ้ำอีกครั้งและตรวจสอบว่ามันผ่านไปแล้วโดยที่ไม่มีชุดทดสอบคุณจะต้องมีสมาธิอย่างหนักตลอดเวลาคือทุกครั้งที่คุณทำอะไรกับฐานรหัสของคุณ แต่ปัญหาพื้นฐานของการทำให้แน่ใจว่าคุณกำลังทำสิ่งที่ถูกต้องในตอนแรกเหลืออยู่ - คอมพิวเตอร์ก็ไม่ฉลาดพอที่จะลดภาระของเราในงานนั้น
ดังนั้น (1) หากชุดทดสอบของคุณไม่สมบูรณ์ไม่มีวิธีง่ายๆในการดู การวิเคราะห์ความครอบคลุมของรหัสสามารถพิสูจน์ได้ว่าบางบรรทัดของโค้ดไม่เคยถูกดำเนินการนั่นคือชุดข้อมูลมีข้อบกพร่องในบางวิธี แต่ไม่ใช่ว่าการขาดนั้นมีความรุนแรงเพียงใดและไม่สามารถพิสูจน์ได้ว่ามันเพียงพอ แม้จะครอบคลุมรหัส 100% คุณก็ไม่สามารถรับประกันได้ว่าทุกรัฐที่เกี่ยวข้องของระบบมีการใช้งานและการรายงานสถานะที่สมบูรณ์นั้นไม่สามารถทำได้สำหรับระบบที่เป็นจริงใด ๆ เนื่องจากจำนวน combinatorial ของรัฐที่อาจมีอยู่ เทคนิคที่ดีอย่างหนึ่งในการทำให้แน่ใจว่าคุณทดสอบเคสอย่างน้อยก็ถูกต้องสำหรับการตรวจสอบสิ่งที่คุณต้องการตรวจสอบคือการเขียนการทดสอบตรวจสอบว่ามันล้มเหลวแน่นอนเขียน / เปลี่ยนรหัสแล้วตรวจสอบว่าตอนนี้ผ่าน ดังนั้นความกระตือรือร้นสำหรับการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ: ช่วยให้คุณมั่นใจได้ว่าการทดสอบส่วนบุคคลทำในสิ่งที่ถูกต้องและถ้าคุณสร้างฐานรหัสทั้งหมดของคุณในแบบนั้นคุณจะได้รับความมั่นใจในระดับเดียวกันแม้ในระบบขนาดใหญ่
(2) ชุดทดสอบปกติจะไม่เพียงพอเมื่อใดก็ตามที่ความต้องการเปลี่ยนแปลง - คุณไม่ต้องเดา หากลูกค้าต้องการเปลี่ยนพฤติกรรมบางอย่างและการทดสอบของคุณจะประสบความสำเร็จทั้งก่อนและหลังการเปลี่ยนแปลงแสดงว่าพวกเขาไม่ได้ใช้ความสัมพันธ์อินพุต / เอาท์พุตเฉพาะ
สำหรับระบบดั้งเดิมที่ไม่มีการครอบคลุมการทดสอบหรือที่คุณไม่ทราบว่าการครอบคลุมคืออะไรไม่มีการพิสูจน์อย่างเป็นทางการ แต่ (คำแนะนำจากผู้ปกครอง: ความเห็นส่วนตัวตามมา!) การพูดจากประสบการณ์ มีไม่เพียงพอ เมื่อการทดสอบถูกมองว่าเป็นกิจกรรมที่ไม่จำเป็นต้องมีการเสริมคุณภาพ แต่ไม่จำเป็นจริงๆมันก็มีแนวโน้มที่จะไม่สมบูรณ์และไม่มีระบบเพราะสิ่งจูงใจที่ทำให้แน่ใจว่าการทดสอบนั้นสอดคล้องกับรหัสฐาน อยู่ตรงนั้น