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