सॉफ़्टवेयर परीक्षण में वृद्धिशील परीक्षण एक ऐसी पद्धति है जो टीमों को व्यक्तिगत मॉड्यूल को तोड़ने, उन्हें अलग-अलग परीक्षण करने और चरणों में एकीकृत करने की अनुमति देती है। यह दोषों को जल्दी ढूंढने में मदद करता है, जटिलता कम करता है और परीक्षण कवरेज बढ़ाता है।
यह लेख वृद्धिशील परीक्षण के बारे में गहन जानकारी देगा, समझाएगा कि यह क्या है, और इस उपयोगी पद्धति से जुड़े विभिन्न प्रकारों, प्रक्रियाओं, दृष्टिकोणों, उपकरणों और बहुत कुछ का पता लगाएगा।
वृद्धिशील परीक्षण क्या है?
परीक्षण सॉफ़्टवेयर विकास जीवन चक्र (एसडीएलसी) के सबसे महत्वपूर्ण चरणों में से एक है। एसडीएलसी की तरह ही, परीक्षण को विभिन्न तार्किक चरणों में विभाजित किया गया है। वृद्धिशील परीक्षण इन चरणों में से एक है, और यह आम तौर पर इसके दौरान होता है एकीकरण परीक्षण और इकाई परीक्षण के ठीक बाद ।
वृद्धिशील परीक्षण एक व्यावहारिक सॉफ्टवेयर परीक्षण दृष्टिकोण है जो बड़े या जटिल कार्यक्रमों को प्रबंधनीय, छोटे आकार के टुकड़ों में तोड़ देता है। एक बार में संपूर्ण सॉफ़्टवेयर सिस्टम को एकीकृत और परीक्षण करने के बजाय, वृद्धिशील परीक्षण मॉड्यूल को देखता है और चरणबद्ध सत्यापन प्रक्रिया को लागू करता है।
सॉफ़्टवेयर मॉड्यूल आमतौर पर कोड की स्व-निहित इकाइयाँ होती हैं जो विशिष्ट कार्य या कार्य करती हैं। ये मॉड्यूल कितने विस्तृत हैं यह विभिन्न कारकों पर निर्भर करता है, जैसे कोडिंग प्रथाएं, विकास पद्धतियां, या यहां तक कि आपके द्वारा उपयोग की जाने वाली प्रोग्रामिंग भाषा।
यूनिट परीक्षण के दौरान मॉड्यूल का स्वतंत्र रूप से परीक्षण किया जाता है। फिर, एकीकरण परीक्षण के दौरान, प्रत्येक मॉड्यूल को टुकड़े-टुकड़े करके – या वेतन वृद्धि में एकीकृत किया जाता है। यह प्रक्रिया सुनिश्चित करती है कि प्रत्येक मॉड्यूल एक साथ अच्छी तरह से काम करे। हालाँकि, प्रत्येक मॉड्यूल को पूरी तरह से सत्यापित करने के लिए, परीक्षकों को उन घटकों का अनुकरण करने की आवश्यकता होती है जिन्हें अभी तक लागू नहीं किया गया है या बाहरी सिस्टम। ऐसा करने के लिए, उन्हें स्टब्स और ड्राइवरों की मदद की ज़रूरत है।
वृद्धिशील परीक्षण में स्टब्स और ड्राइवर क्या हैं?
स्टब्स और ड्राइवर महत्वपूर्ण सॉफ़्टवेयर परीक्षण उपकरण हैं। कोड के इन अस्थायी टुकड़ों का उपयोग एकीकरण परीक्षण के दौरान किया जाता है क्योंकि वे टीमों को विभिन्न मॉड्यूल या घटकों के व्यवहार और इंटरफेस की नकल करने की क्षमता प्रदान करते हैं।
1. स्टब्स:
स्टब्स ऐसे मॉड्यूल की नकल करते हैं जिन्हें अभी तक विकसित नहीं किया गया है और इसलिए, परीक्षण के लिए उपलब्ध नहीं हैं। वे परीक्षण के तहत मॉड्यूल (एमयूटी) को अपूर्ण मॉड्यूल पर कॉल करने की अनुमति देते हैं। यहां नतीजा यह है कि एमयूटी का परीक्षण अलगाव में किया जा सकता है, भले ही संबंधित मॉड्यूल उपलब्ध न हों।
2. ड्राइवर:
दूसरी ओर, ड्राइवर MUT को कॉल करने वाले मॉड्यूल के व्यवहार का अनुकरण करते हैं। परीक्षण परिवेश में, ये ड्राइवर MUT परीक्षण डेटा भेज सकते हैं। फिर, यह बाहरी निर्भरता की आवश्यकता के बिना अलगाव में मॉड्यूल के परीक्षण की सुविधा प्रदान करता है।
स्टब्स या ड्राइवरों का उपयोग करने से विकास का समय कम हो जाता है, कोड गुणवत्ता में सुधार होता है और टीम उत्पादकता बढ़ती है। हालाँकि, किसका उपयोग करना है इसका निर्णय इस बात पर निर्भर करता है कि कौन सी परीक्षण पद्धति सबसे उपयुक्त है। हम विभिन्न प्रकार के वृद्धिशील एकीकरण परीक्षण से निपटने के लिए नीचे दिए गए अनुभाग में इसका विस्तार करेंगे।
विभिन्न प्रकार के वृद्धिशील
एकीकरण जांच
वृद्धिशील परीक्षण प्रकारों को मोटे तौर पर तीन श्रेणियों में विभाजित किया जा सकता है। आइए प्रत्येक का अन्वेषण करें।
1. ऊपर से नीचे वृद्धिशील एकीकरण
टॉप-डाउन वृद्धिशील एकीकरण एक सिस्टम के भीतर उच्चतम-क्रम मॉड्यूल का परीक्षण करके शुरू होता है। वहां से, यह धीरे-धीरे निचले क्रम के मॉड्यूल को एकीकृत और परीक्षण करता है।ऐसे दो मुख्य परिदृश्य हैं जहां टॉप-डाउन वृद्धिशील एकीकरण का उपयोग किया जाता है। वे हैं:
- जब कोई सिस्टम बहुत बड़ा या अत्यधिक जटिल होता है
- जब डेव टीम एक ही समय में कई मॉड्यूल पर काम कर रही हो।
ऊपर से नीचे वृद्धिशील एकीकरण के लिए कदम
- महत्वपूर्ण मॉड्यूल की पहचान करें
- निचले क्रम के मॉड्यूल की नकल करने के लिए स्टब्स बनाएं
- उच्च-क्रम वाले मॉड्यूल के साथ इंटरैक्ट करने के लिए ड्राइवर विकसित करें ताकि उन्हें डेटा भेजा जा सके और मॉड्यूल के आउटपुट की व्याख्या की जा सके
- यूनिट ड्राइवरों और स्टब्स के साथ महत्वपूर्ण मॉड्यूल का परीक्षण करती है
- निचले क्रम के मॉड्यूल को एकीकृत करें और धीरे-धीरे स्टब्स को वास्तविक कार्यान्वयन के साथ बदलें
- नए मॉड्यूल को समायोजित करने के लिए रिफैक्टर ड्राइवर
- तब तक दोहराएं जब तक कि सभी निचले क्रम के मॉड्यूल एकीकृत और परीक्षण न हो जाएं।
2. नीचे से ऊपर की ओर वृद्धिशील एकीकरण
नीचे से ऊपर की ओर वृद्धिशील एकीकरण विपरीत दिशा में जाते हैं। इस दृष्टिकोण के साथ, सिस्टम के निचले-क्रम (या कम से कम महत्वपूर्ण) मॉड्यूल का परीक्षण किया जाता है, उच्च-क्रम वाले मॉड्यूल को धीरे-धीरे जोड़ा जाता है। यह दृष्टिकोण विभिन्न परिदृश्यों में उपयुक्त है, जैसे:
- जब आप छोटी प्रणालियों से निपटते हैं
- जब किसी सिस्टम को मॉड्यूलराइज़ किया जाता है
- जब आपको स्टब्स की सटीकता या पूर्णता के बारे में कुछ चिंताएं हों।
बॉटम-अप वृद्धिशील एकीकरण के लिए कदम
- निचले क्रम के मॉड्यूल को पहचानें
- यूनिट उनकी व्यक्तिगत कार्यक्षमता को सत्यापित करने के लिए निचले क्रम के मॉड्यूल का परीक्षण करती है
- निचले क्रम के मॉड्यूल के साथ मध्यस्थ के रूप में कार्य करने के लिए ड्राइवर विकसित करें
- उच्च-क्रम मॉड्यूल के व्यवहार का अनुकरण करने के लिए स्टब्स बनाएं
- अगले मॉड्यूल को निचले से उच्च क्रम तक एकीकृत करें, और धीरे-धीरे स्टब्स को वास्तविक कार्यान्वयन के साथ बदलें
- नए मॉड्यूल को समायोजित करने के लिए रिफैक्टर ड्राइवर
- तब तक दोहराएं जब तक कि सभी उच्च-क्रम मॉड्यूल एकीकृत और परीक्षण न हो जाएं।
3. कार्यात्मक वृद्धिशील एकीकरण
फ़ंक्शन वृद्धिशील एकीकरण परीक्षण सॉफ़्टवेयर परीक्षण में वृद्धिशील परीक्षण का अगला सामान्य प्रकार है। जबकि पिछले दो प्रकार उच्च और निम्न-क्रम मॉड्यूल पर केंद्रित थे, कार्यात्मक वृद्धिशील परीक्षण एक विशेष मॉड्यूल की कार्यक्षमता पर आधारित है।
कार्यात्मक वृद्धिशील एकीकरण का उपयोग Agile/DevOps पद्धतियों में किया जाता है , और यह मॉड्यूल या घटकों के बीच जटिल निर्भरता वाले अनुप्रयोगों के लिए एक उत्कृष्ट विकल्प है।
कार्यात्मक वृद्धिशील एकीकरण के लिए कदम
- अच्छी तरह से परिभाषित इंटरफेस के साथ व्यक्तिगत मॉड्यूल और घटकों की पहचान करें
- इकाई परीक्षण के माध्यम से प्रत्येक मॉड्यूल की कार्यक्षमता सत्यापित करें
- सिस्टम के सबसे न्यूनतम कोर मॉड्यूल को एकीकृत करें और सुनिश्चित करें कि यह कार्य करता है
- प्रत्येक चरण पर कार्यक्षमता का परीक्षण करते हुए धीरे-धीरे एकल मॉड्यूल जोड़ें
- जैसे ही प्रत्येक मॉड्यूल जोड़ा जाता है, कोड को दोबारा दोहराएं
- जब सभी मॉड्यूल जोड़ दिए जाएं, तो कार्यक्षमता और प्रदर्शन का परीक्षण करें
वृद्धिशील परीक्षण दृष्टिकोण के पक्ष और विपक्ष
अब तक, आपको कुछ अंदाजा हो गया होगा कि वृद्धिशील परीक्षण एक लोकप्रिय दृष्टिकोण क्यों है। हालाँकि, सभी सॉफ़्टवेयर परीक्षण पद्धतियों की तरह, इसके अपने फायदे और नुकसान हैं। आइए इनमें से कुछ पेशेवरों और विपक्षों का पता लगाएं।
वृद्धिशील परीक्षण दृष्टिकोण के लाभ
1. लचीलापन
जैसा कि सभी सॉफ्टवेयर डेवलपर्स और परीक्षक अच्छी तरह से जानते हैं, एसडीएलसी के दौरान आवश्यकताएं बदल और विकसित हो सकती हैं, कभी-कभी काफी नाटकीय रूप से। वृद्धिशील परीक्षण इतना गतिशील है कि टीमों को परीक्षण प्रक्रिया के दौरान अनुकूलन करने और नई योजनाओं और निर्देशों को शामिल करने की अनुमति मिलती है।
2. प्रारंभिक बग का पता लगाना
किसी बग या दोष का पता लगाने का सबसे अच्छा समय यथाशीघ्र है। जब डेवलपर्स व्यक्तिगत रूप से बाइट-आकार के मॉड्यूल को सत्यापित करते हैं, तो समस्याओं की पहचान करना और उन्हें ठीक करना बहुत आसान हो जाता है। इसके अलावा, यह विकास में देर से होने वाली बड़ी समस्याओं की संभावना को कम करने में मदद करता है।
3. सरलता
सॉफ़्टवेयर परीक्षण एक अत्यधिक जटिल प्रक्रिया हो सकती है। वृद्धिशील परीक्षण के सबसे सम्मोहक पहलुओं में से एक यह पाया जाता है कि यह परीक्षण शहर को व्यावहारिक भागों में कैसे तोड़ता है। अत्यधिक जटिलता से निपटने के बजाय, परीक्षक विशेष मॉड्यूल पर ध्यान केंद्रित कर सकते हैं और उन्हें प्राथमिकता भी दे सकते हैं। यह लाभ बड़े और जटिल अनुप्रयोगों के लिए वरदान है।
4. कम प्रतिगमन जोखिम
सॉफ़्टवेयर विकास में प्रतिगमन एक समय लेने वाली और जटिल समस्या है। वृद्धिशील परीक्षण प्रतिगमन के कारण होने वाली आवृत्ति और जोखिमों को कम कर सकता है क्योंकि यह टीमों को व्यक्तिगत रूप से मॉड्यूल का परीक्षण करने और उत्पन्न होने वाली समस्याओं से निपटने की अनुमति देता है। जब ठोस के साथ प्रयोग किया जाता है प्रतिगमन परीक्षण , टीमें बहुत सारा समय और दिल का दर्द बचा सकती हैं।
5. प्रतिक्रिया के अवसर
वृद्धिशील परीक्षण का अक्सर अनदेखा किया जाने वाला लाभ यह है कि यह टीमों को प्रोटोटाइप और एमवीपी को एक साथ रखने की अनुमति देता है। वहां से, हितधारक और निवेशक प्रक्रिया की बुनियादी कार्यक्षमता का आकलन कर सकते हैं और अमूल्य प्रतिक्रिया प्रदान कर सकते हैं। यह स्थिति बहुत सारा समय और पैसा बचा सकती है और अधिक मजबूत उत्पाद तैयार कर सकती है।
वृद्धिशील परीक्षण दृष्टिकोण के विपक्ष
1. एकीकरण मुद्दे
मॉड्यूल का अलग से परीक्षण करना वांछनीय है क्योंकि यह एक जटिल एप्लिकेशन को प्रबंधनीय टुकड़ों में तोड़ देता है। हालाँकि, इन मॉड्यूल को एकीकृत करने से नई और अप्रत्याशित त्रुटियाँ हो सकती हैं। इस प्रकार, वृद्धिशील परीक्षण दृष्टिकोण की सावधानीपूर्वक और जानबूझकर योजना बनाई जानी चाहिए।
2. परीक्षण सुइट जटिलता
प्रत्येक मॉड्यूल के लिए कई परीक्षण मामलों और एक-दूसरे के साथ उनकी संबंधित बातचीत के साथ, परीक्षण सुइट्स को ट्रैक करना और प्रबंधित करना जटिल हो सकता है। बड़े और जटिल ऐप्स के लिए, यह संपूर्ण दस्तावेज़ीकरण या परीक्षण प्रबंधन टूल को एक आवश्यकता बनाता है।
3. अधिक काम
मोनोलिथिक परीक्षण, जबकि अधिक जटिल है, कम परीक्षण की आवश्यकता होती है। बहुत सारे मॉड्यूल का अलग-अलग परीक्षण करके, वृद्धिशील परीक्षण के लिए अधिक काम की आवश्यकता होती है। हालाँकि, वृद्धिशील परीक्षण के लाभ, जैसे कि बग की शीघ्र खोज, का मतलब है कि अतिरिक्त प्रयास समय बचाने वाला निवेश है। बिल्कुल, सॉफ़्टवेयर परीक्षण स्वचालन इन प्रयासों को कम करने में मदद कर सकता है।
4. प्रबंधन की बढ़ती माँगें
वृद्धिशील परीक्षण के लिए कई टीमों को एक साथ काम करने की आवश्यकता होती है। उदाहरण के लिए, विकास, परीक्षण और DevOps टीमों को मिलकर काम करने की आवश्यकता होगी। यह स्थिति अतिरिक्त प्रबंधन मांग पैदा करती है और इन टीमों के बीच अच्छे संचार की आवश्यकता होती है ताकि यह सुनिश्चित हो सके कि वे समान उद्देश्यों की ओर ध्यान केंद्रित कर रहे हैं।
वृद्धिशील परीक्षण उदाहरण
वृद्धिशील परीक्षण दृष्टिकोण को समझने का शायद सबसे आसान तरीका एक उदाहरण के बारे में सोचना है। प्रक्रिया की कल्पना करने में मदद के लिए यहां एक सरल स्थिति दी गई है।
1. मोबाइल बैंकिंग ऐप के लिए वृद्धिशील परीक्षण उदाहरण
परिदृश्य: एक टीम एक मोबाइल बैंकिंग ऐप बना रही है। ऐप कई अलग-अलग मॉड्यूल से बना है जो सक्षम बनाता है:
- 2FA और बायोमेट्रिक उपयोगकर्ता सत्यापन
- लेनदेन प्रक्रिया
- वित्तीय डेटा प्रबंधन डैशबोर्ड
उद्देश्य: टीम प्रत्येक मॉड्यूल के एकीकरण का परीक्षण करना चाहती है और यह निर्धारित करना चाहती है कि क्या वे एक साथ अच्छी तरह से काम करते हैं। परिणामस्वरूप, वे तीन परीक्षण मामले बनाते हैं।
टेस्ट केस 1
पहले परीक्षण मामले में, टीम यह सुनिश्चित करना चाहती है कि बायोमेट्रिक या पासवर्ड डेटा दर्ज करके, उपयोगकर्ता लेनदेन प्रसंस्करण और वित्तीय डेटा प्रबंधन डैशबोर्ड दोनों तक पहुंच प्राप्त करेगा।
यदि उपयोगकर्ता अपना विवरण दर्ज कर सकता है और लेनदेन तक पहुंचने की क्षमता हासिल कर सकता है तो ऐप परीक्षण पास कर लेगा।
टेस्ट केस 2
अगला परीक्षण मामला यह देखने के लिए डिज़ाइन किया गया है कि ऐप अनधिकृत लेनदेन को कैसे संभालता है।
यदि अनधिकृत लेनदेन करने का प्रयास अवरुद्ध हो जाता है और ऐप एक त्रुटि संदेश उत्पन्न करता है तो ऐप परीक्षण पास कर लेता है।
टेस्ट केस 3
अंतिम एकीकरण परीक्षण में यह सत्यापित करना शामिल है कि क्या ऐप समवर्ती रूप से लेनदेन कर सकता है।
यदि उपयोगकर्ता लेनदेन शुरू कर सकता है और बिना किसी डेटा विसंगति या समस्या के एक ही समय में अपनी वित्तीय जानकारी तक पहुंच सकता है तो ऐप परीक्षण पास कर लेगा।
एक वृद्धिशील परीक्षण दृष्टिकोण है
वृद्धिशील परीक्षण के समान?
नहीं। वृद्धिशील परीक्षण एक सांख्यिकीय विपणन पद्धति को संदर्भित करता है जिसे शायद एट्रिब्यूशन मॉडलिंग के रूप में जाना जाता है। संक्षेप में, यह मार्केटिंग टीमों को विज्ञापन अभियानों, मार्केटिंग चैनलों या विशेष रणनीतियों के प्रभाव को समझने में मदद करता है।
जबकि कुकीज़ और तीसरे पक्ष के डेटा की “मृत्यु” के कारण हाल के वर्षों में इस तरह के मॉडलिंग में रुचि बढ़ी है, वृद्धिशील परीक्षण से इसका एकमात्र संबंध एक साझा शब्द है।
वृद्धिशील परीक्षण के लिए शीर्ष 3 उपकरण
#1. जैप्टेस्ट
साथ ही प्रथम श्रेणी आरपीए प्रदान करना क्षमताओं, ZAPTEST सॉफ्टवेयर परीक्षण स्वचालन उपकरणों की एक श्रृंखला प्रदान करता है जो वृद्धिशील परीक्षण के लिए बिल्कुल उपयुक्त हैं। कुछ विशेषताओं में शामिल हैं:
- परीक्षण डेटा प्रबंधन : टीमों को परीक्षण डेटा का पुन: उपयोग करने की अनुमति देकर वृद्धिशील परीक्षण में शामिल समय और प्रयास की मात्रा को कम करें
- स्क्रिप्ट रिकॉर्डिंग और प्लेबैक : यह नो-कोड टूल टीमों को स्क्रिप्ट रिकॉर्ड करने और निष्पादित करने और वृद्धिशील परीक्षण के दौरान बहुत समय बचाने की अनुमति देता है।
- पुन: प्रयोज्य परीक्षण मॉड्यूल : ZAPTEST अत्यधिक मॉड्यूलर है और टीमों को परीक्षण मॉड्यूल बनाने और पुन: उपयोग करने और परीक्षण प्रक्रिया से महत्वपूर्ण मात्रा में समय बचाने की अनुमति देता है।
कुल मिलाकर, ZAPTEST एक शक्तिशाली और विविध परीक्षण स्वचालन सूट प्रदान करता है जो वृद्धिशील परीक्षण सहित किसी भी प्रकार के परीक्षण के लिए उपयुक्त है।
#2. सेलेनियम
सेलेनियम एक ओपन-सोर्स टेस्ट ऑटोमेशन प्लेटफ़ॉर्म है जिसे मोबाइल एप्लिकेशन परीक्षण की सुविधा के लिए बनाया गया है। उपकरण कई मोबाइल प्लेटफ़ॉर्म (एंड्रॉइड, आईओएस, विंडोज़) का समर्थन करते हैं और मॉड्यूल अनुकरण करने के लिए स्टब्स और ड्राइवरों का उपयोग करते हैं।
#3. टेस्टसिग्मा
टेस्टसिग्मा एक क्लाउड-आधारित परीक्षण स्वचालन मंच है। इसका उपयोग वेब और मोबाइल एप्लिकेशन का परीक्षण करने के लिए किया जा सकता है और कोडलेस परीक्षण निर्माण और सीआई/सीडी पाइपलाइनों के साथ एकीकरण के कारण वृद्धिशील परीक्षण के लिए उपयुक्त है।
अंतिम विचार
सॉफ़्टवेयर परीक्षण में वृद्धिशील परीक्षण एकीकरण परीक्षण का एक महत्वपूर्ण हिस्सा है। यह टीमों को धीरे-धीरे एकीकृत करने से पहले मॉड्यूल को आसानी से परीक्षण योग्य भागों में तोड़ने की अनुमति देता है। यहां लाभ यह है कि प्रत्येक मॉड्यूल को बग के लिए सत्यापित किया जा सकता है और फिर यह उसके जुड़े भागों के साथ कैसे एकीकृत होता है।
हमारे सर्वोत्तम श्रेणी के आरपीए के साथ उपकरण, ZAPTEST नो-कोड सॉफ़्टवेयर परीक्षण स्वचालन प्रदान करता है जो क्रॉस-प्लेटफ़ॉर्म और क्रॉस-एप्लिकेशन दोनों है। इसके अलावा, हमारा परीक्षण सूट सीआई/सीडी एकीकरण, मजबूत रिपोर्टिंग और विश्लेषण, और प्रथम श्रेणी समर्थन और ग्राहक सेवा जैसी सुविधाओं से भरा हुआ है।