सॉफ्टवेयर टेस्टिंग-एक प्रक्रिया हैं, जिसके अंतर्गत सिस्टम या सिस्टम कंपोनेंट्स की जांच की जाती हैं। इस परिक्षण का मुख्य हेतु यह जांचना हैं की-सिस्टम कंपनी द्वारा निर्धारित मानकों (या कंपनी की जरूरतों के अनुसार) तैयार की गयी हो।
आसान शब्दों में, अपने ग्राहकों को सॉफ्टवेर संबंधित जानकारी मुहैय्या कराने एवं उसकी गुणवत्ता परखने के लिए सॉफ्टवेर टेस्टिंग की जाती हैं। विक्रेता कंपनी द्वारा तयार सॉफ्टवेर को ग्राहक के जरूरतों के अनुसार विकसित किया जाता हैं और ग्राहक जिन परिस्थितियों में तयार सॉफ्टवेर का उपयोग करेगा, उस तरह की परिस्थितियों को लैब में तयार कर सॉफ्टवेर को परखा जाता है।
सॉफ्टवेर टेस्टिंग का प्राथमिक उद्देश्य, सॉफ्टवेर फेलियर को ढूँढना हैं, अगर टेस्टिंग के दौरान सॉफ्टवेर फेल हो जाता हैं। तो जिन कारणों की वजह से सॉफ्टवेर फेल हुआ हैं, उन्हें ठीक किया जाता हैं। जिससे सॉफ्टवेर बिना किसी तकनिकी बाधा के सुचारू रूप से काम कर सकें।
डेवलपमेंट टीम द्वारा सॉफ्टवेर तयार किया जाता हैं, उसके बाद तयार सॉफ्टवेर को टेस्टिंग टीम के पास भेजा जाता हैं। टेस्टिंग करनेवाले व्यक्ती को सॉफ्टवेर टेस्टर्स कहा जाता हैं।
सॉफ्टवेर टेस्टिंग के मुख्य रूप से 3 प्रकार हैं-
ब्लैक बॉक्स टेस्टिंग में सॉफ्टवेर सिस्टम को ब्लैक बॉक्स माना जाता हैं। ब्लैक बॉक्स का मतलब टेस्टिंग के दौरान, सॉफ्टवेर टेस्टर को सॉफ्टवेर की कमियों को जांचने के लिए सॉफ्टवेर के कोड की जानकारी की जरुरत नहीं होती। आसान शब्दों में, ब्लैक बॉक्स टेस्टिंग में सॉफ्टवेर कोड की जरुरत नहीं होती।
ब्लैक बॉक्स टेस्टिंग का मुख्य उद्देश्य सॉफ्टवेर की कार्यक्षमता को परखना होता हैं। ब्लैक बॉक्स टेस्टिंग का उपयोग सॉफ्टवेर डेवलपमेंट लाइफ साइकिल और टेस्टिंग लाइफ साइकिल के दौरान कई स्तर पर किया जाता हैं, जैसे की-यूनिट, इंटीग्रेशन, एक्सेपटन्स एंड रिग्रेशन टेस्टिंग।
टेस्टिंग प्रक्रिया में टेस्ट डिज़ाइनर वैलिड और इनवैलिड इनपुट्स को सेलेक्ट कर, सॉफ्टवेर द्वारा दिए जानेवाले उत्तर(आउटपुट) के आधार पर सॉफ्टवेर की अचूकता और कार्यक्षमता को परखता हैं।
निचे दिए गए त्रुटियों(एर्रर्स) के लिए ब्लैक बॉक्स टेस्टिंग की जाती हैं-
ब्लैक बॉक्स टेस्टिंग को निम्नलिखित प्रश्नों के उत्तर पाने के लिए डिजाईन किया जाता हैं-
ब्लैक बॉक्स टेस्टिंग में मुख्य रूप से रिकॉर्ड और प्लेबैक टूल्स का उपयोग किया जाता हैं। इन टूल्स का उपयोग यह जांचने के लिए किया जाता हैं की-नए सुधारों ने पहले से सुचारू रूप से काम कर रहे सॉफ्टवेर सिस्टम में एरर तो नहीं निर्माण किया।
रिकॉर्ड और प्लेबैक टूल्स को सामान्यतः टीएसएल(TSL), वीबी स्क्रिप्ट(VB Script), जावा स्क्रिप्ट (Java Script), पर्ल(Per) जैसी प्रोग्रामिंग लैंग्वेजेज में लिखा जाता हैं।
वाइट बॉक्स टेस्टिंग को ओपन बॉक्स टेस्टिंग, क्लियर बॉक्स टेस्टिंग, गिलास बॉक्स टेस्टिंग के नाम से भी जाना जाता हैं।
ब्लैक बॉक्स टेस्टिंग के विपरीत, वाइट बॉक्स टेस्टिंग में सॉफ्टवेर के कोड को ध्यान में लेकर इंटरनल स्ट्रक्चर को जांचने के लिए टेस्ट केसेस निर्धारित किए जाते हैं। वाइट बॉक्स टेस्टिंग के लिए टेस्टर को प्रोग्रामिंग लैंग्वेजेज का ज्ञान होना आवश्यक हैं।
वाइट बॉक्स टेस्टिंग में टेस्टर, टेस्ट केस इनपुट की मदत से कोड पाथ को निर्धारित करता हैं और टेस्ट के अंत में प्राप्त होने वाले अपेक्षित आउटपुट को तय करता हैं।
उदहारण के तौर पर-इन सर्किट टेस्टिंग, जोकि इलेक्ट्रिकल हार्डवेअर टेस्टिंग हैं। इसमें सर्किट पर उपलब्ध हर नोड की जांच कर आउटपुट को मापा जाता हैं।
वाइट बॉक्स टेस्टिंग-सोफ्टवेर टेस्टिंग की एक ऐसी पद्धति हैं जिसमे सिस्टम में एरर ढूँढने के लिए सोफ्टवेर सिस्टम की कार्यप्रणाली की जानकारी होना आवश्यक हैं।
अनुक्रम | वाइट बॉक्स टेस्टिंग(WBT) | ब्लैक बॉक्स टेस्टिंग(BBT) |
1 | वाइट बॉक्स टेस्टिंग, एक सॉफ्टवेर टेस्टिंग पद्धति हैं-जिसमें सोफ्टवेर के आतंरिक ढांचे(इंटरनल स्ट्रक्चर) और कोड की जांच की जाती हैं, और इस विषय में टेस्टर को जानकारी होती हैं। | ब्लैक बॉक्स टेस्टिंग, एक सोफ्टवेर टेस्टिंग पद्धति हैं, जिसमें सोफ्टवेर के आतंरिक ढांचे(इंटरनल स्ट्रक्चर) और कोड की जांच की जाती हैं, और इस विषय में टेस्टर को जानकारी नहीं होती हैं। |
2 | वाइट बॉक्स टेस्टिंग में सॉफ्टवेर के इंटरनल कोड की जांच की जाती हैं। | ब्लैक बॉक्स टेस्टिंग में केवल सोफ्टवेर के इनपुट और आउटपुट की जांच की जाती हैं। |
3 | वाइट बॉक्स टेस्टिंग के दौरान, सोर्स कोड में लिखित हर स्टेटमेंट, लूप की जांच, टेस्ट केसेस के आधार पर की जाती हैं। | ब्लैक बॉक्स टेस्टिंग में, टेस्ट केसेस के आधार पर केवल इनपुट और आउटपुट की जांच की जाती हैं |
4 | चूँकि,वाइट बॉक्स टेस्टिंग के दौरान हर स्टेटमेंट की जांच की जाती हैं, इस कारन तयार सोफ्टवेर पूरी तरह से त्रुटिरहित(एरर-फ्री) होता हैं। | ब्लैक बॉक्स टेस्टिंग में सोर्स कोड की जांच इनपुट-आउटपुट के आधार पर होती हैं, न की हर लाइन को जांचा जाता हैं। इसी कारन सॉफ्टवेर को पुरी तरह से त्रुटिरहित(एरर-फ्री) नहीं कहा जा सकता। |
5 | सोफ्टवेर सिस्टम की गुणवत्ता सुधारने में महत्वपूर्ण भूमिका। | सोफ्टवेर सिस्टम की गुणवत्ता सुधारने में वाइट बॉक्स टेस्टिंग की तुलना में कम कारगर। |
6 | प्रोग्रामिंग की जानकारी वाले विशेषज्ञ व्यक्ति ही वाइट बॉक्स टेस्टिंग कर सकते हैं। | ब्लैक बॉक्स टेस्टिंग के लिए प्रोग्रामिंग की जानकारी होना जरुरी नहीं होता। |
परफॉरमेंस टेस्टिंग, एक गैर-तकनिकी टेस्टिंग पद्धति हैं, जिसमें सोफ्टवेर सिस्टम को स्थिरता, सुचारू रूप से काम करने की काबिलियत जैसे अन्य मानकों पर अलग-अलग वर्कलोड में जांचा जाता हैं।
परफॉरमेंस टेस्टिंग का मुख्य उद्देश्य सोफ्टवेर की विश्वसनीयता, स्थिरता, मापनीयता और उपलब्ध संसाधनों का कम उपयोग करने की क्षमता को परखना हैं।
सोफ्टवेर सिस्टम एक विशिष्ट प्रकार के कार्यभार(वर्कलोड) में किस प्रकार से काम करता हैं, यह जांचने का सबसे आसान तरीका लोड टेस्टिंग यह हैं।
लोड टेस्टिंग से विशिष्ट लोड में काम करने से डेटाबेस, एप्लीकेशन सर्वर पर पड़नेवाला प्रभाव इन जैसी जरुरी चीजों का परिक्षण किया जाता हैं।
स्ट्रेस टेस्टिंग में सोफ्टवेर सिस्टम की अधिकतम कार्यभार में काम करने के क्षमता से ज्यादा में उसे(सोफ्टवेर) जांचा हैं। जिससे यह पता चल सके अधिकतम सीमा से भार होने पर सोफ्टवेर सिस्टम किस प्रकार काम करता हैं। स्ट्रेस टेस्टिंग को सोफ्टवेर को नाकाम करने के लिए किया जाता हैं।
सिस्टम पर वर्तमान यूजर्स से दोगुना यूजर्स को जोड़ा जाता हैं, और सॉफ्टवेर को तब तक रन किया जाता हैं जब तक सोफ्टवेर नाकाम न हो जाए। इस प्रकार के टेस्ट को सोफ्टवेर की मजबूती जांचने के लिए किया जाता हैं।
वेब सर्वर की स्ट्रेस टेस्टिंग शेल स्क्रिप्ट(शेल स्क्रिप्ट, एक स्क्रिप्ट है, जिसे ऑपरेटिंग सिस्टम के शेल या कमांड लाइन इंटरप्रेटर के लिए इस्तेमाल किया जाता हैं।), बोट्स(बोट्स, सोफ्टवेर एप्लीकेशन होते हैं)।
आम तौर पर, बोट्स आसन और स्ट्रक्चरली रिपीटेटीव काम तेजीसे करते हैं। इसी बीच कई डिनायल ऑफ़ सर्विस टूल्स का इस्तेमाल, यह जांचने के लिए किया जाता हैं की अधिकतम स्ट्रेस में वेबिस्ते किस प्रकार काम करती हैं।
इस लेख से सबंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट के जरिये हमसे पूछ सकते हैं।
प्रशांत, पुणे विश्वविद्यालय में बीबीए(कंप्यूटर एप्लीकेशन्स) के तृतीय वर्ष के छात्र हैं। वे अन्तर्राष्ट्रीय राजनीती, रक्षा और प्रोग्रामिंग लैंग्वेजेज में रूचि रखते हैं।