रिग्रेशन टेस्टिंग क्या है?
रिग्रेशन टेस्टिंग क्या है?
प्रतिगमन परीक्षण इसे सॉफ़्टवेयर परीक्षण के एक प्रकार के रूप में परिभाषित किया जाता है, जो यह पुष्टि करता है कि हाल ही में किसी प्रोग्राम या कोड में किए गए बदलाव से मौजूदा सुविधाओं पर प्रतिकूल प्रभाव नहीं पड़ा है। हम यह भी कह सकते हैं कि यह पहले से निष्पादित परीक्षण मामलों का एक पूर्ण या आंशिक चयन है, जिसे मौजूदा कार्यक्षमताओं के ठीक से काम करने को सुनिश्चित करने के लिए फिर से निष्पादित किया जाता है।
इस प्रकार का परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि नए कोड परिवर्तनों का मौजूदा कार्यक्षमताओं पर कोई दुष्प्रभाव न हो। यह सुनिश्चित करता है कि नवीनतम कोड परिवर्तन किए जाने के बाद भी पुराना कोड काम करता रहे।
प्रतिगमन परीक्षण क्यों?
परीक्षण के दायरे में रिग्रेशन परीक्षण प्रक्रिया आवश्यक है। क्योंकि यह पहचान सकता है कि क्या कोड में परिवर्तन या संवर्द्धन नए दोष उत्पन्न कर रहे हैं या मौजूदा कार्यात्मक परीक्षणों को बाधित कर रहे हैं।
रिग्रेशन परीक्षण प्रक्रिया के बिना, कोड में मामूली बदलाव भी महंगी त्रुटियों को जन्म दे सकता है। इसलिए, यह सॉफ़्टवेयर की गुणवत्ता बनाए रखने में मदद करने के लिए एक व्यवस्थित अभ्यास है। यह विधि ज्ञात समस्याओं की पुनरावृत्ति को रोकने में मदद करती है और सॉफ़्टवेयर में विश्वास बढ़ाती है।
हम रिग्रेशन परीक्षण कब कर सकते हैं?
यहां वे परिदृश्य दिए गए हैं जब आप प्रतिगमन परीक्षण प्रक्रिया लागू कर सकते हैं।
एप्लिकेशन में नई कार्यक्षमता जोड़ी गई है: ऐसा तब होता है जब किसी ऐप या वेबसाइट में नए फ़ीचर या मॉड्यूल बनाए जाते हैं। यह देखने के लिए रिग्रेशन किया जाता है कि क्या मौजूदा फ़ीचर नए फ़ीचर के आने के बाद भी सामान्य रूप से काम कर रहे हैं।
परिवर्तन की आवश्यकता होने पर: जब सिस्टम में कोई महत्वपूर्ण बदलाव होता है, तो रिग्रेशन परीक्षण का उपयोग किया जाता है। यह परीक्षण यह जांचने के लिए किया जाता है कि क्या इन बदलावों ने पहले से मौजूद सुविधाओं को प्रभावित किया है।
दोष ठीक हो जाने के बाद: डेवलपर्स किसी भी कार्यक्षमता में बग को ठीक करने के बाद रिग्रेशन परीक्षण करते हैं। यह यह निर्धारित करने के लिए किया जाता है कि बग को ठीक करते समय किए गए परिवर्तनों ने अन्य संबंधित मौजूदा सुविधाओं को प्रभावित किया है या नहीं।
एक बार प्रदर्शन संबंधी समस्या ठीक हो जाए तो: किसी भी प्रदर्शन संबंधी समस्या को ठीक करने के बाद, प्रतिगमन परीक्षण प्रक्रिया शुरू की जाती है, यह देखने के लिए कि क्या इसने अन्य मौजूदा कार्यात्मक परीक्षणों को प्रभावित किया है।
किसी नए बाह्य सिस्टम के साथ एकीकरण करते समय: जब भी उत्पाद किसी नई बाह्य प्रणाली के साथ एकीकृत होता है तो एंड-टू-एंड रिग्रेशन परीक्षण प्रक्रिया की आवश्यकता होती है।
सॉफ्टवेयर परीक्षण में रिग्रेशन परीक्षण कैसे करें
जैसा कि हमने पहले चर्चा की थी, रिग्रेशन परीक्षण सॉफ़्टवेयर में किए गए किसी भी बदलाव के आधार पर शुरू किया जाता है। यह बग फिक्स, नई सुविधा एकीकरण, इत्यादि हो सकता है। जब भी ऐसा कोई काम होता है, तो QA टीम नीचे दी गई निम्नलिखित गतिविधियाँ करती है। ये कार्य रिग्रेशन परीक्षण निष्पादन चक्र शुरू करने से पहले किए जाते हैं।
- परिवर्तन के दौरान जिन विशिष्ट मॉड्यूल और लाइब्रेरीज़ पर ध्यान दिया गया था, उनके बारे में विकास टीम के साथ चर्चा करें
- नए फीचर में परिवर्तन के बारे में उत्पाद स्वामी से चर्चा करें और जानें कि यह अन्य कार्यक्षमताओं पर किस प्रकार प्रभाव डालता है।
- मौजूदा परीक्षण सूट से उन परीक्षणों की पहचान करें जिन्हें परीक्षकों को मौजूदा सुविधाओं को पुनः प्राप्त करने के लिए निष्पादित करने की आवश्यकता है।
प्रभावी सॉफ्टवेयर गुणवत्ता आश्वासन के लिए विभिन्न प्रतिगमन परीक्षण तकनीकों का उपयोग किया जा सकता है:
सभी का पुनः परीक्षण करें
यह रिग्रेशन परीक्षण के लिए एक विधि है, विशेष रूप से रिग्रेशन परीक्षण सूट का उपयोग करना। इस मामले में, मौजूदा परीक्षण बकेट या सूट में सभी परीक्षणों को फिर से निष्पादित किया जाना चाहिए। यह एक महंगी विधि है क्योंकि इसके लिए बहुत समय और संसाधनों की आवश्यकता होती है।
प्रतिगमन परीक्षण चयन
रिग्रेशन टेस्ट सिलेक्शन एक ऐसी तकनीक है जिसमें टेस्ट सूट से कुछ चुने हुए टेस्ट केस निष्पादित किए जाते हैं। यह जांचने में मदद करता है कि संशोधित कोड सॉफ़्टवेयर एप्लिकेशन को प्रभावित करता है या नहीं। यहाँ, टेस्ट केस को दो भागों में वर्गीकृत किया गया है। पुन: प्रयोज्य टेस्ट केस का उपयोग आगे के रिग्रेशन चक्रों में किया जा सकता है, जबकि अप्रचलित टेस्ट केस का उपयोग बाद के चक्रों में नहीं किया जा सकता है।
परीक्षण मामलों का प्राथमिकताकरण
परीक्षण मामलों की प्राथमिकता व्यावसायिक प्रभाव, गंभीरता और अक्सर उपयोग किए जाने वाले कार्यात्मक परीक्षणों पर निर्भर करती है। साथ ही, प्राथमिकता के आधार पर परीक्षण मामलों को प्राथमिकता देने से प्रतिगमन परीक्षणों को निष्पादित करने का प्रयास बहुत कम हो जाता है।
प्रतिगमन परीक्षण के लिए परीक्षण मामलों का चयन
उद्योग के आंकड़ों से पता चला कि ग्राहकों द्वारा बताई गई अधिकांश खामियाँ अंतिम समय में बग फिक्स करने के कारण थीं। इसके परिणामस्वरूप साइड इफ़ेक्ट हुए, इसलिए, इसे चुनना परीक्षण के मामलों क्योंकि प्रतिगमन परीक्षण कोई आसान काम नहीं है।
निम्नलिखित प्रकार के परीक्षण मामलों का चयन करके एक प्रभावी प्रतिगमन परीक्षण सूट बनाया जा सकता है –
- उन कार्यात्मकताओं/मॉड्यूलों के परीक्षण मामले जिनमें बार-बार दोष आते हैं।
- कार्यात्मकताएँ जो उपयोगकर्ताओं को अधिक दिखाई देती हैं
- परीक्षण मामले जो उत्पाद की मुख्य विशेषताओं को सत्यापित करते हैं
- कार्यात्मकताओं के परीक्षण मामले जिनमें हाल ही में परिवर्तन हुए हैं।
- सभी एकीकरण रिस्ट्रेस
- सभी जटिल परीक्षण मामले
- सीमा मान परीक्षण मामले
- चयनित सुखद पथ और नकारात्मक परीक्षण मामले
प्रतिगमन परीक्षण उपकरण
यदि आपके सॉफ़्टवेयर में बार-बार बदलाव होते हैं, तो रिग्रेशन परीक्षण की लागत बढ़ जाएगी। चूंकि परीक्षण मामलों का मैन्युअल निष्पादन परीक्षण निष्पादन समय के साथ-साथ लागत भी बढ़ाता है। ऐसे मामलों में रिग्रेशन परीक्षण मामलों का स्वचालन एक स्मार्ट विकल्प है। स्वचालन की सीमा उन परीक्षण मामलों की संख्या पर निर्भर करती है जो लगातार रिग्रेशन चक्रों के लिए पुन: प्रयोज्य रहते हैं।
सॉफ्टवेयर इंजीनियरिंग में कार्यात्मक और प्रतिगमन परीक्षण स्वचालन दोनों के लिए उपयोग किए जाने वाले सबसे महत्वपूर्ण उपकरण निम्नलिखित हैं:
1) परीक्षण कठोरता
परीक्षण कठोरता आपको सीधे अंग्रेजी में निष्पादन योग्य विनिर्देशों के रूप में परीक्षणों को व्यक्त करने में मदद करता है। सभी तकनीकी क्षमताओं के उपयोगकर्ता मोबाइल, वेब और API चरणों को कवर करने वाली किसी भी जटिलता के एंड-टू-एंड परीक्षण बना सकते हैं। परीक्षण चरण XPaths या CSS चयनकर्ताओं जैसे कार्यान्वयन के विवरण पर निर्भर होने के बजाय अंतिम-उपयोगकर्ता स्तर पर व्यक्त किए जाते हैं।
विशेषताएं:
- हमेशा के लिए मुफ़्त सार्वजनिक संस्करण
- परीक्षण मामले अंग्रेजी में हैं
- असीमित उपयोगकर्ता और असीमित परीक्षण
- स्वचालन सीखने का सबसे आसान तरीका
- वेब चरणों के लिए रिकॉर्डर
- CI/CD और परीक्षण केस प्रबंधन के साथ एकीकरण
- ईमेल और एसएमएस परीक्षण
- एक ही परीक्षण में वेब + मोबाइल + API चरण
Selenium: Selenium वेब अनुप्रयोगों को स्वचालित करने के लिए सबसे अधिक उपयोग किया जाने वाला ओपन-सोर्स टूल है। Selenium ब्राउज़र-आधारित प्रतिगमन परीक्षण के लिए इस्तेमाल किया जा सकता है। यह प्रोग्रामिंग भाषाओं का समर्थन करता है जैसे Javaमाणिक, Python, आदि
क्विक टेस्ट प्रोफेशनल (QTP): HP क्विक टेस्ट प्रोफेशनल एक स्वचालित सॉफ्टवेयर है जिसे फंक्शनल और रिग्रेशन टेस्ट मामलों को स्वचालित करने के लिए डिज़ाइन किया गया है। यह स्वचालन के लिए VB स्क्रिप्ट भाषा का उपयोग करता है। यह एक डेटा-संचालित, कीवर्ड-आधारित उपकरण है।
तर्कसंगत कार्यात्मक परीक्षक (आरएफटी): IBMका तर्कसंगत कार्यात्मक परीक्षक एक है Java सॉफ़्टवेयर अनुप्रयोगों के परीक्षण मामलों को स्वचालित करने के लिए उपयोग किया जाने वाला उपकरण। इसका उपयोग मुख्य रूप से रिग्रेशन परीक्षण मामलों को स्वचालित करने के लिए किया जाता है, और यह रैशनल टेस्ट मैनेजर के साथ भी एकीकृत होता है।
प्रतिगमन परीक्षण के प्रकार
प्रतिगमन परीक्षण के विभिन्न प्रकार इस प्रकार हैं:
1) यूनिट रिग्रेशन परीक्षण (यूआरटी)
यह एक बहुत ही केंद्रित दृष्टिकोण है जहाँ केवल संशोधित भाग ही प्रतिगमन परीक्षण के अंतर्गत आता है, न कि प्रभाव क्षेत्र। इस तरह, मॉड्यूल के अन्य भाग अप्रभावित रहते हैं।
उदाहरण
एक के रूप में उदाहरण के लिए, बिल्ड 1 में एक समस्या पाई गई और डेवलपर को इसकी सूचना दी गई।
मान लीजिए कि यह लॉगिन कार्यक्षमता में एक बग था। इसलिए डेवलपर इसे ठीक करता है, बिल्ड 2 में बग फिक्स जोड़ता है, और इसे सबमिट करता है। परीक्षण टीम केवल यह जांचती है कि लॉगिन सुविधा अपेक्षित रूप से काम कर रही है या नहीं, अन्य सुविधाओं की जांच करने के बजाय।
2) क्षेत्रीय प्रतिगमन परीक्षण (आरआरटी)
क्षेत्रीय प्रतिगमन परीक्षण में, संशोधन और प्रभाव क्षेत्रों का परीक्षण किया जाता है। इस क्षेत्र की जांच यह पता लगाने के लिए की जाती है कि क्या कोई भरोसेमंद मॉड्यूल परिवर्तनों से प्रभावित हो सकता है।
उदाहरण: इस उदाहरण में, पहले बिल्ड में, मॉड्यूल A, B, C और D को डेवलपर द्वारा परीक्षण के लिए भेजा जाता है। परीक्षक को मॉड्यूल B में बग मिलते हैं, इसलिए बग को ठीक करने के लिए एप्लिकेशन डेवलपर को वापस कर दिया जाता है।
जब डेवलपर मॉड्यूल B में दूसरे बिल्ड में बग को ठीक कर देता है, तो उसे फिर से टेस्ट इंजीनियर के पास भेजा जाता है। टेस्ट इंजीनियर को पता चलता है कि मॉड्यूल B को ठीक करने से A और C पर असर पड़ा है।
इसलिए, परीक्षक दूसरे रिलीज़ में मॉड्यूल बी के संशोधनों की जाँच करता है। फिर, ए और सी में प्रभाव क्षेत्रों का भी परीक्षण करता है ताकि यह पता लगाया जा सके कि वे कैसे प्रभावित हुए हैं।
नोट: प्रतिगमन परीक्षण के दौरान, नीचे दी गई यह समस्या उत्पन्न हो सकती है।
समस्या:
- बिल्ड 1 में, ग्राहक आमतौर पर परिवर्तन, संशोधन और अतिरिक्त सुविधाओं की मांग करते हैं।
- फिर यह अनुरोध विकास और परीक्षण दोनों टीमों को भेजा जाता है।
- इसके बाद विकास टीम संशोधन करती है। इसके बाद, परीक्षण इंजीनियर क्लाइंट को ईमेल भेजकर उन क्षेत्रों के बारे में सूचित करता है, जिन पर संशोधन का प्रभाव पड़ेगा।
- इसके बाद परीक्षण प्रमुख ग्राहक, डेवलपर्स और परीक्षण विभाग से प्रभावित क्षेत्रों की सूची एकत्र करता है।
- इसके बाद प्रभाव सूची परीक्षण इंजीनियरों को भेजी जाती है, जो प्रतिगमन परीक्षण शुरू करते हैं।
इस प्रकार की परीक्षण पद्धति संचार अंतराल पैदा करती है। डेवलपर्स और ग्राहक हमेशा ईमेल का जवाब नहीं दे सकते हैं; इसलिए, प्रभाव क्षेत्र का कोई उचित अवलोकन नहीं है।
उपाय: इस तरह की समस्या को दूर करने के लिए, बग फिक्स, नई सुविधाओं और संशोधनों के बाद नया बिल्ड आने पर परीक्षण टीम एक बैठक आयोजित कर सकती है। यह बैठक इस बात पर चर्चा करने के लिए आयोजित की जाएगी कि संशोधनों के कारण मॉड्यूल प्रभावित हुए हैं या नहीं।
प्रभावों का पता लगाने के लिए एक परीक्षण दौर होगा ताकि वे एक प्रभाव सूची बना सकें। परीक्षण लीड इस सूची में प्रभाव क्षेत्र में अधिकतम संख्या में क्षेत्रों को जोड़ता है।
नीचे बताया गया है कि यह प्रक्रिया किस प्रकार होगी:
- एप्लिकेशन की मुख्य क्षमताओं की जांच करने के लिए "बिल्ड सत्यापन परीक्षण"।
- सभी नई सुविधाओं का परीक्षण.
- परिवर्तित या संशोधित सुविधाओं की जांच करना।
- बगों का पुनः परीक्षण.
- फिर, अंत में, क्षेत्रीय प्रतिगमन परीक्षण का उपयोग करके प्रभाव क्षेत्र विश्लेषण।
3) पूर्ण प्रतिगमन परीक्षण (एफआरटी):
यह परीक्षण किसी एप्लिकेशन की सभी कार्यक्षमताओं को कवर करता है। पूर्ण प्रतिगमन परीक्षण आमतौर पर बाद के रिलीज़ में किया जाता है। इस प्रकार, आप पहले कुछ रिलीज़ के बाद और लॉन्च करने से पहले अंतिम परीक्षण के रूप में FRT का उपयोग कर सकते हैं।
दूसरे या तीसरे निर्माण में, ग्राहक या व्यवसाय स्वामी संशोधनों की मांग कर सकते हैं। वे नई कार्यक्षमताओं की मांग भी कर सकते हैं और या दोषों की रिपोर्ट कर सकते हैं। परीक्षण दल तब प्रभाव विश्लेषण करता है, सभी संशोधन करता है, और अंतिम पूर्ण उत्पाद परीक्षण करता है।
उदाहरण के लिए, चौथा बिल्ड लॉन्च से पहले अंतिम रिलीज़ होता है। इसलिए, इस बिल्ड में, परीक्षण टीम सिर्फ़ प्रभाव क्षेत्र या किसी विशेषता के बजाय उत्पाद का पूरा परीक्षण या पुनः परीक्षण करती है। यह बिल्ड 4, 1 और 2 में संशोधनों और परीक्षणों के बाद किया जाता है।
पूर्ण प्रतिगमन परीक्षण करने के लिए, आपको इन परिस्थितियों पर विचार करना होगा:
- एप्लिकेशन के मुख्य घटकों पर परिवर्तन किए जाते हैं। उदाहरण के लिए, यदि किसी ऐप या कोर मॉड्यूल की रूट फ़ाइल में कोई संशोधन है, तो पूरे एप्लिकेशन को रिग्रेस करने की आवश्यकता है। यदि कई परिवर्तन किए गए हैं।
4) सुधारात्मक प्रतिगमन परीक्षण:
यह परीक्षण तब किया जाता है जब सुविधाओं में कोई संशोधन नहीं किया जाता है। ऐसे परीक्षण मौजूदा मामलों के साथ किए जा सकते हैं।
5) सभी रिग्रेशन परीक्षण पुनः करें:
परीक्षण के इस रूप में, मूल या बिल्ड 1 से अनुप्रयोग में किए गए सभी छोटे से लेकर बड़े परिवर्तनों का पुनः परीक्षण किया जाता है।
यह परीक्षण तब किया जाता है जब अन्य सभी प्रतिगमन परीक्षण समस्याओं के मूल कारण की पहचान करने में विफल हो जाते हैं।
6) चयनात्मक प्रतिगमन परीक्षण:
यह जांचने के लिए किया जाता है कि जब प्रोग्राम में नया कोड जोड़ा जाता है तो कोड कैसे प्रतिक्रिया करता है। इस परीक्षण को संचालित करने के लिए, मौजूदा मामलों से एक उप-समूह का उपयोग इसे कुशल और लागत प्रभावी बनाने के लिए किया जाता है। उप-समूह का चयन करने के मानदंड संशोधित कोड मॉड्यूल, निर्भरता, प्रभावित कार्यक्षमता की गंभीरता और ऐतिहासिक दोष डेटा पर आधारित होते हैं।
7) प्रगतिशील प्रतिगमन परीक्षण:
इस प्रकार का प्रतिगमन परीक्षण तब महत्वपूर्ण आउटपुट उत्पन्न करता है जब प्रोग्राम में विशिष्ट परिवर्तन किए जाते हैं और नए परीक्षण मामले बनाए जाते हैं।
इससे यह सुनिश्चित करने में मदद मिलती है कि पुराने संस्करणों का कोई भी घटक नवीनतम संस्करण में प्रभावित नहीं हुआ है।
8) आंशिक प्रतिगमन परीक्षण:
आंशिक प्रतिगमन परीक्षण का उपयोग यह सत्यापित करने के लिए किया जाता है कि नए कोड परिवर्तन या संवर्द्धन मौजूदा कार्यक्षमता को नकारात्मक रूप से प्रभावित नहीं करते हैं। हालाँकि, पूर्ण प्रतिगमन परीक्षण के विपरीत, जिसमें पूरे एप्लिकेशन का पुनः परीक्षण करना शामिल है, आंशिक प्रतिगमन परीक्षण में, हम हाल के परिवर्तनों से प्रभावित सॉफ़्टवेयर के केवल विशिष्ट भागों पर ध्यान केंद्रित करते हैं।
इसलिए, आंशिक प्रतिगमन परीक्षण का प्राथमिक उद्देश्य एप्लिकेशन के अपरिवर्तित भागों के पुनः परीक्षण से बचकर समय और संसाधनों को बचाना है। आंशिक प्रतिगमन परीक्षण के लिए परीक्षण मामलों को कोड परिवर्तनों के प्रभाव विश्लेषण के आधार पर सावधानीपूर्वक चुना जाता है। आंशिक प्रतिगमन परीक्षण सूट में शामिल करने के लिए सही परीक्षण मामलों की पहचान करना महत्वपूर्ण है। महत्वपूर्ण परीक्षण मामलों को छोड़ देने से अनदेखी की गई समस्याएं हो सकती हैं।
स्वचालित प्रतिगमन परीक्षण
जैसा कि पहले बताया गया है, जब कई रिलीज़ होते हैं तो रिग्रेशन टेस्ट को स्वचालित करना ज़रूरी होता है। यह कई रिग्रेशन चक्रों और कई दोहराव वाली गतिविधियों के लिए भी ज़रूरी है। चूँकि रिलीज़ में कई परीक्षण चक्रों को निष्पादित करना बहुत समय लेने वाला होता है।
हालाँकि, स्वचालन के साथ, आप कई बार परीक्षण कर सकते हैं। इसके लिए निष्पादन के लिए स्वचालन परीक्षण स्क्रिप्ट लिखने की आवश्यकता होती है, जिसके लिए प्रासंगिक योजना और डिजाइनिंग की आवश्यकता होती है। ऐसे परीक्षण में, टीम सीधे स्वचालन से शुरू नहीं कर सकती है। इसलिए, हमें इस दायरे को कवर करने के लिए मैन्युअल परीक्षण और स्वचालन परीक्षण दोनों टीमों को शामिल करने की आवश्यकता है। यहाँ बताया गया है कि स्वचालित प्रतिगमन परीक्षण कैसे किया जाता है:
चरण 1) मैन्युअल परीक्षण टीम सभी आवश्यकताओं की जाँच करती है और प्रभाव क्षेत्र की पहचान करती है। इस प्रक्रिया के बाद, वे आवश्यकता परीक्षण बंडल को ऑटोमेशन टीम या ऑटोमेशन इंजीनियर को भेजते हैं।
चरण 2) मैनुअल परीक्षण टीम नए मॉड्यूल का परीक्षण शुरू करती है, जबकि स्वचालन परीक्षण टीम स्क्रिप्ट लिखती है और परीक्षण मामले को स्वचालित करती है।
चरण 3) प्रतिगमन परीक्षण की इस पद्धति का उपयोग करने से पहले, स्वचालन टीम यह पहचान करती है कि कौन से मामले स्वचालन का समर्थन करेंगे।
चरण 4) वे उन प्रतिगमन परीक्षणों को स्क्रिप्ट में परिवर्तित करते हैं, जो इस बात पर निर्भर करता है कि कौन से मामलों को स्वचालित किया जा सकता है।
चरण 5) स्क्रिप्टिंग प्रक्रिया के दौरान, ऑटोमेशन टीम रिग्रेशन टेस्ट केस का संदर्भ लेती है। वे ऐसा इसलिए करते हैं क्योंकि उनके पास उत्पाद या टूल और ऐप का ज्ञान नहीं होता है।
चरण 6) जब परीक्षण स्क्रिप्ट पूरी हो जाएंगी, तो स्वचालन टीम उन्हें नए ऐप पर निष्पादित करेगी।
चरण 7) निष्पादन के बाद, परिणाम बताता है कि परीक्षण पास था या असफल।
चरण 8) यदि परीक्षण विफल हो जाता है, तो मैन्युअल परीक्षण विधि का उपयोग करके इसकी पुनः जांच की जाती है, और यदि समस्या मौजूद है, तो इसकी सूचना संबंधित डेवलपर को दी जाती है।
नोट: बग को ठीक करने के बाद, समस्या और प्रभाव क्षेत्र को पुनः परीक्षण के लिए मैनुअल परीक्षक के पास भेजा जाता है, और स्वचालन टीम स्क्रिप्ट को पुनः निष्पादित करती है।
चरण 9) यह प्रक्रिया तब तक जारी रहती है जब तक कि सभी नई जोड़ी गई रिग्रेशन सुविधाओं को पास का दर्जा नहीं मिल जाता।
स्वचालित प्रतिगमन परीक्षण के लाभ इस प्रकार हैं:
- पुन: प्रयोज्य: इसकी परीक्षण स्क्रिप्ट कई रिलीज़ों में पुन: प्रयोज्य हैं।
- शुद्धता: स्वचालन उपकरण कार्य को अनावश्यक रूप से निष्पादित करते हैं, जिससे त्रुटि की संभावना कम हो जाती है।
- समय बचाता है: यह मैनुअल कार्यात्मक परीक्षण प्रक्रिया की तुलना में तेज़ है और समय कुशल है।
- बैच निष्पादन: स्वचालित परीक्षण में सभी स्क्रिप्टों को एक साथ और समानांतर रूप से निष्पादित करना संभव है।
- संसाधन वृद्धि की आवश्यकता नहीं: हर नए रिलीज़ के साथ रिग्रेशन टेस्ट बढ़ना तय है। हालाँकि, आपको ऑटोमेशन के लिए नए संसाधन जोड़ने की ज़रूरत नहीं है।
प्रतिगमन परीक्षण के लिए परीक्षण मामलों का चयन कैसे करें?
यहां बताया गया है कि आप प्रतिगमन परीक्षण के लिए सही मामले का चयन कैसे कर सकते हैं।
- परिवर्तनों के दायरे को समझें और एप्लिकेशन के उन हिस्सों को निर्धारित करें जिन्हें संशोधित, जोड़ा या ठीक किया गया है। फिर आप रिग्रेशन परीक्षण के लिए इन क्षेत्रों पर ध्यान केंद्रित कर सकते हैं।
- एक ऐसा सूट रखें जो महत्वपूर्ण कार्यक्षमता को कवर करता हो और इसे रिग्रेशन परीक्षण के लिए आधार रेखा के रूप में बनाए रखता हो। जैसा कि पहले चर्चा की गई है, इन परीक्षणों को स्वचालित करने की अत्यधिक अनुशंसा की जाती है।
- कार्यक्षमता की गंभीरता, अंतिम उपयोगकर्ता पर प्रभाव और ऐतिहासिक दोष डेटा के आधार पर परीक्षणों को प्राथमिकता दें।
रिग्रेशन परीक्षण के सर्वोत्तम अभ्यास
नीचे कुछ प्रमुख अभ्यास दिए गए हैं जिनका आपको प्रतिगमन परीक्षण करते समय पालन करना चाहिए।
जहां भी संभव हो स्वचालित करें
स्वचालित प्रतिगमन परीक्षण, परीक्षण प्रयास को कम करता है और बड़ी संख्या में परीक्षण मामलों के त्वरित निष्पादन की अनुमति देता है।
लगातार मेल जोल
CI/CD पाइपलाइनों में रिग्रेशन परीक्षण को शामिल करने से यह सुनिश्चित होता है कि जब भी कोडबेस में परिवर्तन किए जाएं, तो परीक्षण स्वचालित रूप से चलाए जाएं।
परीक्षण केस चयन
परीक्षण मामलों के एक उपसमूह की पहचान करें और उसे बनाए रखें जो मुख्य कार्यक्षमता और उच्च जोखिम वाले क्षेत्रों का प्रतिनिधित्व करते हैं। आप उन परिवर्तनों से सीधे संबंधित लोगों को भी चुन सकते हैं क्योंकि सभी पिछले परीक्षण मामलों को चलाना अव्यावहारिक हो सकता है।
नियमित निष्पादन
नियमित रूप से रिग्रेशन परीक्षण करें, खासकर हर कोड परिवर्तन के बाद। इससे विकास प्रक्रिया में शुरुआती समस्याओं की पहचान करने में मदद मिलती है।
डेटा प्रबंधन का परीक्षण करें
सुनिश्चित करें कि प्रतिगमन परीक्षणों के लिए प्रयुक्त परीक्षण डेटा सुसंगत और प्रबंधनीय हो, क्योंकि डेटा-संबंधी समस्याएं परीक्षण परिणामों को प्रभावित कर सकती हैं।
पर्यावरण प्रबंधन
सुसंगत और पुनरुत्पादनीय परीक्षण वातावरण बनाए रखें। इसमें उत्पादन में उपयोग किए जाने वाले समान ऑपरेटिंग सिस्टम, ब्राउज़र और डिवाइस कॉन्फ़िगरेशन का उपयोग करना शामिल है।
रिकॉर्ड और ट्रैक दोष
रिग्रेशन परीक्षण के दौरान पाए गए किसी भी दोष को लॉग किया जाना चाहिए, ट्रैक किया जाना चाहिए और प्रबंधित किया जाना चाहिए। गंभीरता के आधार पर उनके समाधान को प्राथमिकता दें।
रेस की क्षमता
दोहराव को कम करने और रखरखाव में सुधार करने के लिए पुन: प्रयोज्य परीक्षण स्क्रिप्ट और परीक्षण डेटा बनाएं।
प्रतिगमन परीक्षण और कॉन्फ़िगरेशन प्रबंधन
रिग्रेशन परीक्षण के दौरान कॉन्फ़िगरेशन प्रबंधन एजाइल वातावरण में अनिवार्य हो जाता है जहाँ कोड को लगातार संशोधित किया जा रहा हो। प्रभावी रिग्रेशन परीक्षण सुनिश्चित करने के लिए, निम्नलिखित का पालन करें:
- प्रतिगमन परीक्षण किया जाने वाला कोड कॉन्फ़िगरेशन प्रबंधन टूल के अंतर्गत होना चाहिए।
- रिग्रेशन टेस्ट चरण के दौरान कोड में कोई भी बदलाव नहीं होने दिया जाना चाहिए। रिग्रेशन टेस्ट कोड को डेवलपर द्वारा किए जाने वाले बदलावों से बचाए रखना चाहिए।
- रिग्रेशन परीक्षण के लिए उपयोग किया जाने वाला डेटाबेस पृथक होना चाहिए। डेटाबेस में किसी भी तरह के बदलाव की अनुमति नहीं दी जानी चाहिए
पुनःपरीक्षण और प्रतिगमन परीक्षण के बीच अंतर
पुनःपरीक्षण का अर्थ है दोष या बग का फिर से कार्यात्मक परीक्षण करना ताकि यह सुनिश्चित हो सके कि कोड ठीक हो गया है। यदि यह ठीक नहीं होता है, तो दोष इसे फिर से खोलने की जरूरत है। अगर ठीक हो जाता है, तो दोष बंद हो जाता है।
रिग्रेशन परीक्षण का मतलब है कि आपके सॉफ़्टवेयर एप्लिकेशन का परीक्षण तब किया जाता है जब उसमें कोड परिवर्तन होता है। यह सुनिश्चित करने के लिए किया जाता है कि नए कोड ने सॉफ़्टवेयर के अन्य भागों को प्रभावित नहीं किया है।
इन दोनों परीक्षणों के बीच मुख्य अंतर नीचे दिए गए हैं:
retesting | प्रतिगमन परीक्षण |
---|---|
यह विशेष रूप से दोष निवारण के लिए बनाया गया है। | रिग्रेशन परीक्षण मुख्य रूप से यह सत्यापित करने के लिए किया जाता है कि क्या कोड परिवर्तनों ने अन्य कार्यात्मकताओं को प्रभावित किया है। |
पुनःपरीक्षण से अन्य संस्करणों की जांच नहीं होती है तथा केवल यह सत्यापित होता है कि क्या टूटी हुई कार्यक्षमताएं पुनः बहाल हो गई हैं। | पिछले संस्करणों पर ध्यान केंद्रित करता है, तथा यह परीक्षण करता है कि क्या पिछले फ़ंक्शन अभी भी अपेक्षानुसार काम कर रहे हैं। |
प्रत्येक परीक्षण विशिष्ट है | प्रतिगमन एक सामान्य परीक्षण है। |
यह परीक्षण असफल परीक्षण मामलों के लिए है। | यह उत्तीर्ण परीक्षण मामलों के लिए है। |
यह विशिष्ट दोषों की जांच करता है, इसलिए इसे स्वचालित नहीं किया जा सकता। | इसे स्वचालित किया जा सकता है। जैसा कि हमने पहले चर्चा की है, इसे स्वचालित करने की भी अत्यधिक अनुशंसा की जाती है। |
पुनः परीक्षण हमेशा परीक्षण चक्र का हिस्सा नहीं होता, क्योंकि इसकी आवश्यकता केवल तब होती है जब कोई त्रुटि पाई जाती है। | प्रतिगमन हमेशा परीक्षण का एक हिस्सा होता है, क्योंकि हर बार जब कोड बदला जाता है, तो यह परीक्षण यह समझने के लिए किया जाना चाहिए कि उत्पाद की कार्यक्षमता स्थिर है या नहीं। |
यह उच्च प्राथमिकता वाला परीक्षण है क्योंकि यह ज्ञात मुद्दों पर केंद्रित होता है। | यह निम्न प्राथमिकता वाला परीक्षण है, क्योंकि यह संभावित दोषों का समग्र परीक्षण है। |
यह परीक्षण अधिक समय लेने वाला नहीं है क्योंकि यह विशिष्ट दोष पर काम करता है। | चूंकि इसमें सॉफ्टवेयर का बड़ा क्षेत्र शामिल होता है, इसलिए इसमें समय लगता है। |
यह भिन्न इनपुट और नए संस्करण के साथ समान डेटा और वातावरण में दोषों का निर्धारण करता है। | यह परीक्षण उपयोगकर्ता मैनुअल, दोष रिपोर्ट और कार्यात्मक विनिर्देशों से मामले प्राप्त कर सकता है। |
प्रथम परीक्षण के बिना पुनः परीक्षण नहीं किया जा सकता। | ऐसा तब किया जाता है जब मौजूदा परियोजना में परिवर्तन और संशोधन अनिवार्य हो। |
इसके अलावा, अंतरों की पूरी सूची देखें यहाँ उत्पन्न करें.
रिग्रेशन परीक्षण के लाभ और हानियाँ
फायदे
- प्रतिगमन परीक्षण से उत्पादों की गुणवत्ता में सुधार होता है।
- इस परीक्षण से आप यह सुनिश्चित कर सकते हैं कि संशोधनों और बग फिक्स से मौजूदा कार्यक्षमताओं और सुविधाओं में कोई बदलाव नहीं हुआ है।
- चूंकि रिग्रेशन बेड मौजूदा सुविधाओं पर चलाए जाते हैं, इसलिए हम गारंटी दे सकते हैं कि पुराने दोष भी कवर किए गए हैं।
- यह कुशल उत्पाद विकास को सुगम बनाता है।
- आप इस परीक्षण के माध्यम से उच्च उपयोगकर्ता संतुष्टि प्राप्त कर सकते हैं।
- कुल मिलाकर, यह सॉफ्टवेयर की स्थिरता बनाए रखता है।
नुकसान
- इसे हर बार छोटे-मोटे परिवर्तन के बाद आयोजित किया जाना चाहिए, क्योंकि थोड़ा-सा भी परिवर्तन मौजूदा मॉड्यूल में समस्याएं ला सकता है।
- यह परीक्षण मैन्युअल रूप से करने पर समय लेने वाला हो सकता है, तथा बार-बार परीक्षण की आवश्यकता हो सकती है।
रिग्रेशन परीक्षण में चुनौतियाँ
प्रतिगमन परीक्षण के लिए प्रमुख परीक्षण समस्याएं निम्नलिखित हैं:
- लगातार रिग्रेशन रन के साथ, टेस्ट सूट काफी बड़े हो जाते हैं। समय और बजट की कमी के कारण, संपूर्ण रिग्रेशन टेस्ट सूट निष्पादित नहीं किया जा सकता है
- अधिकतम प्राप्त करते हुए परीक्षण सूट को न्यूनतम करना एक चुनौती बनी हुई है
- प्रतिगमन परीक्षणों की आवृत्ति का निर्धारण, अर्थात् प्रत्येक संशोधन या प्रत्येक बिल्ड अपडेट के बाद या बग फिक्स के बाद, एक चुनौती है।
रिग्रेशन परीक्षण का व्यावहारिक अनुप्रयोग उदाहरण वीडियो के साथ
क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो
प्रतिगमन परीक्षण उदाहरण – Amazon
ई-कॉमर्स दिग्गज पर विचार करें Amazon, जो एक बहु-अरब डॉलर का व्यवसाय है जो राजस्व सृजन के लिए अपनी वेबसाइट पर निर्भर करता है। इसकी कार्यक्षमता, विश्वसनीयता और प्रदर्शन को बनाए रखने के लिए, प्रतिगमन परीक्षण एक महत्वपूर्ण भूमिका निभाता है।
आइये एक नई उत्पाद श्रेणी जोड़ने का परिदृश्य लें।
कल्पना करो कि Amazon "इलेक्ट्रॉनिक्स" और "वस्त्र" जैसी मौजूदा श्रेणियों के साथ-साथ "स्मार्ट होम डिवाइसेस" नामक एक नई श्रेणी शुरू करके अपने उत्पाद पेशकश का विस्तार करने का निर्णय लिया है।
संभावित प्रतिगमन मामले निम्न होंगे:
होमपेज की कार्यक्षमता: सत्यापित करें कि होमपेज बिना किसी प्रदर्शन समस्या के मौजूदा श्रेणियों के साथ नई “स्मार्ट होम डिवाइसेस” श्रेणी प्रदर्शित करता है।
श्रेणी नेविगेशन: सुनिश्चित करें कि उपयोगकर्ता आसानी से "स्मार्ट होम डिवाइस" श्रेणी पृष्ठ पर नेविगेट कर सकें और बिना किसी गड़बड़ी के होमपेज पर वापस आ सकें।
खोज कार्यक्षमता: सुनिश्चित करें कि जब उपयोगकर्ता स्मार्ट होम डिवाइसों के लिए खोज करते हैं तो खोज बार सटीक रूप से परिणाम लौटाता है और अन्य उत्पादों के साथ मिश्रित नहीं होता है।
उपयोगकर्ता खाते: सत्यापित करें कि उपयोगकर्ता खाते बनाए जा सकते हैं, अपडेट किए जा सकते हैं, और स्मार्ट होम डिवाइस और अन्य उत्पादों को खरीदने के लिए उपयोग किए जा सकते हैं।
भुगतान प्रसंस्करण: खरीदारी के लिए विशिष्ट भुगतान गेटवे का परीक्षण करें और सुरक्षित और त्रुटि-रहित लेनदेन की गारंटी दें।
मोबाइल अनुकूलता: जाँच करें कि वेबसाइट मोबाइल अनुकूल बनी रहे, जिससे उपयोगकर्ता विभिन्न डिवाइसों पर स्मार्ट होम डिवाइसों तक पहुंच सकें और खरीदारी कर सकें।
यदि इनमें से कोई भी प्रतिगमन परीक्षण मामला विफल हो जाता है, तो यह नई उत्पाद श्रेणी के जुड़ने के कारण वेबसाइट की मौजूदा कार्यक्षमता में समस्या को इंगित करता है। इस समस्या को तुरंत दर्ज करके हल किया जाना चाहिए। इसके अतिरिक्त, Amazon अपनी पेशकशों का विस्तार करना और अपनी वेबसाइट में बदलाव करना जारी रखता है, तो विश्वसनीय ऑनलाइन शॉपिंग अनुभव बनाए रखने के लिए इन प्रतिगमन परीक्षणों को निष्पादित किया जाना चाहिए। स्वचालित परीक्षण उपकरण इस प्रक्रिया को सुव्यवस्थित कर सकते हैं।
निष्कर्ष
- रिग्रेशन परीक्षण का अर्थ - रिग्रेशन परीक्षण एक प्रकार का सॉफ्टवेयर परीक्षण है जो यह सुनिश्चित करता है कि कोई एप्लिकेशन सुधार, किसी कोड परिवर्तन या बग फिक्स के बाद भी अपेक्षित रूप से कार्य करता है।
- एक प्रभावी प्रतिगमन रणनीति संगठन के लिए समय और धन दोनों बचा सकती है।
- केस स्टडीज के अनुसार, रिग्रेशन से बाद में किए गए बग फिक्स में 60% तक की बचत हुई।