व्हाइट बॉक्स परीक्षण
व्हाइट बॉक्स परीक्षण सॉफ्टवेयर परीक्षण तकनीक है जिसमें आंतरिक संरचना, डिजाइन और सॉफ्टवेयर की कोडिंग को इनपुट-आउटपुट के प्रवाह को सत्यापित करने और डिजाइन, प्रयोज्य और सुरक्षा में सुधार करने के लिए परीक्षण किया जाता है। सफेद बॉक्स परीक्षण में, कोड परीक्षकों को दिखाई देता है इसलिए इसे क्लियर बॉक्स परीक्षण, ओपन बॉक्स परीक्षण, पारदर्शी बॉक्स परीक्षण, कोड-आधारित परीक्षण और ग्लास बॉक्स परीक्षण भी कहा जाता है।
यह सॉफ्टवेयर परीक्षण के लिए बॉक्स परीक्षण दृष्टिकोण के दो भागों में से एक है। इसके समकक्ष, ब्लैकबॉक्स परीक्षण में बाहरी या अंतिम-उपयोगकर्ता प्रकार के परिप्रेक्ष्य से परीक्षण शामिल है। दूसरी ओर, सॉफ्टवेयर इंजीनियरिंग में व्हाइट बॉक्स परीक्षण एक अनुप्रयोग के आंतरिक कामकाज पर आधारित है और आंतरिक परीक्षण के आसपास घूमता है।
"व्हाइटबॉक्स" शब्द का उपयोग व्यू-थ्रू बॉक्स अवधारणा के कारण किया गया था। स्पष्ट बॉक्स या व्हाइटबॉक्स नाम सॉफ्टवेयर के बाहरी आवरण (या "बॉक्स") को अपने आंतरिक कामकाज के माध्यम से देखने की क्षमता का प्रतीक है। इसी तरह, "ब्लैक बॉक्स टेस्टिंग" में "ब्लैक बॉक्स" सॉफ्टवेयर के आंतरिक कामकाज को देखने में सक्षम नहीं होने का प्रतीक है ताकि केवल अंत-उपयोगकर्ता अनुभव का परीक्षण किया जा सके।
इस सफेद बॉक्स परीक्षण ट्यूटोरियल में, आप सीखेंगे-
- व्हाइट बॉक्स परीक्षण क्या है?
- आप व्हाइट बॉक्स परीक्षण में क्या सत्यापित करते हैं?
- आप व्हाइट बॉक्स परीक्षण कैसे करते हैं?
- व्हाइटबॉक्स परीक्षण उदाहरण
- व्हाइट बॉक्स परीक्षण तकनीक
- व्हाइट बॉक्स परीक्षण के प्रकार
- व्हाइट बॉक्स परीक्षण उपकरण
- व्हाइट बॉक्स परीक्षण के लाभ
- व्हाइटबॉक्स परीक्षण के नुकसान
आप व्हाइट बॉक्स परीक्षण में क्या सत्यापित करते हैं?
व्हाइट बॉक्स परीक्षण में निम्नलिखित के लिए सॉफ्टवेयर कोड का परीक्षण शामिल है:
- आंतरिक सुरक्षा छेद
- कोडिंग प्रक्रियाओं में टूटी या खराब संरचित पथ
- कोड के माध्यम से विशिष्ट इनपुट का प्रवाह
- अपेक्षित उत्पादन
- सशर्त छोरों की कार्यक्षमता
- व्यक्तिगत आधार पर प्रत्येक कथन, वस्तु और कार्य का परीक्षण
सॉफ्टवेयर विकास के सिस्टम, एकीकरण और इकाई स्तरों पर परीक्षण किया जा सकता है। व्हाइटबॉक्स परीक्षण के मूल लक्ष्यों में से एक आवेदन के लिए एक कार्य प्रवाह को सत्यापित करना है। इसमें अपेक्षित या वांछित आउटपुट के खिलाफ पूर्वनिर्धारित इनपुट की एक श्रृंखला का परीक्षण करना शामिल है ताकि जब एक विशिष्ट इनपुट अपेक्षित आउटपुट में परिणाम न हो, तो आपको बग का सामना करना पड़ा है।
यदि वीडियो उपलब्ध नहीं है तो यहां क्लिक करें
आप व्हाइट बॉक्स परीक्षण कैसे करते हैं?
आपको सफेद बॉक्स परीक्षण का सरलीकृत विवरण देने के लिए, हमने इसे दो बुनियादी चरणों में विभाजित किया है । श्वेत बॉक्स परीक्षण तकनीक का उपयोग करके किसी अनुप्रयोग का परीक्षण करते समय परीक्षक यही करते हैं:
चरण 1) स्रोत कोड का उपयोग करें
पहली चीज जो एक परीक्षक अक्सर करता है वह आवेदन के स्रोत कोड को सीखना और समझना है। चूंकि सफेद बॉक्स परीक्षण में किसी अनुप्रयोग के आंतरिक कामकाज का परीक्षण शामिल है, इसलिए परीक्षक को उन अनुप्रयोगों में उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में बहुत जानकार होना चाहिए जो वे परीक्षण कर रहे हैं। इसके अलावा, परीक्षण करने वाले व्यक्ति को सुरक्षित कोडिंग प्रथाओं के बारे में अत्यधिक जानकारी होनी चाहिए। सुरक्षा अक्सर परीक्षण सॉफ़्टवेयर के प्राथमिक उद्देश्यों में से एक है। परीक्षक को सुरक्षा मुद्दों को खोजने और हैकर्स और भोले उपयोगकर्ताओं के हमलों को रोकने में सक्षम होना चाहिए जो जानबूझकर या अनजाने में आवेदन में दुर्भावनापूर्ण कोड को इंजेक्ट कर सकते हैं।
चरण 2) परीक्षण के मामले और जांच बनाएं
सफेद बॉक्स परीक्षण के दूसरे मूल चरण में उचित प्रवाह और संरचना के लिए एप्लिकेशन के स्रोत कोड का परीक्षण करना शामिल है। आवेदन के स्रोत कोड का परीक्षण करने के लिए अधिक कोड लिखकर एक तरीका है। परीक्षक अनुप्रयोग में प्रत्येक प्रक्रिया या प्रक्रियाओं की श्रृंखला के लिए छोटे परीक्षण विकसित करेगा। इस पद्धति के लिए आवश्यक है कि परीक्षक को कोड का गहन ज्ञान होना चाहिए और अक्सर इसे डेवलपर द्वारा किया जाता है। अन्य तरीकों में मैनुअल परीक्षण, परीक्षण और त्रुटि परीक्षण और परीक्षण उपकरणों का उपयोग शामिल है जैसा कि हम इस लेख में आगे बताएंगे।
व्हाइटबॉक्स परीक्षण उदाहरण
निम्नलिखित कोड कोड पर विचार करें
Printme (int a, int b) {------------ Printme एक फंक्शन हैint result = a + b;अगर (परिणाम> 0)प्रिंट ("सकारात्मक", परिणाम)अन्यप्रिंट ("नकारात्मक", परिणाम)} ----------- सोर्स कोड का अंत
सॉफ्टवेयर इंजीनियरिंग में व्हाइटबॉक्स परीक्षण का लक्ष्य कोड में सभी निर्णय शाखाओं, लूप, स्टेटमेंट को सत्यापित करना है।
उपरोक्त सफेद बॉक्स परीक्षण उदाहरण में बयानों का प्रयोग करने के लिए, व्हाइटबॉक्स परीक्षण मामले होंगे
- ए = 1, बी = 1
- ए = -1, बी = -3
व्हाइट बॉक्स परीक्षण तकनीक
एक प्रमुख व्हाइट बॉक्स परीक्षण तकनीक कोड कवरेज विश्लेषण है। कोड कवरेज विश्लेषण एक टेस्ट केस सूट में अंतराल को समाप्त करता है। यह एक कार्यक्रम के क्षेत्रों की पहचान करता है जो परीक्षण मामलों के एक सेट द्वारा अभ्यास नहीं किया जाता है। एक बार अंतराल की पहचान हो जाने के बाद, आप कोड के अनछुए भागों को सत्यापित करने के लिए परीक्षण मामले बनाते हैं, जिससे सॉफ़्टवेयर उत्पाद की गुणवत्ता बढ़ती है
कोड कवरेज विश्लेषण करने के लिए स्वचालित उपकरण उपलब्ध हैं। नीचे कुछ कवरेज विश्लेषण तकनीकें हैं जिन्हें एक बॉक्स परीक्षक उपयोग कर सकता है:
स्टेटमेंट कवरेज : - इस तकनीक को सॉफ्टवेयर इंजीनियरिंग की परीक्षण प्रक्रिया के दौरान कम से कम एक बार परीक्षण किए जाने वाले कोड में हर संभव विवरण की आवश्यकता होती है।
ब्रांच कवरेज - यह तकनीक एक सॉफ्टवेयर एप्लिकेशन के हर संभव पथ (अगर-और अन्य सशर्त छोरों) की जांच करती है।
ऊपर के अलावा, कई कवरेज प्रकार हैं जैसे कि हालत कवरेज, एकाधिक हालत कवरेज, पथ कवरेज, कार्य कवरेज आदि। प्रत्येक तकनीक के सॉफ्टवेयर कोड के सभी भागों का परीक्षण करने (कवर) करने का अपना गुण और प्रयास है। स्टेटमेंट और ब्रांच कवरेज का उपयोग करके आप आमतौर पर 80-90% कोड कवरेज प्राप्त करते हैं जो पर्याप्त है। निम्नलिखित महत्वपूर्ण व्हाइटबॉक्स परीक्षण तकनीकें हैं:
- स्टेटमेंट कवरेज
- निर्णय कवरेज
- शाखा कवरेज
- हालत कवरेज
- एकाधिक स्थिति कवरेज
- परिमित स्टेट मशीन कवरेज
- पथ कवरेज
- नियंत्रण प्रवाह परीक्षण
- डेटा प्रवाह परीक्षण
अधिक जानकारी जानने के लिए इस लेख का संदर्भ लें https://www.guru99.com/code-coverage.html
व्हाइट बॉक्स परीक्षण के प्रकार
श्वेत बॉक्स परीक्षण में एक अनुप्रयोग की उपयोगिता, कोड के ब्लॉक या विशिष्ट सॉफ्टवेयर पैकेज के मूल्यांकन के लिए उपयोग किए जाने वाले कई परीक्षण प्रकार शामिल हैं। नीचे सूचीबद्ध हैं -
-
यूनिट टेस्टिंग: यह अक्सर किसी एप्लिकेशन पर किया जाने वाला पहला प्रकार का परीक्षण होता है। यूनिट टेस्टिंग प्रत्येक यूनिट या कोड के ब्लॉक पर किया जाता है क्योंकि यह विकसित होता है। इकाई परीक्षण अनिवार्य रूप से प्रोग्रामर द्वारा किया जाता है। एक सॉफ्टवेयर डेवलपर के रूप में, आप कोड की कुछ पंक्तियों को विकसित करते हैं, एक एकल फ़ंक्शन या एक ऑब्जेक्ट और यह सुनिश्चित करने के लिए परीक्षण करते हैं कि यह जारी रखने से पहले काम करता है यूनिट परीक्षण सॉफ्टवेयर विकास जीवनचक्र में जल्दी से अधिकांश बग्स की पहचान करने में मदद करता है। इस चरण में पहचाने जाने वाले कीड़े सस्ते होते हैं और ठीक करने में आसान होते हैं।
-
मेमोरी लीक के लिए परीक्षण : मेमोरी लीक धीमी गति से चलने वाले अनुप्रयोगों के प्रमुख कारण हैं। एक क्यूए विशेषज्ञ जो मेमोरी लीक का पता लगाने में अनुभवी है, उन मामलों में आवश्यक है जहां आपके पास धीमी गति से चलने वाला सॉफ़्टवेयर एप्लिकेशन है।
ऊपर के अलावा, कुछ परीक्षण प्रकार ब्लैक बॉक्स और व्हाइट बॉक्स परीक्षण दोनों का हिस्सा हैं। वे नीचे सूचीबद्ध हैं
- व्हाइट बॉक्स पेनेट्रेशन टेस्टिंग: इस परीक्षण में, परीक्षक / डेवलपर को एप्लिकेशन के स्रोत कोड, विस्तृत नेटवर्क जानकारी, आईपी पते शामिल होते हैं और सभी सर्वर जानकारी जो एप्लिकेशन चलाता है, की पूरी जानकारी होती है। उद्देश्य सुरक्षा खतरों को उजागर करने के लिए कई कोणों से कोड पर हमला करना है
- व्हाइट बॉक्स म्यूटेशन टेस्टिंग : म्यूटेशन परीक्षण का उपयोग अक्सर सॉफ़्टवेयर समाधान के विस्तार के लिए उपयोग करने के लिए सर्वोत्तम कोडिंग तकनीकों की खोज के लिए किया जाता है।
व्हाइट बॉक्स परीक्षण उपकरण
नीचे शीर्ष सफेद बॉक्स परीक्षण उपकरणों की एक सूची दी गई है।
- पैरासॉफ्ट जेस्ट
- एक्लेमम्मा
- NUnit
- PyUnit
- HTMLUnit
- CppUnit
व्हाइट बॉक्स परीक्षण के लाभ
- छिपी त्रुटियों को खोजने के द्वारा कोड अनुकूलन।
- सफेद बॉक्स परीक्षण के मामलों को आसानी से स्वचालित किया जा सकता है।
- परीक्षण अधिक गहन है क्योंकि सभी कोड पथ आमतौर पर कवर किए जाते हैं।
- GUI उपलब्ध न होने पर भी SDLC में परीक्षण जल्दी शुरू हो सकता है।
व्हाइटबॉक्स परीक्षण के नुकसान
- व्हाइट बॉक्स परीक्षण काफी जटिल और महंगा हो सकता है।
- आमतौर पर सफेद बॉक्स परीक्षण के मामलों को अंजाम देने वाले डेवलपर्स इसका पता लगाते हैं। डेवलपर्स द्वारा सफेद बॉक्स परीक्षण विस्तृत नहीं है, जिससे उत्पादन त्रुटियां हो सकती हैं।
- प्रोग्रामिंग और कार्यान्वयन की विस्तृत समझ के साथ व्हाइट बॉक्स परीक्षण के लिए पेशेवर संसाधनों की आवश्यकता होती है।
- व्हाइट-बॉक्स परीक्षण समय लेने वाली है, बड़े प्रोग्रामिंग एप्लिकेशन पूरी तरह से परीक्षण करने के लिए समय लेते हैं।
समाप्ति नोट्स:
- सफेद बॉक्स परीक्षण काफी जटिल हो सकता है। इसमें शामिल जटिलता का परीक्षण किए गए एप्लिकेशन के साथ बहुत कुछ करना है। एक छोटा अनुप्रयोग जो एक एकल ऑपरेशन करता है, कुछ ही मिनटों में सफेद बॉक्स का परीक्षण किया जा सकता है, जबकि बड़े प्रोग्रामिंग अनुप्रयोगों को दिन, सप्ताह और यहां तक कि पूरी तरह से परीक्षण करने में अधिक समय लगता है।
- सॉफ्टवेयर टेस्टिंग में व्हाइट बॉक्स टेस्टिंग एक सॉफ्टवेयर एप्लीकेशन पर की जानी चाहिए क्योंकि इसे लिखे जाने के बाद और प्रत्येक संशोधन के बाद इसे विकसित किया जा रहा है