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

विनाशकारी परीक्षण क्या है?
विनाशकारी परीक्षण यह सॉफ़्टवेयर परीक्षण की एक विधि है जिसका उपयोग सॉफ़्टवेयर प्रोग्राम में विफलता के बिंदुओं को खोजने के लिए किया जाता है। इस तकनीक में, एप्लिकेशन को जानबूझकर विफल किया जाता है, ताकि इसकी मजबूती की जाँच की जा सके और इसकी विफलता के बिंदुओं की पहचान की जा सके। एप्लिकेशन के अपेक्षित कार्यों को सत्यापित करने वाली परीक्षण विधियों के विपरीत, विनाशकारी परीक्षण एप्लिकेशन के भीतर अप्रत्याशित उपयोगकर्ता व्यवहार की जाँच करता है।
विनाशकारी परीक्षण के लिए मूल आवश्यकताओं का ज्ञान आवश्यक नहीं है। हालाँकि, विकास में कुछ ज्ञान सहायक होता है।ping एक अच्छी परीक्षण रणनीति।
नीचे दिया गया चित्र इस विचार को दर्शाता है — परीक्षक उत्पाद के साथ काम करने के बजाय उसके विरुद्ध काम करता है।
विनाशकारी परीक्षण क्यों करें?
- इससे सॉफ्टवेयर के अनुचित उपयोग के दौरान उसके संभावित व्यवहार को समझने में मदद मिलती है।
- यह किसी सॉफ्टवेयर उत्पाद की मजबूती की जांच करने में मदद करता है।
- यह उन दुर्लभ दोषों को उजागर करता है जिन्हें सामान्य उपयोगकर्ता कभी उत्पन्न नहीं करते हैं, लेकिन जो उत्पादन में बाद में दिखाई देते हैं।
विनाशकारी परीक्षण बनाम गैर-विनाशकारी परीक्षण
ये दोनों दृष्टिकोण एक दूसरे के पूरक हैं, प्रतिद्वंद्वी नहीं। गैर विनाशकारी परीक्षण इसे पॉजिटिव या हैप्पी-पाथ टेस्टिंग भी कहा जाता है। यह सॉफ्टवेयर के साथ सही ढंग से इंटरैक्ट करता है और बिल्ड को बरकरार रखता है। डिस्ट्रक्टिव टेस्टिंग इसके विपरीत काम करती है: यह तब तक गलत डेटा और अनुक्रम डालती है जब तक कि कुछ टूट न जाए।
| पहलू | विनाशकारी परीक्षण | गैर विनाशकारी परीक्षण |
| आशय | आवेदन को विफल करने के लिए बाध्य करें | पुष्टि करें कि एप्लिकेशन निर्दिष्ट अनुसार काम करता है। |
| इनपुट का उपयोग किया गया | अमान्य, विकृत, सीमा से बाहर, क्रम से बाहर | अपेक्षित सीमा के भीतर मान्य डेटा |
| प्रश्न का उत्तर दिया गया | यह कहाँ और कैसे टूटता है? | क्या यह अपना काम ठीक से करता है? |
| आवश्यकताओं का ज्ञान | ऐच्छिक | आवश्यक |
| विशिष्ट लागत | उच्चतर — खोजपूर्ण और खुले विचारों वाला | निचला भाग — स्क्रिप्टेड और दोहराने योग्य |
| परिणाम | विफलता बिंदु, सीमा सीमाएँ, पुनर्प्राप्ति व्यवहार | विनिर्देशों के आधार पर उत्तीर्ण या अनुत्तीर्ण |
आप विनाशकारी परीक्षण में क्या-क्या जांचते हैं?
विनाशकारी परीक्षण व्यवहार की सीमा के दोनों पक्षों का अध्ययन करता है:
- उचित सॉफ़्टवेयर व्यवहार
- अनुचित सॉफ़्टवेयर व्यवहार
- अनुचित उपयोग
- अनुचित इनपुट डेटा
- उचित आउटपुट डेटा
इस अभ्यास के दौरान दो शर्तें पूरी होनी चाहिए:
- यह सॉफ्टवेयर कभी भी अमान्य इनपुट डेटा को संसाधित या स्वीकार नहीं करेगा।
- इनपुट डेटा की वैधता या शुद्धता की परवाह किए बिना, सॉफ्टवेयर को हमेशा उचित आउटपुट डेटा उत्पन्न करना चाहिए।
विनाशकारी परीक्षण कैसे करें?
विनाशकारी परीक्षण में कई गतिविधियाँ शामिल होती हैं, जैसे कि परीक्षण स्क्रिप्ट का एक सेट डिज़ाइन करना, उन स्क्रिप्ट को निष्पादित करना, बग उठाना, बग को बंद करना और पुनरावृति के अंत में हितधारकों को उत्तीर्ण या असफल होने के मापदंड प्रदान करना।
इसे चलाने के कई तरीके हैं। कुछ उदाहरण नीचे दिए गए हैं।
- विफलता बिंदु विश्लेषण विधि: सिस्टम का विस्तृत विश्लेषण जिसमें विभिन्न बिंदुओं पर संभावित त्रुटियों का आकलन किया गया है। किसी विशेषज्ञ की सहायता आवश्यक है। व्यापार विश्लेषक इस रणनीति के लिए इसे अपनाया जा सकता है।
- परीक्षक सहकर्मी समीक्षा: आपकी मिल परीक्षण के मामलों किसी ऐसे सहकर्मी परीक्षक द्वारा विश्लेषण या समीक्षा की गई हो जो सिस्टम या फ़ंक्शन से कम परिचित हो।
- टेस्ट केस का व्यावसायिक मूल्यांकन: अंतिम उपयोगकर्ता या विशेषज्ञ अक्सर ऐसे वैध परिदृश्यों के बारे में सोचते हैं जिन्हें परीक्षक नजरअंदाज कर देते हैं, क्योंकि परीक्षक का ध्यान बताई गई आवश्यकताओं पर केंद्रित होता है।
- रन शीट का उपयोग करके प्रारंभिक परीक्षण करें: खोजपूर्ण परीक्षण रन शीट में परीक्षण किए गए रिकॉर्ड होते हैं, परीक्षणों को दोहराया जा सकता है और परीक्षण कवरेज को नियंत्रण में रखा जा सकता है।
- किसी अन्य स्रोत का उपयोग करें: किसी और से सॉफ्टवेयर उत्पाद को तोड़कर उसके द्वारा पाई गई समस्याओं का विश्लेषण करने के लिए कहें।
विनाशकारी परीक्षण का उदाहरण
किसी बैंकिंग एप्लिकेशन के लॉगिन और प्रोफ़ाइल स्क्रीन पर विचार करें। एक विनाशकारी पासवर्ड इन मामलों में काम करेगा:
- 5,000 अक्षरों की एक स्ट्रिंग को 50 अक्षरों तक सीमित फ़ील्ड में पेस्ट करें और पुष्टि करें कि फ़ील्ड इसे चुपचाप छोटा करने के बजाय अस्वीकार कर देता है।
- संख्यात्मक राशि वाले फ़ील्ड में अक्षर, प्रतीक और ऋणात्मक मान सबमिट करें।
- अपेक्षित क्रम को तोड़ें — पिछले चरण को पूरा किए बिना सीधे भुगतान पुष्टिकरण पृष्ठ खोलें।
- डुप्लिकेट रिकॉर्ड बनने से रोकने के लिए सबमिट बटन को बार-बार और तेजी से दबाएं।
- लेनदेन के दौरान नेटवर्क को डिस्कनेक्ट करें और जांचें कि एप्लिकेशन सुचारू रूप से पुनः प्राप्त होता है या आंशिक रिकॉर्ड छोड़ देता है।
प्रत्येक मामले में एक निश्चित अपेक्षा होती है: एक स्पष्ट सत्यापन संदेश, डेटा में कोई गड़बड़ी न होना और कोई अनसुलझा अपवाद न होना। इसके अलावा कुछ भी होने पर उसे दोष के रूप में दर्ज किया जाना चाहिए।
विनाशकारी परीक्षण विधियाँ
सॉफ्टवेयर इंजीनियरिंग में विनाशकारी परीक्षण के उद्देश्यों को पूरा करने के लिए निम्नलिखित विधियों का उपयोग किया जाता है:
- अल्फा/बीटा परीक्षण
- प्रतिगमन परीक्षण
- इंटरफ़ेस परीक्षण
- समतुल्य विभाजन
- लूप परीक्षण
- स्वीकृति परीक्षण, इत्यादि।
विनाशकारी परीक्षण तकनीकें
नीचे दी गई तकनीकों को कुछ संशोधनों के साथ इस्तेमाल किया जा सकता है:
- सफेद बॉक्स परीक्षण
- सुरक्षा परीक्षण
- दोष परीक्षण
- धुआँ परीक्षण, और इसी तरह
मजबूती को लक्ष्य बनाते समय, निम्नलिखित सहायक तकनीकों को शामिल करना उचित है: नकारात्मक परीक्षण, तनाव परीक्षण, पुनर्प्राप्ति परीक्षण और फ़ज़ परीक्षण.
विनाशकारी परीक्षण के लाभ और हानियाँ
इस तकनीक को रिलीज में शामिल करने से पहले इसके नुकसान और फायदे को स्पष्ट रूप से बता देना जरूरी है।
फायदे
- Revयह उन विफलता बिंदुओं को दर्शाता है जिन तक विनिर्देश-आधारित परीक्षण कभी नहीं पहुँच पाता।
- यह वास्तविक सीमा निर्धारित करता है, जिससे उत्पाद को आत्मविश्वास के साथ इन सीमाओं के भीतर संचालित किया जा सकता है।
- यह उन दुर्लभ दोषों को उजागर करता है जो उत्पादन के दौरान रिलीज होने के काफी समय बाद सामने आते हैं।
- दुरुपयोग की स्थिति में स्थायित्व, पुनर्प्राप्ति क्षमता और त्रुटि प्रबंधन की जाँच करता है।
नुकसान
- इसकी प्रकृति अनिश्चित है, इसलिए कवरेज की गारंटी देना या उसे आसानी से मापना संभव नहीं है।
- इसमें काफी समय लगता है और यह परीक्षक के अनुभव और रचनात्मकता पर निर्भर करता है।
- उपयोग किए गए चरणों का सावधानीपूर्वक रिकॉर्ड रखे बिना निष्कर्षों को दोहराना मुश्किल हो सकता है।
- खराब तरीके से नियंत्रित परीक्षण साझा परीक्षण डेटा को दूषित कर सकते हैं, इसलिए एक पृथक वातावरण आवश्यक है।

