मैं एक डेवलपर टीम का हिस्सा हूं जो कई अन्य टीमों के साथ काम करता है, जो एक एप्लिकेशन को बनाए रखने और बेहतर बनाने के लिए काम करता है जो कम से कम 15 वर्षों से उपयोग में है। जब इसे पहली बार बनाया और डिजाइन किया गया था, तो TDD को अनसुना कर दिया गया था।
एप्लिकेशन काफी स्थिर है, और हम बग को रोकते हुए एक शो का सामना शायद ही कभी करते हैं, लेकिन हम सप्ताह में एक या दो बग के बारे में औसत करते हैं जो गंभीरता से सेवा की गुणवत्ता को कम करता है। इन बग्स को ढूंढने और ठीक करने के लिए हमेशा के लिए लिया जाता है, मोटे तौर पर उंगली की ओर इशारा करने के कारण, और हमारे पास एकमात्र परीक्षण इंटरफ़ेस परीक्षण है। क्योंकि वहाँ बहुत समय बर्बाद हो रहा है, जहाँ बग को ठीक करने से पहले, मुझे और दूसरे डेवलपर को टेस्ट ड्रग डेवलपमेंट का प्रस्ताव देने की योजना बनाई गई है। जल्द ही एक नया ओवरहाल आ रहा है, और हम नए मॉड्यूल पर किए गए पूर्ण इकाई परीक्षण के निकट देखना चाहेंगे, हम किसी भी कोड के लिए परीक्षण इकाइयों के निर्माण का सुझाव देने की भी योजना बना रहे हैं जो हमें विरासत में बदलना है (यानी, बग फिक्स या फ़ीचर कार्यान्वयन) ), लेकिन उन कोड के लिए परीक्षण मामलों को विकसित करने में समय व्यतीत करने के लिए जो समस्याओं का कारण नहीं बने हैं।
मेरे लिए, यह उचित लगता है। इस महीने हमारे पास एक बग था जिसे ठीक करने में दो सप्ताह का समय लगा, लेकिन अगर यूनिट परीक्षण किया गया था, तो इसे तैनात करने से पहले पहचाना जा सकता था। लेकिन हमारे प्रबंधकों को यह लगता है कि वे अधिक पैसा खर्च करने जा रहे हैं।
मैं अपने ग्राहकों को कैसे समझाऊं कि वे यूनिट टेस्टिंग और टेस्टेड डेवलपमेंट के लिए पैसा खर्च करना चाहते हैं? क्या कोई अध्ययन है जो इकाई परीक्षण के आरओआई को दर्शाता है?