सॉफ्टवेयर परीक्षण पद्धतियाँ: QA मॉडल

सॉफ्टवेयर परीक्षण पद्धति क्या है?

सॉफ़्टवेयर परीक्षण पद्धति को रणनीतियों और परीक्षण प्रकारों के रूप में परिभाषित किया जाता है जिनका उपयोग यह प्रमाणित करने के लिए किया जाता है कि परीक्षण के तहत आवेदन क्लाइंट की अपेक्षाओं को पूरा करता है। परीक्षण पद्धतियों में AUT को मान्य करने के लिए कार्यात्मक और गैर-कार्यात्मक परीक्षण शामिल हैं। परीक्षण पद्धतियों के उदाहरण हैं इकाई का परीक्षण, एकीकरण जांच, सिस्टम परीक्षण, प्रदर्शन का परीक्षण आदि। प्रत्येक परीक्षण पद्धति में एक परिभाषित परीक्षण उद्देश्य, परीक्षण रणनीति और डिलिवरेबल्स होते हैं।

नोट: चूँकि सॉफ़्टवेयर परीक्षण किसी भी विकास पद्धति का एक अभिन्न अंग है, इसलिए कई कंपनियाँ बोलचाल की भाषा में विकास पद्धतियाँ और परीक्षण पद्धतियाँ शब्द का उपयोग करती हैं। इसलिए परीक्षण पद्धतियाँ परीक्षण पद्धतियों की उपरोक्त परिभाषा के विपरीत वाटरफॉल, एजाइल और अन्य QA मॉडल को भी संदर्भित कर सकती हैं। विभिन्न परीक्षण प्रकारों पर चर्चा पाठकों के लिए मूल्य नहीं जोड़ती है। इसलिए, हम विभिन्न विकास मॉडलों पर चर्चा करेंगे।

झरना मॉडल

झरना मॉडल

यह क्या है?

में झरना मॉडल, सॉफ्टवेयर विकास विभिन्न चरणों जैसे आवश्यकता विश्लेषण, डिजाइन आदि के माध्यम से प्रगति करता है – क्रमिक रूप से.

इस मॉडल में, अगला चरण तभी शुरू होता है जब पिछला चरण पूरा हो जाता है।

परीक्षण का दृष्टिकोण क्या है?

वाटरफॉल मॉडल में पहला चरण आवश्यकता चरण है जिसमें परीक्षण शुरू करने से पहले सभी परियोजना आवश्यकताओं को पूरी तरह से परिभाषित किया जाता है। इस चरण के दौरान, परीक्षण टीम परीक्षण के दायरे, परीक्षण रणनीति पर विचार-विमर्श करती है और एक विस्तृत परीक्षण योजना का मसौदा तैयार करती है।

सॉफ्टवेयर का डिजाइन पूरा हो जाने के बाद, टीम परीक्षण मामलों के निष्पादन की ओर बढ़ेगी, ताकि यह सुनिश्चित किया जा सके कि विकसित सॉफ्टवेयर अपेक्षा के अनुरूप कार्य करेगा।

इस पद्धति में, परीक्षण दल अगले चरण पर तभी आगे बढ़ता है जब पिछला चरण पूरा हो जाता है।

फायदे नुकसान
इस सॉफ्टवेयर इंजीनियरिंग मॉडल की योजना बनाना और उसका प्रबंधन करना बहुत आसान है। इसलिए, जिन परियोजनाओं में आवश्यकताओं को स्पष्ट रूप से परिभाषित किया गया है और पहले से ही बताया गया है, उन्हें वॉटरफॉल मॉडल का उपयोग करके आसानी से परखा जा सकता है। वाटरफॉल मॉडल में, आप अगले चरण की शुरुआत तभी कर सकते हैं जब पिछला चरण पूरा हो जाए। इसलिए, यह मॉडल अनियोजित घटनाओं और अनिश्चितता को समायोजित नहीं कर सकता।
यह पद्धति उन परियोजनाओं के लिए उपयुक्त नहीं है जहां आवश्यकताएं बार-बार बदलती रहती हैं।

Iterative विकास

पुनरावृत्त विकास

यह क्या है?

इस मॉडल में, एक बड़े प्रोजेक्ट को छोटे-छोटे भागों में विभाजित किया जाता है, और प्रत्येक भाग को वॉटरफॉल मॉडल के कई पुनरावृत्तियों के अधीन किया जाता है। एक पुनरावृत्ति के अंत में, एक नया मॉड्यूल विकसित किया जाता है या किसी मौजूदा मॉड्यूल को बढ़ाया जाता है। इस मॉड्यूल को सॉफ़्टवेयर आर्किटेक्चर में एकीकृत किया जाता है और पूरे सिस्टम का एक साथ परीक्षण किया जाता है

परीक्षण का तरीका क्या है?

जैसे ही पुनरावृत्ति पूरी हो जाती है, पूरी प्रणाली परीक्षण के अधीन हो जाती है। परीक्षण से प्राप्त फीडबैक तुरंत उपलब्ध होता है और अगले चक्र में शामिल किया जाता है। पिछले पुनरावृत्तियों से प्राप्त अनुभव के आधार पर क्रमिक पुनरावृत्ति में आवश्यक परीक्षण समय को कम किया जा सकता है।

फायदे नुकसान
पुनरावृत्तीय विकास का मुख्य लाभ यह है कि प्रत्येक चक्र के अंत में परीक्षण फीडबैक तुरंत उपलब्ध हो जाता है। यह मॉडल संचार व्यय को काफी हद तक बढ़ा देता है, क्योंकि प्रत्येक चक्र के अंत में, डिलीवरेबल्स, प्रयास आदि के बारे में फीडबैक देना आवश्यक होता है।

चंचल कार्यप्रणाली

चंचल कार्यप्रणाली

यह क्या है?

पारंपरिक सॉफ्टवेयर विकास पद्धतियां इस आधार पर काम करती हैं कि पूरे प्रोजेक्ट में सॉफ्टवेयर की आवश्यकताएं स्थिर रहती हैं। लेकिन जटिलता में वृद्धि के साथ, आवश्यकताओं में कई बदलाव होते हैं और वे लगातार विकसित होती रहती हैं। कई बार, ग्राहक खुद भी निश्चित नहीं होता कि उसे क्या चाहिए। हालाँकि पुनरावृत्त मॉडल इस मुद्दे को संबोधित करता है, फिर भी यह वॉटरफॉल मॉडल पर आधारित है।

एजाइल कार्यप्रणाली में, सॉफ्टवेयर को वृद्धिशील, तीव्र चक्रों में विकसित किया जाता है। प्रक्रियाओं और उपकरणों के बजाय ग्राहकों, डेवलपर्स और क्लाइंट के बीच बातचीत पर जोर दिया जाता है। एजाइल कार्यप्रणाली व्यापक योजना के बजाय परिवर्तन का जवाब देने पर ध्यान केंद्रित करती है।

परीक्षण का दृष्टिकोण क्या है?

वृद्धिशील परीक्षण का उपयोग एजाइल विकास विधियों में किया जाता है और इसलिए, परियोजना के प्रत्येक रिलीज़ का गहन परीक्षण किया जाता है। यह सुनिश्चित करता है कि सिस्टम में किसी भी बग को अगले रिलीज़ से पहले ठीक कर दिया जाए।

फायदे नुकसान
आवश्यकताओं के अनुपालन हेतु किसी भी समय परियोजना में परिवर्तन करना संभव है। निरंतर ग्राहक संपर्क का अर्थ है ग्राहक, सॉफ्टवेयर विकास और परीक्षण टीमों सहित सभी हितधारकों पर अतिरिक्त समय का दबाव।
यह वृद्धिशील परीक्षण जोखिम को न्यूनतम करता है।

चरम कार्यक्रम

चरम कार्यक्रम

यह क्या है?

एक्सट्रीम प्रोग्रामिंग एक प्रकार की चुस्त कार्यप्रणाली है जो छोटे विकास चक्रों में विश्वास करती है। एक परियोजना को सरल इंजीनियरिंग कार्यों में विभाजित किया जाता है। प्रोग्रामर सॉफ़्टवेयर के एक सरल टुकड़े को कोड करते हैं और फीडबैक के लिए ग्राहक से संपर्क करते हैं। Revग्राहक के विचारों को शामिल किया जाता है और डेवलपर्स अगले कार्य के लिए आगे बढ़ते हैं।

एक्सट्रीम प्रोग्रामिंग में डेवलपर्स आमतौर पर जोड़ियों में काम करते हैं।

चरम कार्यक्रम इसका उपयोग उन स्थानों पर किया जाता है जहां ग्राहकों की आवश्यकताएं लगातार बदलती रहती हैं।

परीक्षण का दृष्टिकोण क्या है?

एक्सट्रीम प्रोग्रामिंग एक टेस्ट-संचालित विकास का अनुसरण करती है जिसका वर्णन इस प्रकार है –

  1. एक जोड़ें परीक्षण का मामला परीक्षण सूट में नई कार्यक्षमता को सत्यापित करने के लिए जिसे अभी विकसित किया जाना है
  2. सभी परीक्षण चलाएं और स्पष्ट रूप से जोड़ा गया नया परीक्षण मामला विफल होना चाहिए क्योंकि कार्यक्षमता अभी तक कोडित नहीं है
  3. सुविधा/कार्यक्षमता को क्रियान्वित करने के लिए कुछ कोड लिखें
  4. टेस्ट सूट को फिर से चलाएँ। इस बार, नया टेस्ट केस पास हो जाना चाहिए क्योंकि फंक्शनली कोड किया गया है
फायदे नुकसान
जिन ग्राहकों के मन में अस्पष्ट सॉफ्टवेयर डिजाइन है, वे एक्सट्रीम प्रोग्रामिंग का उपयोग कर सकते हैं सॉफ्टवेयर विकास टीम और ग्राहकों के बीच बैठकों से समय की आवश्यकता बढ़ जाती है।
निरंतर परीक्षण और छोटे रिलीज का निरंतर एकीकरण सुनिश्चित करता है कि वितरित सॉफ्टवेयर कोड उच्च गुणवत्ता का हो

कौन सी सॉफ्टवेयर पद्धति चुनें?

सॉफ़्टवेयर विकास और उसके अनुरूप परीक्षण के लिए ढेरों पद्धतियाँ उपलब्ध हैं। प्रत्येक परीक्षण तकनीक और कार्यप्रणाली एक विशिष्ट उद्देश्य के लिए डिज़ाइन की गई है और उसके अपने सापेक्ष गुण और दोष हैं।

किसी विशेष कार्यप्रणाली का चयन कई कारकों पर निर्भर करता है जैसे परियोजना की प्रकृति, ग्राहक की आवश्यकता, परियोजना की समय-सारणी आदि।

परीक्षण के दृष्टिकोण से, कुछ कार्यप्रणाली विकास जीवन चक्र के प्रारम्भ में ही परीक्षण इनपुट पर जोर देती हैं, जबकि अन्य कार्यप्रणाली तब तक प्रतीक्षा करती हैं जब तक कि सिस्टम का कार्यशील मॉडल तैयार न हो जाए।

सॉफ्टवेयर परीक्षण पद्धतियाँ कैसे स्थापित करें?

सॉफ़्टवेयर परीक्षण पद्धतियों को केवल सॉफ़्टवेयर कोड के परीक्षण के लिए स्थापित नहीं किया जाना चाहिए। बड़ी तस्वीर पर विचार किया जाना चाहिए और परियोजना का मुख्य लक्ष्य परीक्षण पद्धति से संतुष्ट होना चाहिए। प्रतिष्ठित की इस सूची को देखें सॉफ्टवेयर परीक्षण सेवा प्रदाता जो आपकी परियोजना के लक्ष्यों के अनुरूप प्रभावी परीक्षण रणनीतियां स्थापित करने में आपकी सहायता कर सकते हैं।

निर्धारण

यथार्थवादी समय-निर्धारण सफल परीक्षण पद्धति के कार्यान्वयन की कुंजी है और समय-निर्धारण को टीम के प्रत्येक सदस्य की आवश्यकताओं को पूरा करना चाहिए।

परिभाषित डिलिवरेबल्स

टीम के सभी सदस्यों को एक ही पृष्ठ पर रखने के लिए, अच्छी तरह से परिभाषित डिलीवरेबल्स प्रदान किए जाने चाहिए। डिलीवरेबल्स में बिना किसी अस्पष्टता के सीधी सामग्री होनी चाहिए।

परीक्षण दृष्टिकोण

एक बार शेड्यूलिंग पूरी हो जाने और परिभाषित डिलीवरेबल्स उपलब्ध हो जाने के बाद, परीक्षण टीम को सही परीक्षण दृष्टिकोण तैयार करने में सक्षम होना चाहिए। परिभाषा दस्तावेजों और डेवलपर बैठकों से टीम को परियोजना के लिए इस्तेमाल किए जा सकने वाले सर्वोत्तम परीक्षण दृष्टिकोण के बारे में संकेत मिलना चाहिए।

रिपोर्टिंग

पारदर्शी रिपोर्टिंग हासिल करना बहुत कठिन है, लेकिन यह कदम परियोजना में प्रयुक्त परीक्षण दृष्टिकोण की प्रभावशीलता निर्धारित करता है।