มีการศึกษาทางวิทยาศาสตร์เกี่ยวกับ TDD ที่ใช้ต้นทุนการเป็นเจ้าของโดยรวมสำหรับผลิตภัณฑ์ในการวัดหรือไม่?


11

เมื่อฉันอ่านบทสรุปของงานก่อนหน้านี้ในDogsa T, Batic D. ประสิทธิผลของการพัฒนาด้วยการทดสอบ: กรณีศึกษาอุตสาหกรรม วารสารคุณภาพซอฟต์แวร์ 2011; 19 (4): 643-661 มันทำให้ฉันหลงไหลว่าการวัดที่ใช้ในการศึกษาจำนวนมากรอบ ๆ TDD นั้นขึ้นอยู่กับสิ่งต่าง ๆ เช่นบรรทัดของรหัสข้อบกพร่องและเวลาที่ใช้ในการพัฒนา

มีการศึกษาใดบ้างที่มุ่งเน้นไปที่ต้นทุนการเป็นเจ้าของโดยรวมสำหรับผลิตภัณฑ์ที่ได้รับการพัฒนาโดยใช้ TDD กับการพัฒนาแบบดั้งเดิมหรือการทดสอบแบบดั้งเดิมหรือไม่?

ฉันสนใจเป็นพิเศษในค่าใช้จ่ายทั้งหมดในการได้มาและต้นทุนการดำเนินงาน

คำตอบ:


3

มีการศึกษาบางอย่างเกี่ยวกับความหมายและประโยชน์ของการทำ TDD แต่ผลลัพธ์นั้นขัดแย้งกัน บางโครงการ (นี่คือประสบการณ์ของฉัน) มีอัตราบั๊กที่ต่ำกว่าและค่าใช้จ่ายในการเป็นเจ้าของเนื่องจากการใช้ TDD เนื่องจากค่าใช้จ่ายในการเปลี่ยนคุณลักษณะลดลงอย่างมาก บางคนก็หยุดเพื่อหยุด

การศึกษาบางอย่าง ( ที่นี่คือหนึ่ง - ตรวจสอบสไลด์ n50) แสดงให้เห็นว่าจำนวนข้อบกพร่องเพิ่มขึ้นตามความคุ้มครอง ฉันสมมติว่าการครอบคลุมมากขึ้นหมายถึง TDD และจำนวนของแมลงที่สูงขึ้นหมายถึงต้นทุนการเป็นเจ้าของที่สูงขึ้น

จากมุมมองของฉันไม่มีตัวชี้วัดหรือการปฏิบัติของตัวเองสามารถเกี่ยวข้องกับคุณภาพที่ดีขึ้นหรือต้นทุนการเป็นเจ้าของที่ต่ำกว่า มีการรวมกันของปัจจัยที่สามารถนำไปสู่ความสัมพันธ์บางอย่าง และปัจจัยเหล่านั้นเปลี่ยนไประหว่างทีมและโครงการ

ฉันคิดว่าเราทุกคนได้ยินเรื่องราวของทีมซึ่งเพิ่งเริ่มทำ TDD เขียนวิธีทดสอบ 100 บรรทัดซึ่ง (ในมุมมองของฉัน) เพิ่มค่าใช้จ่ายในการเป็นเจ้าของเนื่องจากการอัปเดตการทดสอบนั้นจะมีราคาแพง

กฎในทางปฏิบัติของฉันคือคนที่ใส่ใจและกระตือรือร้นที่จะเรียนรู้การทำงานในสภาพแวดล้อมที่สนับสนุนพวกเขาและความคิดของพวกเขามีคุณภาพและต้นทุนในการเป็นเจ้าของที่ดีขึ้น


slide n50 ทำให้เข้าใจผิดอย่างยิ่ง "ความครอบคลุมที่มากขึ้นข้อผิดพลาดเพิ่มเติม" ส่วนใหญ่หมายถึง "ความครอบคลุมมากขึ้นข้อผิดพลาดเพิ่มเติม ... คุณจะพบ" เป็นไปได้ แต่ฉันสงสัยว่าการครอบคลุมมากขึ้นจะนำไปสู่ข้อบกพร่องที่ฉีดเพิ่มขึ้น นี่เป็นเพียงการระบุว่ายิ่งมีการครอบคลุมมากเท่าใดก็ยิ่งมีข้อบกพร่องมากขึ้นเท่านั้นที่ออกมาจากขั้นตอนการพัฒนา และใช่มีตัวชี้วัดมากมายที่สามารถวัดคุณภาพและต้นทุนการเป็นเจ้าของ - # ข้อบกพร่องที่ถูกฉีดโดยเฟสการให้ผลผลิตที่บกพร่องโดยเฟสและการทำงานซ้ำล้วนเป็นสิ่งที่วัดได้ซึ่งมีผลกระทบโดยตรงต่อคุณภาพและต้นทุน ดู PSP / TSP สำหรับตัวอย่างที่ยอดเยี่ยมของการวัดเหล่านี้
Michael

Michael ในบริบทของสไลด์นั้นผู้นำเสนอแสดงสิ่งที่สัมพันธ์กับความหนาแน่นของบั๊กที่สูงขึ้น หนึ่งในตัวชี้วัดคือกรณีทดสอบดังนั้นยิ่งมีกรณีทดสอบมากเท่าไหร่คลาสก็ยิ่งมีข้อบกพร่องมากขึ้นเท่านั้น สิ่งที่ผู้นำเสนอพยายามพูดคือไม่มีการวัดความสัมพันธ์ของตนเองกับความหนาแน่นของบั๊กที่น้อยลง
Augusto

0

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

ต้องบอกว่าพวกเขาไม่ใช่กระสุนเงินคุณสามารถเขียนโค้ดที่ดีโดยไม่มี TDD ได้หรือไม่? ใช่คุณสามารถเขียนโค้ดที่ไม่ดีโดยใช้ TDD ได้หรือไม่ นอกจากนี้ยังขึ้นอยู่กับโครงการของคุณ TDD สามารถเพิ่มค่าใช้จ่ายในการเป็นเจ้าของรหัสได้อย่างมากตัวอย่างที่ดีคือ NASA ซึ่งค่าใช้จ่ายต่อบรรทัดของรหัสมีขนาดใหญ่มาก แต่ค่าใช้จ่ายในการเป็นเจ้าของไม่ใช่ประเด็นสำคัญ

เมื่อใช้อย่างถูกต้อง TDD จะเพิ่มต้นทุนเริ่มต้นของคุณและฐานรหัสของคุณ แต่คุณจะได้รับประโยชน์ในระยะยาวจากการทดสอบการถดถอยการตรวจจับข้อผิดพลาดในช่วงต้นและการออกแบบรหัสที่ดีกว่าซึ่งควรลดข้อบกพร่องและต้นทุนการทดสอบ ความเป็นเจ้าของ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.