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