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