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