Black Box Testing और White Box Testing क्या है?

हेल्लो दोस्तों! आज हम इस पोस्ट में Black box testing and white box testing in Hindi (ब्लैक बॉक्स टेस्टिंग और वाइट बॉक्स टेस्टिंग क्या है?) के बारें में पूरे विस्तार से पढेंगे, इसे मैंने बहुत ही आसान भाषा में लिखा है, यह आपको आसानी से समझ में आ जायेगा, तो चलिए शुरू करते हैं:-

Black Box Testing in Hindi – ब्लैक बॉक्स टेस्टिंग क्या है?

Black box testing सॉफ्टवेयर टेस्टिंग की एक तकनीक है जिसमें software की functionality (कार्यक्षमता) को test किया जाता है और इसमें tester को सॉफ्टवेयर के internal structure (आंतरिक स्ट्रक्चर) की knowledge नहीं होती.

दूसरे शब्दों में कहें तो, “Black box testing वह टेस्टिंग होती है जिसमें tester को सॉफ्टवेयर के अंदर के structure का ज्ञान होना जरुरी नही होता है तथा टेस्टर को coding की knowledge होना भी जरुरी नही होता है।“

Black box टेस्टिंग को इनपुट-आउटपुट टेस्टिंग भी कहा जाता है। इस टेस्टिंग को black box टेस्टिंग इसलिए कहते है क्योंकि जो सॉफ्टवेयर होता है वह tester के लिए black box की तरह होता है जिसके अंदर वह नही देख सकता।

Black Box Testing in Hindi

इस टेस्टिंग में सॉफ्टवेयर के सिर्फ इनपुट तथा आउटपुट पर ध्यान दिया जाता है। इसलिए इसे Behavioral Testing भी कहा जाता है.

इस टेस्टिंग में, tester एक function को select करता है और इसकी functionality को check करने के लिए इसे एक input देता है. यदि function सही output प्रदान करता है तो इसे टेस्टिंग में pass कर दिया जाता है अन्यथा इसे fail कर दिया जाता है. इसके बाद test team इस result के बारें में development team को बताती है और अगले function को test करती है. जब सभी functions टेस्ट कर लिए जाते है और उनमें कोई problem आती है तो इसे development team को correct करने के लिए भेज दिया जाता है.

Advantages of Black Box Testing in Hindi – ब्लैक बॉक्स टेस्टिंग के फायदे

  1. इसमें tester को programming language का ज्ञान होना जरुरी नहीं होता.

  2. ब्लैक बॉक्स टेस्टिंग को हमेशा user के दृष्टिकोण (point of view) से test किया जाता है इसलिए इसमें problem का पता आसानी से चल जाता है.

  3. इसमें टेस्टर को सॉफ्टवेयर के internal working का पता होना जरुरी नहीं होता.

  4. इसमें test cases को specifications के पूरा होने के तुरंत बाद design किया जा सकता है.

  5. इसमें tester और designer एक दूसरे से independent (स्वतंत्र) रहते है इसलिए इसमें टेस्टिंग unbiased (निष्पक्ष) रहती है.

  6. यह बड़े softwares के लिए बहुत efficient (कुशल) तकनीक है.

Disadvantages of Black Box Testing – ब्लैक बॉक्स टेस्टिंग के नुकसान

  1. यदि specifications स्पष्ट और संक्षिप्त में ना हो तो test cases को design करना बहुत मुश्किल होता है.

  2. इसमें सभी inputs को test नहीं किया जाता है क्योंकि tester के पास सभी inputs को test करने का time नहीं होता.

  3. यदि test को designer के द्वारा पहले से ही पूरा किया जा चूका है तो यह संभावना है कि test दुबारा से repeat हो सकते हैं.

  4. complex (जटिल) code को टेस्ट करने के लिए इसका उपयोग नहीं किया जा सकता.

Black box testing कैसे करते हैं?

इसको perform करने के निम्नलिखित steps हैं:-

  • इसमें सबसे पहले specifications और requirements की जांच की जाती है.

  • दूसरे step में, टेस्टर एक positive test scenerio को create करता है. इसमें वह valid और invalid दोनों input values को select करता है और यह check करता है कि software इन्हें सही तरीके से process कर रहा है या नहीं.

  • तीसरे step में, tester बहुत सारें test cases को विकसित करता है जैसे कि – decision table, all pairs test, error estimation, cause-effect graph आदि.

  • चौथे स्टेप में, सभी test cases को execute किया जाता है.

  • पांचवे स्टेप में, टेस्टर expected output की तुलना actual output से करता है.

  • अंतिम step में, यदि software में कोई defect पाया जाता है तो उसे fix किया जाता है और सॉफ्टवेयर को दुबारा से test किया जाता है.

Black Box Testing Techniques in Hindi – ब्लैक बॉक्स तकनीक

ब्लैक बॉक्स टेस्टिंग तकनीक निम्नलिखित होती हैं:-

  1. Equivalence partitioning
  2. Boundary value analysis
  3. Cause effect Graphing
  4. Decision Table Technique
  5. Requirement Based Testing
  6. Error guessing

Equivalence partitioning

यह एक software testing तकनीक है जिसमें input values को valid और invalid partions (भागों) में विभाजित किया जाता है. इसमें सभी inputs को एक एक करके test नहीं करते बल्कि इसमें inputs को एक group में test किया जाता है.

equivalence partitioning तकनीक का फायदा यह है कि इससे सॉफ्टवेर को टेस्ट करने में समय कम लगता है.

इस तकनीक को testing के सभी levels पर प्रयुक्त किया जा सकता है जैसे – unit, security testing, alpha beta testing आदि पर प्रयुक्त किया जा सकता है.

equivalence partitioning को equivalence class partitioning भी कहते है.

Boundary Value Analysis

Boundary Value Analysis एक ब्लैक बॉक्स टेस्टिंग तकनीक है जिसका प्रयोग boundary value को test करने के लिए किया जाता है और इसका प्रयोग input data की boundaries में त्रुटियों को ढूंढने में किया जाता है.

Boundary दो प्रकार की होती है एक lower boundary (जहाँ से सीमा प्रारंभ होती है) और दूसरी upper boundary (जहाँ सीमा समाप्त होती है) और प्रत्येक boundary की एक valid value तथा एक invalid value होती है.

Test cases इन दोनों valid तथा invalid वैल्यूज के आधार पर डिज़ाइन किये जाते है तथा हम सामान्यतया प्रत्येक बाउंड्री से एक test case का चुनाव करते है.

इसे पूरा पढने के लिए क्लिक करें:- Equivalence partitioning और Boundary value analysis क्या है?

Cause effect graphing

यह एक software testing तकनीक है जिसमें cause और effect के मध्य relationship को विकसित किया जाता है. इसके steps निम्नलिखित हैं:-

  • इसमें inputs (cause) और outputs (effect) को identify किया जाता है
  • इसमें cause effect graph को develop किया जाता है
  • graph को decision table में बदला जाता है.
  • अंत में decision table rules को test cases में बदला जाता है.

Decision Table Technique

Decision Table Technique एक systematic approach है जिसमें बहुत सारें input combinations और उनके system behavior को table के रूप में स्टोर किया जाता है.

यह तकनीक उन functions के लिए उचित है जिनकी दो या दो से अधिक inputs के मध्य logical relationship होती है.

Requirement based testing

Requirement based testing एक सॉफ्टवेयर टेस्टिंग तकनीक है जो software system के SRS में दी गयी requirements को validate करता है.

Error Guessing

Error guessing एक तकनीक है जिसमें किसी विशेष method का प्रयोग नहीं किया जाता है. यह पूरी तरह से tester के experience पर निर्भर होती है. इसमें tester अपने अनुभव के आधार पर software के problem को guess करता है.

Levels of Black box testing in Hindi

ब्लैक बॉक्स टेस्टिंग के levels निम्नलिखित हैं:-

  1. Integration Testing
  2. System Testing
  3. Acceptance Testing

Integration Testing

Integration testing सॉफ्टवेर टेस्टिंग की एक विधि है जिसमें दो या दो से अधिक सॉफ्टवेर units या modules को एक साथ combine किया जाता है तथा एक समूह में उनकी टेस्टिंग की जाती है.

इसे पूरा पढ़ें:- integration testing क्या है?

System Testing

System Testing एक प्रकार की टेस्टिंग तकनीक है जिसमें पूरे system को test किया जाता है.  सिस्टम टेस्टिंग में software requirement specification (SRS) के आधार पर पूरे software product के behavior (स्वभाव) को check किया जाता है.

इसे पूरा पढ़ें:- system testing क्या है?

Acceptance Testing

Acceptance Testing एक टेस्टिंग तकनीक है जिसमें यह निर्धारित किया जाता है कि software यूजर के द्वारा specify की गयी जरूरतों को पूरा करता है या नहीं.

Types of Black Box Testing in Hindi – ब्लैक बॉक्स टेस्टिंग के प्रकार

ब्लैक बॉक्स टेस्टिंग के निम्नलिखित तीन प्रकार होते हैं:-

  1. Functional testing
  2. Non-functional testing
  3. Regression testing

Functional testing

Functional testing एक प्रकार की black box testing है जिसका प्रयोग software की functional requirements को verify करने के लिए किया जाता है. इस टेस्टिंग का मुख्य उद्देश्य प्रत्येक function को test करना होता है.

Non-Functional testing

यह एक प्रकार की सॉफ्टवेयर टेस्टिंग है जिसका प्रयोग सॉफ्टवेयर के non-functional parameters को टेस्ट करने के लिए किया जाता है जैसे – reliability, load test, और performance आदि.

इस टेस्टिंग का मुख्य उद्देश्य software system की reading speed को टेस्ट करना है.

Regression Testing

Regression testing यह सुनिश्चित करती है कि software में किया गया बदलाव सॉफ्टवेयर की working में कोई समस्या उत्पन्न कर रहा है या नहीं. 

अर्थात् यह check करता है कि अगर हम software में कुछ changes करें तो सॉफ्टवेयर की working में कोई बुरा प्रभाव पड़ रहा है या नहीं.

White Box Testing in Hindi – वाइट बॉक्स टेस्टिंग क्या है?

वह टेस्टिंग जिसमें टेस्टर को सॉफ्टवेयर के internal स्ट्रक्चर का ज्ञान होता है white box टेस्टिंग कहलाती है। इस प्रकार की टेस्टिंग सॉफ्टवेयर के अंदर की working पर आधारित होती है।

image

इस टेस्टिंग को white box इसलिए कहते है क्योंकि जो सॉफ्टवेयर होता है वह टेस्टर के लिए white box की तरह होता है जिसके अंदर वह देख सकता है।

दूसरे शब्दों में कहें तो, “White box testing एक सॉफ्टवेयर टेस्टिंग तकनीक है जिसमें सॉफ्टवेयर के आंतरिक स्ट्रक्चर, design और coding को test किया जाता है.”

इस प्रकार की टेस्टिंग में टेस्टर को प्रोग्रामिंग का ज्ञान होता है। इस टेस्टिंग का बड़ा फायदा यह है कि हम सॉफ्टवेयर डेवलपमेंट के शुरुआत की stage में ही errors (त्रुटियों) का पता लगा सकते है।

इस टेस्टिंग का मुख्य उद्देश्य input output flow को verify करना और design, usability, और security को बेहतर करना होता है.

इसमें tester को code दिखाई देता है इसलिए इसे clear box testing, transparent box testing और glass box testing भी कहते हैं.

इस टेस्टिंग में developer प्रोग्राम के code की प्रत्येक line को test करता है. Developers के द्वारा white box testing परफॉर्म की जाती है और फिर software को टेस्टिंग टीम को black box testing के लिए भेज दिया जाता है.

Advantages of White Box Testing in Hindi – वाइट बॉक्स टेस्टिंग के फायदे

इसके लाभ निम्नलिखित हैं:-

  1. यह code को optimize करता है इलसिए इसके द्वारा छुपे हुए errors को find किया जाता है.
  2. वाइट बॉक्स टेस्टिंग के test cases को आसानी से automate किया जा सकता है.
  3. GUI उपलब्ध नहीं होने पर भी SDLC में इस टेस्टिंग को तुरंत start किया जा सकता है.
  4. इसमें सभी code और structure को test किया जाता है.

Disadvantages of White Box Testing in Hindi – वाइट बॉक्स टेस्टिंग के नुकसान

इसकी हानियाँ निम्नलिखित होती हैं:-

  1. इसका मुख्य नुकसान यह है कि यह बहुत expensive (महंगा) होता है.
  2. इस टेस्टिंग को करने के लिए tester को programing language की knowledge होनी चाहिए.
  3. इसमें code को दुबारा से लिखने के लिए test cases को भी फिर से लिखना पड़ता है.
  4. यह बहुत ही ज्यादा complex (जटिल) होता है.
  5. इसे perform करने में बहुत ज्यादा समय लगता है.

Types of White Box Testing Techniques in Hindi

White box testing तकनीक निम्नलिखित हैं:-

  1. Data flow testing
  2. Control flow testing
  3. Branch testing
  4. Statement testing
  5. Decision testing

Data Flow Testing –

यह testing strategies का एक समूह होता है जो program के control flow की जांच करता है.

Control flow testing

यह टेस्टिंग तकनीक control structure के द्वारा program के statements के execution order को निर्धारित करता है. एक program के control structure का प्रयोग program के test cases को विकसित करने के लिए किया जाता है.

Branch Testing

Branch testing का प्रयोग control flow graph के सभी branches को cover करने के लिए किया जाता है.

Statement testing

इस टेस्टिंग का white box test cases को design करने के लिए किया जाता है. इस तकनीक में source code के सभी statements को कम से कम बार जरुर test किया जाता है.

Decision Testing

इस टेस्टिंग में statements को test करने के लिए while, do while, for loop और if statement आदि का प्रयोग किया जाता है. इसमें true या false परिणामों को रिपोर्ट किया जाता है.

White box testing कैसे करते हैं?

इसको perform करने के steps नीचे दिए गये हैं:-

  • सबसे पहले सभी test scenarios तथा test cases को डिजाईन किया जाता है और उन्हें priority दी जाती है.
  • इस step में resource utilization की जांच करने के लिए runtime में code की study की जाती है.
  • इस स्टेप में आंतरिक subroutine की टेस्टिंग की जाती है.
  • इस step में control statements को test किया जाता है जैसे कि – loops और conditional statements.
  • last step में security testing की जाती है जिससे कि संभावित सुरक्षा खामियों की जांच की जा सके.

References:-

निवेदन:- अगर आपके पास भी कोई हिंदी में topic या किसी subject से सम्बंधित नोट्स है तो कृपया उसे अपनी फोटो के साथ E-mail करें. हमारा e-mail:- [email protected] है। हम उसे यहां आपकी फ़ोटो के साथ प्रकाशित करेंगें।

9 thoughts on “Black Box Testing और White Box Testing क्या है?”

  1. thank you so much sir mujhe hindi me nots ki bahut jarurt thi or aapki post se hi padh ke me exam dene jata hoon or ache se questions attempts kar pata hoon

    Reply

Leave a Comment