เมื่อทำการทดสอบระบบขนาดใหญ่ มักพบบั๊ก (Bug) ที่ไม่ปรากฏในการทดสอบหน่วยโปรแกรม (Unit Testing) บ่อยครั้ง สาเหตุหลักมาจากข้อใด
กการทดสอบหน่วยโปรแกรมไม่ครอบคลุมการทำงานร่วมกันระหว่างโมดูลหรือส่วนประกอบต่าง ๆ ของระบบ
ขนักพัฒนาขาดทักษะการเขียนโปรแกรมและไม่ปฏิบัติตามมาตรฐานการเขียนโค้ดที่กำหนดไว้
คเครื่องมือทดสอบอัตโนมัติมีข้อจำกัดด้านความสามารถในการตรวจจับข้อผิดพลาดของโค้ด
งฐานข้อมูลที่ใช้ในการทดสอบหน่วยโปรแกรมมีขนาดเล็กเกินไปจนไม่สามารถจำลองสภาพแวดล้อมจริงได้
เฉลยอธิบาย
การทดสอบหน่วยโปรแกรม (Unit Testing) มุ่งทดสอบโมดูลหรือฟังก์ชันแต่ละหน่วยแยกกัน จึงไม่สามารถตรวจจับข้อผิดพลาดที่เกิดจากการทำงานร่วมกัน (Integration) ระหว่างโมดูลได้ บั๊กประเภทนี้จะปรากฏเมื่อทำการทดสอบในระดับ Integration Testing หรือ System Testing ซึ่งทดสอบการทำงานของระบบโดยรวม เช่น ปัญหา Interface ระหว่างโมดูล ปัญหาการส่งข้อมูลข้ามส่วนประกอบ หรือปัญหาด้าน Timing และ Concurrency ที่เกิดขึ้นเฉพาะเมื่อโมดูลหลายส่วนทำงานพร้อมกัน