ฉันเป็นส่วนหนึ่งของทีมนักพัฒนาซอฟต์แวร์ที่ทำงานกับทีมอื่น ๆ เพื่อรักษาและปรับปรุงแอปพลิเคชันที่ใช้งานมาอย่างน้อย 15 ปี เมื่อมันถูกสร้างและออกแบบครั้งแรก TDD ก็ไม่เคยได้ยินมาก่อน
แอปพลิเคชันค่อนข้างเสถียรและเราไม่ค่อยพบข้อบกพร่องในการแสดง แต่เราทำเฉลี่ยประมาณหนึ่งหรือสองข้อบกพร่องต่อสัปดาห์ที่ลดคุณภาพของการบริการอย่างจริงจัง ข้อบกพร่องเหล่านี้ใช้เวลาตลอดไปในการค้นหาและแก้ไขส่วนใหญ่เป็นเพราะการใช้นิ้วชี้และการทดสอบเดียวที่เรามีคือการทดสอบอินเตอร์เฟส เนื่องจากมีเวลามากมายที่จะตามล่าจุดบกพร่องก่อนที่มันจะสามารถแก้ไขได้ฉันและนักพัฒนาคนอื่นวางแผนที่จะเสนอการพัฒนาแบบทดสอบขับเคลื่อน มีการปรับปรุงใหม่เร็ว ๆ นี้และเราต้องการที่จะเห็นการทดสอบหน่วยใกล้เสร็จในโมดูลใหม่เรายังวางแผนที่จะแนะนำการสร้างหน่วยทดสอบสำหรับรหัสใด ๆ ที่เราต้องแก้ไขนั่นคือมรดก (เช่นการแก้ไขข้อบกพร่องหรือการใช้คุณสมบัติ ) แต่ไม่ต้องใช้เวลาในการพัฒนากรณีทดสอบสำหรับรหัสที่ไม่ได้ทำให้เกิดปัญหา
สำหรับฉันดูเหมือนว่าสมเหตุสมผล เดือนนี้เรามีข้อผิดพลาดที่ใช้เวลานานกว่าสองสัปดาห์ในการแก้ไข แต่สามารถระบุได้ก่อนนำไปใช้หากการทดสอบหน่วยเสร็จสิ้น แต่สำหรับผู้จัดการของเราดูเหมือนว่าพวกเขากำลังจะใช้จ่ายเงินมากขึ้น
ฉันจะโน้มน้าวลูกค้าของเราว่าพวกเขาต้องการใช้เงินสำหรับการทดสอบหน่วยและการพัฒนาแบบทดสอบได้อย่างไร มีการศึกษาใดที่แสดง ROI ของการทดสอบหน่วย?