हमें आम तौर पर एक नई सुविधा या बग फिक्सिंग के लिए यूनिट परीक्षण लिखने में कितना समय लगाना चाहिए?


9

जब मुझे एक नई सुविधा लागू करनी होती है या बग को ठीक करना होता है, तो मैं आमतौर पर परीक्षण के साथ स्थिति को फिर से बनाने की कोशिश करता हूं। मैं कभी-कभी जुड़नार के साथ आने और परीक्षण लिखने में लगभग 3 घंटे बिताता हूं। वास्तविक सुविधा कार्यान्वयन या बग फिक्सिंग में 1 घंटे से कम समय लगता है।

क्या वास्तव में किसी फीचर को लागू करने या बग को ठीक करने की तुलना में किसी और को कम से कम 3 बार परीक्षण लिखने में खर्च करना पड़ता है? कोड लिखने के लिए लिखित परीक्षा के लिए समय का स्वीकार्य अनुपात क्या है?


2
इसे इस तरह से सोचें: क्या बग को ठीक करने में एक घंटे से भी कम समय लगेगा यदि आपके पास यह पुष्टि करने के लिए परीक्षण नहीं था कि यह अस्तित्व में है, बहुत कम तय किया गया था?
माइकल के

2
प्रश्न शीर्षक का उत्तर: जब तक यह लगता है।
मार्सेलो

3
मुझे लगता है कि टीडीडी सिद्धांतों की परवाह किए बिना मूल्य या व्यावसायिक मूल्य के प्रति आज्ञाकारिता हमेशा सही प्रतिक्रिया होती है।
जेरेमी

आप उस मामले को कैसे संभालते हैं जहां आपका प्रबंधक चाहता है कि आप फिक्स एएसएपी को लगा दें और कार्यान्वयन को पूरी तरह से परखने के लिए अतिरिक्त दिन की प्रतीक्षा नहीं कर सकते?
थियरी लैम

2
आमतौर पर मैं परीक्षण नहीं करने की लागत समझाता हूं। यही है, मैं अब फिक्स को शिप कर सकता हूं, लेकिन अगर हम टेस्ट नहीं लिखते हैं, तो हमें बाद में पूरी बात करनी होगी। कुछ बार वे उस भविष्य की लागत के साथ ठीक होते हैं, लेकिन आमतौर पर हम परीक्षण लिखते हैं।
क्रिस्टोफर Bibbs

जवाबों:


12

यह बग या सुविधा की जटिलता पर भिन्न होता है। मुझे एक परियोजना याद है जो एक बार 1.5 सप्ताह के विकास का अनुमान लगाती थी ... और एक 3 महीने का परीक्षण अनुमान। कोड परिवर्तन छोटा था, यहाँ और वहाँ मुट्ठी भर लाइनें लेकिन इसने कई तरीकों से बीमा प्रणाली के कई घटकों को प्रभावित किया था, इसलिए इसे बहुत अच्छी तरह से जांचना था। एक और समय एक बग था जिसमें गलत जगह पर एक कोष्ठक शामिल था। इसे खोजने के लिए 2 घंटे लगे, इसे ठीक करने के लिए 2 सेकंड, लेकिन लगभग एक सप्ताह में दर्जनों परिदृश्यों का परीक्षण करने के लिए जो तर्क में परिवर्तन से प्रभावित हो सकते हैं।

सामान्य तौर पर, मैं समय बिताए कोडिंग के समय के अनुपात के बारे में चिंता नहीं करता हूं क्योंकि परीक्षण करने के लिए समय है क्योंकि सटीक होने का कोई रास्ता नहीं है। मुझे लगता है कि कुछ परियोजनाओं में, एक परियोजना-सापेक्ष अनुपात दिखाई देता है जो आमतौर पर मानक (परियोजना के लिए) है, लेकिन फिर भी बाद में बदल सकता है।

विश्वास के साथ कहने के लिए जितना समय आवश्यक है, उतना ही खर्च करें कि कोड ठीक से काम करे।


6

जब तक आप यह दिखाने के लिए परीक्षण लिखने में पर्याप्त समय व्यतीत न करें कि आपने यह दिखाया है कि यह फीचर इच्छित तरीके से काम करता है, या बग को सही ढंग से तय किया गया है।

हर स्थिति अलग होगी; किसी प्रकार का अनुपात नहीं हो सकता। कुछ परीक्षणों को लागू होने में दसवां समय लगेगा, दूसरों को सैकड़ों गुना अधिक समय लगेगा।


यही असली जवाब है।
डीजेक्लावर्थ

4

मैंने एक बार एक प्रोजेक्ट में यूनिट टेस्ट शुरू करने के बाद एक सर्वाइवर किया था। परिणाम: समय लेखन परीक्षण खर्च के बारे में 40% फिर से लागू करने के रूप में ज्यादा समय था। लेकिन हम वहाँ पूर्ण कवरेज के लिए लक्ष्य नहीं कर रहे थे, और यह मजबूत संरचना और सम्मेलनों के साथ एक अच्छी तरह से स्थापित परियोजना थी।


3

मैं कहता हूं कि समय कोडिंग बनाम समय लेखन इकाई परीक्षण लगभग बराबर होना चाहिए। शायद थोड़ा और कभी-कभी। कोडिंग बनाम यूनिट परीक्षण पर खर्च किए गए समय के SO अनुपात पर इस लेख पर एक नज़र डालें


0

क्या आप सही गिन रहे हैं? परीक्षणों के बिना आपको कोड लिखने के लिए कितना समय चाहिए, इसका सटीक लेखा-जोखा करने के लिए।

यदि वास्तव में आपको टेस्ट लिखने में तीन घंटे लगते हैं और पास होने के लिए कोड लिखने के लिए, तो आप पा सकते हैं कि टेस्ट लिखने के बिना उसी बग को ठीक करने में 5+ घंटे लगते हैं।

हां, मैं बहुत बार वास्तविक फिक्स कोड की तुलना में परीक्षण पर अधिक समय बिताता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.