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