क्या केवल कोडिंग की तुलना में विकास के दौरान इकाई परीक्षण बनाते समय अनुप्रयोगों को विकसित करने में कितना समय लगेगा, क्या कोई आंकड़े उपलब्ध हैं?
इस बारे में कुछ बहुत ही रोचक शोध है। निम्नलिखित श्वेतपत्र पढ़ें:
परीक्षण संचालित विकास के माध्यम से गुणवत्ता में सुधार: चार औद्योगिक टीमों के परिणाम और अनुभव
इसके एक लेखक, नाची नागप्पन के श्वेतपत्र और अन्य शोध , यहां चर्चा की गई है:
http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx
अध्ययन और इसके परिणाम परीक्षण संचालित विकास के माध्यम से गुणवत्ता में सुधार के हकदार एक पेपर में प्रकाशित किए गए थे: आईबीएम अल्माडेन रिसर्च सेंटर के नागप्पन और अनुसंधान सहयोगियों ई। माइकल मैक्सिमिलीन द्वारा चार औद्योगिक टीमों के परिणाम और अनुभव; थिरुमलेश भट, माइक्रोसॉफ्ट में प्रमुख सॉफ्टवेयर-डेवलपमेंट लीड; और नॉर्थ कैरोलिना स्टेट यूनिवर्सिटी के लॉरी विलियम्स। शोध टीम ने पाया कि टीडीडी टीमों ने गैर-टीडीडी टीमों की तुलना में दोष घनत्व के संदर्भ में कोड का उत्पादन 60 से 90 प्रतिशत बेहतर था। उन्होंने यह भी पता लगाया कि टीडीडी की टीमों को अपनी परियोजनाओं को पूरा करने में अधिक समय लगा- 15 से 35 प्रतिशत लंबा।
नागप्पन कहते हैं, "12 महीनों के विकास चक्र में, 35 प्रतिशत एक और चार महीने है, जो बहुत बड़ा है।" “हालांकि, ट्रेडऑफ़ यह है कि आप पोस्ट-रिलीज़ रखरखाव लागत को काफी कम कर देते हैं, क्योंकि कोड की गुणवत्ता इतनी बेहतर है। फिर, ये ऐसे निर्णय हैं जिन्हें प्रबंधकों को करना है - उन्हें हिट कहां लेना चाहिए? लेकिन अब, उन्होंने वास्तव में उन निर्णय लेने के लिए डेटा निर्धारित किया है। ”
इसके अतिरिक्त, जेसन गोर्मन ने इस साल के सॉफ्टवेयर शिल्प कौशल सम्मेलन के लिए इस तरह के एक प्रयोग का प्रस्ताव दिया है । वह TDD और गैर-TDD दृष्टिकोण का उपयोग करके एक ही एप्लिकेशन बनाने का प्रयोग कर रहा है और उसने हाल ही में अपने परिणामों के बारे में ब्लॉग किया है :
3 पुनरावृत्तियों पर, TDD के बिना काटा पूरा करने के लिए लिया गया औसत समय 28 मी 40 था। टीडीडी के साथ औसत समय 25 मीटर 27 था। टीडीडी के बिना, मैंने औसतन 5.7 पास किए (स्वीकृति परीक्षण में वितरित)। टीडीडी के साथ, मैंने औसतन 1.3 पास किए (दो प्रयासों में, वे पहली बार पास हुए, एक में इसे 2 पास हुए।)
अब, यह निश्चित रूप से एक बच्चा प्रयोग था। और बिल्कुल प्रयोगशाला की स्थिति नहीं। लेकिन मैं कुछ दिलचस्प बातों पर ध्यान देता हूं, सभी समान हैं।
इस प्रयोग के पूर्ण परिणाम देखना दिलचस्प होगा जब अधिक लोग इसका प्रदर्शन करेंगे।
क्या ऐसे कोई आंकड़े उपलब्ध हैं, जो बताते हैं कि (अच्छे) यूनिट परीक्षण होने पर कितने घंटे रखरखाव कम हो जाता है?
ऊपर के श्वेतपत्र से:
केस स्टडीज के परिणाम बताते हैं कि चार उत्पादों की पूर्व-रिलीज़ दोष घनत्व 40% और 90% के बीच समान परियोजनाओं के सापेक्ष कम हो गई, जो टीडीडी अभ्यास का उपयोग नहीं करते थे।