सॉफ्टवेयर परीक्षण में डोमेन परीक्षण क्या है? (उदाहरण सहित)
⚡ स्मार्ट सारांश
डोमेन टेस्टिंग किसी एप्लिकेशन को इनपुट के सबसे छोटे उपयोगी सेट को देकर उसकी जांच करती है, जिसमें मान्य, अमान्य और सीमा मान शामिल होते हैं, और यह पुष्टि करती है कि केवल स्वीकृत सीमा के भीतर के मान ही अपेक्षित आउटपुट उत्पन्न करते हैं।
डोमेन परीक्षण क्या है?
डोमेन परीक्षण एक सॉफ्टवेयर परिक्षण डोमेन टेस्टिंग एक ऐसी प्रक्रिया है जिसमें न्यूनतम इनपुट देकर एप्लिकेशन का परीक्षण किया जाता है और उसके उपयुक्त आउटपुट का मूल्यांकन किया जाता है। डोमेन टेस्टिंग का प्राथमिक लक्ष्य यह जांचना है कि सॉफ्टवेयर एप्लिकेशन स्वीकार्य सीमा के भीतर इनपुट स्वीकार करता है और अपेक्षित आउटपुट प्रदान करता है या नहीं।
यह एक क्रियात्मक परीक्षण यह एक ऐसी तकनीक है जिसमें न्यूनतम इनपुट मानों के साथ सिस्टम के आउटपुट का परीक्षण किया जाता है ताकि यह सुनिश्चित किया जा सके कि सिस्टम अमान्य और सीमा से बाहर के इनपुट मानों को स्वीकार न करे। इसे महत्वपूर्ण तकनीकों में से एक माना जाता है। सफेद बॉक्स परीक्षण विधियों का उपयोग किया जाता है। यह आगे यह सत्यापित करता है कि सिस्टम को निर्दिष्ट या मान्य सीमा से बाहर के इनपुट, स्थितियों और सूचकांकों को स्वीकार नहीं करना चाहिए।
डोमेन टेस्टिंग प्रत्येक विशिष्ट डोमेन के लिए अलग-अलग होती है, इसलिए किसी सॉफ्टवेयर सिस्टम का परीक्षण करने के लिए आपको डोमेन-विशिष्ट ज्ञान की आवश्यकता होती है।
डोमेन परीक्षण का सरल अभ्यास
डोमेन परीक्षण में, हम डोमेन को उप-डोमेन (समतुल्यता वर्ग) में विभाजित करते हैं और फिर प्रत्येक उप-डोमेन से मानों का उपयोग करके परीक्षण करते हैं। उदाहरण के लिए, यदि परीक्षण के लिए कोई वेबसाइट (डोमेन) दी गई है, तो हम परीक्षण की आसानी के लिए वेबसाइट को छोटे भागों (उप-डोमेन) में विभाजित करेंगे।
इस डोमेन में किसी एक इनपुट वेरिएबल या इनपुट वेरिएबल्स के संयोजन का परीक्षण शामिल हो सकता है।
अभ्यासकर्ता अक्सर डोमेन परीक्षण के सबसे सरल मामलों का अध्ययन दो अन्य नामों से करते हैं, "सीमा परीक्षण" और "समतुल्यता वर्ग विश्लेषण"।
सीमा परीक्षण - सीमा मान विश्लेषण (BVA) विभाजनों के बीच की सीमाओं पर परीक्षण पर आधारित है। हम विभाजन/वर्गों में वैध और अवैध दोनों इनपुट मानों का परीक्षण करेंगे।
समतुल्यता वर्ग परीक्षण - इस तकनीक के पीछे विचार परीक्षण स्थितियों के एक सेट को समूहों या सेटों में विभाजित करना (यानी विभाजित करना) है जिन्हें समान माना जा सकता है (यानी सिस्टम को उन्हें समान रूप से संभालना चाहिए), इसलिए 'तुल्यता विभाजन'।
डोमेन टेस्टिंग के लिए भी यही सरलीकृत रूप लागू होता है।
- केवल इनपुट चरों के परीक्षण के लिए
- केवल परीक्षण किए जाने पर ही सिस्टम स्तर
- केवल तभी जब एक बार में एक का परीक्षण किया जाए
- केवल तभी जब बहुत सतही तरीके से परीक्षण किया जाए
इसे निम्नानुसार सरलीकृत किया जा सकता है:
| परिवर्तनीय | मान्य वर्ग समतुल्यता वर्ग | अमान्य वर्ग समतुल्यता वर्ग | सीमाएँ और विशेष मामले | नोट्स |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
स्पष्टीकरण:
- यदि कोई फ़ील्ड 0-100 की रेंज स्वीकार करता है, तो उस फ़ील्ड को -1 और 101 स्वीकार नहीं करना चाहिए, क्योंकि वे अमान्य प्रविष्टियाँ हैं और सीमाओं से बाहर हैं।
- इस फ़ील्ड में 0, 100 और इनके बीच की कोई भी संख्या जैसे मान स्वीकार किए जाने चाहिए।
इस तरह की टेबल बनाना (व्यवहार में)
- समय के साथ समतुल्यता वर्ग विश्लेषण करने के लिए, जानकारी को एक स्प्रेडशीट में डालें। सबसे पहले चरों की सूची बनाएं। जैसे-जैसे आपको उनके बारे में जानकारी मिलती जाए, उसे जोड़ते जाएं।
- अंततः तालिका में सभी चर शामिल होने चाहिए। इसका अर्थ है सभी इनपुट चर, सभी आउटपुट चर और कोई भी मध्यवर्ती चर जिन्हें आप देख सकते हैं।
- व्यवहार में, इस तरह की अधिकांश सारणियाँ अधूरी होती हैं। सर्वोत्तम सारणियाँ प्रत्येक चर को सूचीबद्ध करती हैं और महत्वपूर्ण चरों के लिए विस्तृत जानकारी प्रदान करती हैं।
डोमेन परीक्षण रणनीति
डोमेन टेस्टिंग करते समय आपको निम्नलिखित बातों का ध्यान रखना होगा:
- हम किस डोमेन का परीक्षण कर रहे हैं?
- मानों को वर्गों में कैसे समूहित करें?
- वर्गों के कौन से मानों का परीक्षण किया जाना है?
- परिणाम का निर्धारण कैसे करें?
हम किस डोमेन का परीक्षण कर रहे हैं?
हम जिस भी डोमेन का परीक्षण करते हैं, उसमें कुछ इनपुट कार्यक्षमता और एक आउटपुट कार्यक्षमता होती है। कुछ इनपुट चर दर्ज किए जाने होते हैं, और उचित आउटपुट को सत्यापित किया जाना होता है। नीचे दिया गया आरेख इनपुट-आउटपुट संबंध को दर्शाता है।
डोमेन परीक्षण उदाहरण
एकल इनपुट परीक्षण परिदृश्य पर विचार करें:
C = a+b, जहाँ a और b इनपुट चर हैं तथा C आउटपुट चर है।
उपरोक्त उदाहरण में, वर्गीकरण की कोई आवश्यकता नहीं है, और न ही चरों के किसी संयोजन की आवश्यकता है।
नीचे दिए गए बहु इनपुट और उपयुक्त आउटपुट परिदृश्य पर विचार करें:
बच्चों के लिए एक खेल प्रदर्शनी पर विचार करें। छह प्रतियोगिताएँ आयोजित की गई हैं, और टिकट आयु और लिंग के आधार पर दिए जाने हैं। टिकट वितरण प्रणाली, खेल प्रदर्शनी की संपूर्ण कार्यप्रणाली के परीक्षण के लिए निर्धारित मॉड्यूल में से एक है।
परिदृश्य के अनुसार, हमें आयु और प्रतियोगिताओं के आधार पर छह परिदृश्य मिले:
- 5 वर्ष से अधिक और 10 वर्ष से कम आयु के लड़कों को कहानी सुनाने में भाग लेना चाहिए।
- 5 वर्ष से अधिक और 10 वर्ष से कम आयु की लड़कियां चित्रकला प्रतियोगिता में भाग ले सकती हैं।
- यदि लड़के की आयु 10 वर्ष से अधिक और 15 वर्ष से कम है, तो उसे प्रश्नोत्तरी में भाग लेना चाहिए।
- 10 वर्ष से अधिक और 15 वर्ष से कम आयु की लड़कियों को निबंध लेखन में भाग लेना चाहिए।
- पांच वर्ष या उससे कम आयु के लड़के और लड़कियां दोनों ही कविता प्रतियोगिता में भाग ले सकते हैं।
- 15 वर्ष से अधिक आयु के लड़के और लड़कियों दोनों को कविता प्रतियोगिता में भाग लेना चाहिए।
यहां इनपुट आयु और लिंग होंगे, और इस प्रकार प्रतियोगिता के लिए टिकट जारी किया जाएगा। यह वह मामला है जहां इनपुट का विभाजन, या बस समूहीकरण किया जाता है।ping मूल्यों का मुद्दा सामने आता है।
मानों को वर्गों में कैसे समूहित करें?
कुछ मानों को विभाजित करने का अर्थ है उन्हें ऐसे भागों में बाँटना जिनमें कोई अतिव्यापीता न हो।ping उपसमुच्चय।
जैसा कि हमने पहले चर्चा की थी कि विभाजन दो प्रकार का होता है:
- समतुल्य विभाजन – समतुल्यता विभाजन एक सॉफ्टवेयर परीक्षण तकनीक है जो सॉफ्टवेयर इकाई के इनपुट डेटा को समतुल्य डेटा के विभाजनों में विभाजित करती है, जिससे परीक्षण के मामलों इसे प्राप्त किया जा सकता है। सिद्धांत रूप में, परीक्षण मामलों को प्रत्येक विभाजन को कम से कम एक बार कवर करने के लिए डिज़ाइन किया जाता है।
- सीमा मान विश्लेषण सीमा मान विश्लेषण एक सॉफ्टवेयर परीक्षण तकनीक है जिसमें परीक्षणों को एक सीमा में सीमा मानों के प्रतिनिधियों को शामिल करने के लिए डिज़ाइन किया जाता है। यह विचार सीमा से लिया गया है।
उपरोक्त उदाहरण में, हम मानों को उपसमूहों में विभाजित कर रहे हैं। हम आयु को निम्नलिखित वर्गों में विभाजित कर रहे हैं:
- कक्षा 1: 5 से 10 वर्ष की आयु वर्ग के बच्चे
- कक्षा 2: 5 वर्ष से कम आयु वर्ग के बच्चे
- कक्षा 3: 10 से 15 वर्ष की आयु वर्ग के बच्चे
- कक्षा 4: 15 वर्ष से अधिक आयु वर्ग के बच्चे।
वर्गों के कौन से मानों का परीक्षण किया जाना है?
परीक्षण के लिए चुने गए मान सीमा मान होने चाहिए:
- सीमाएँ उन समतुल्यता वर्गों का प्रतिनिधित्व करती हैं जिनसे हम उन्हें नमूना लेते हैं। अन्य वर्ग सदस्यों की तुलना में इनमें त्रुटि उजागर होने की संभावना अधिक होती है, इसलिए ये बेहतर प्रतिनिधि होती हैं।
- तुल्यता वर्ग का सबसे अच्छा प्रतिनिधि श्रेणी के बीच का मान होता है।
उपरोक्त उदाहरण के लिए हमारे पास परीक्षण हेतु निम्नलिखित वर्ग हैं:
उदाहरण के लिए, परिदृश्य #1 के लिए:
कक्षा 1: 5 से 10 वर्ष की आयु वर्ग के बच्चे (आयु >5 और <=10)
सीमा मान:
- मान 10 के बराबर या उससे कम होने चाहिए। इसलिए, 10 वर्ष की आयु को इस वर्ग में शामिल किया जाना चाहिए।
- मान 5 से अधिक होना चाहिए। इसलिए, 5 वर्ष की आयु को इस वर्ग में शामिल नहीं किया जाना चाहिए।
- मान 10 के बराबर या उससे कम होने चाहिए। इसलिए, 11 वर्ष की आयु को इस वर्ग में शामिल नहीं किया जाना चाहिए।
- मान 5 से अधिक होना चाहिए। इसलिए, 6 वर्ष की आयु को इस वर्ग में शामिल किया जाना चाहिए।
समतुल्यता विभाजन मान:
समतुल्यता विभाजन का संदर्भ तब दिया जाता है जब प्रत्येक विभाजन से केवल एक ही शर्त का परीक्षण करना होता है। इसमें, हम यह मानते हैं कि यदि किसी विभाजन में एक शर्त सही है, तो सभी शर्तें सही होनी चाहिए। इसी प्रकार, यदि उस विभाजन में एक शर्त सही नहीं है, तो हम यह मानते हैं कि अन्य कोई भी शर्त सही नहीं होगी। उदाहरण के लिए,
(आयु >5 व <=10)
चूंकि 6 से 10 तक के मान मान्य हैं, इसलिए 6, 7, 8, 9 और 10 में से किसी एक मान को चुनना होगा। अतः चयनित आयु "8" आयु वर्ग (आयु >5 और <=10) के लिए एक मान्य इनपुट आयु है। इस प्रकार के विभाजन को समतुल्यता विभाजन कहा जाता है।
| परिदृश्य | लिए जाने वाले सीमा मान | समतुल्यता विभाजन मान |
|---|---|---|
| लड़का – आयु >5 और <=10 | इनपुट आयु = 6 इनपुट आयु = 5 इनपुट आयु = 11 इनपुट आयु = 10 |
इनपुट आयु = 8 |
| लड़की – आयु >5 और <=10 | इनपुट आयु = 6 इनपुट आयु = 5 इनपुट आयु = 11 इनपुट आयु = 10 |
इनपुट आयु = 8 |
| लड़का – आयु >10 और <=15 | इनपुट आयु = 11 इनपुट आयु = 10 इनपुट आयु = 15 इनपुट आयु = 16 |
इनपुट आयु = 13 |
| लड़की – आयु >10 और <=15 | इनपुट आयु = 11 इनपुट आयु = 10 इनपुट आयु = 15 इनपुट आयु = 16 |
इनपुट आयु = 13 |
| आयु<=5 | इनपुट आयु = 4 इनपुट आयु = 5 |
इनपुट आयु = 3 |
| आयु> 15 | इनपुट आयु = 15 इनपुट आयु = 16 |
इनपुट आयु = 25 |
हम कैसे निर्धारित करें कि प्रोग्राम परीक्षण में उत्तीर्ण हुआ या असफल?
इस कार्यक्षमता का सफल होना केवल उपरोक्त परिदृश्यों के परिणामों पर ही निर्भर नहीं करता है। दिया गया इनपुट और अपेक्षित आउटपुट हमें परिणाम देंगे, और इसके लिए संबंधित क्षेत्र का ज्ञान आवश्यक है।
उदाहरण के परिणामों का निर्धारण: नीचे दी गई स्क्रीन प्रत्येक आयु और लिंग संयोजन के लिए टिकटिंग आउटपुट दिखाती है।
अतः, यदि उपरोक्त सभी परीक्षण सफल होते हैं, तो प्रतियोगिता में टिकट जारी करने का डोमेन सफल हो जाता है। यदि नहीं, तो डोमेन असफल हो जाता है।
डोमेन परीक्षण संरचना
आमतौर पर, डोमेन टेस्टिंग में टेस्टर नीचे दिए गए चरणों का पालन करते हैं। इन्हें हमारी टेस्टिंग आवश्यकताओं के अनुसार अनुकूलित किया जा सकता है या छोड़ा जा सकता है।
- संभावित रूप से दिलचस्प चरों की पहचान करें।
- उन चरों को पहचानें जिनका आप अब विश्लेषण कर सकते हैं और उन्हें क्रम में रखें (सबसे छोटे से सबसे बड़े तक और इसके विपरीत)।
- उपरोक्तानुसार सीमा मान और तुल्यता वर्ग मान बनाएं और पहचानें।
- द्वितीयक आयामों की पहचान करें और प्रत्येक का शास्त्रीय तरीके से विश्लेषण करें। (उपरोक्त उदाहरण में, लिंग द्वितीयक आयाम है।)
- उन चरों की पहचान करें और उनका परीक्षण करें जो परिणाम (आउटपुट चर) रखते हैं।
- मूल्यांकन करें कि प्रोग्राम इस चर के मान का उपयोग कैसे करता है।
- संयोजन परीक्षण के लिए अतिरिक्त संभावित रूप से संबंधित चर की पहचान करें, जहां निर्णय तालिका परीक्षण मदद करता है.
- ऐसे जोखिमों की कल्पना करें जो जरूरी नहीं कि किसी स्पष्ट आयाम से मेल खाते हों।
- अविश्लेषित चरों की पहचान करें और उनकी सूची बनाएँ। बाद में विश्लेषण के लिए जानकारी एकत्र करें।
- जोखिम/समतुल्यता तालिका के साथ अपने विश्लेषण का सारांश प्रस्तुत करें।


