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