ब्लैक-बॉक्स टेस्ट डिज़ाइन तकनीकें क्या हैं?
ब्लैक-बॉक्स तकनीकें कोड पढ़े बिना स्पेसिफ़िकेशन से टेस्ट केस निकालती हैं: इक्विवैलेंस पार्टिशनिंग उन इनपुट को समूहित करती है जो एक जैसा व्यवहार करें, बाउंड्री वैल्यू एनालिसिस हर समूह के किनारे (0, 1, max, max+1) परखती है, डिसीज़न टेबल शर्तों के संयोजन गिनाती हैं, स्टेट ट्रांज़िशन टेस्टिंग अनुमत और निषिद्ध स्टेट बदलावों पर चलती है, और पेयरवाइज़ टेस्टिंग पूरे गुणनफल से कहीं कम केस में पैरामीटर वैल्यू की हर जोड़ी कवर करती है।
गाइड पढ़ें: टेस्ट केस कैसे लिखें
पेयरवाइज़ टेस्टिंग जनरेटर कैसे इस्तेमाल करें
- पैरामीटर "Name: value1, value2, value3" के रूप में, एक पंक्ति में एक, डालें।
- असंभव संयोजनों के लिए ज़रूरत हो तो constraints जोड़ें।
- Generate दबाएँ, coverage आँकड़े जाँचें और तालिका CSV या JSON में एक्सपोर्ट करें।
पेयरवाइज़ टेस्टिंग जनरेटर की खूबियाँ
- IPO-शैली के greedy एल्गोरिदम से all-pairs जनरेशन
- constraints: IF A = x THEN B <> y, ज़रूरी जोड़े और वर्जित संयोजन
- coverage आँकड़े: टेस्ट की संख्या, exhaustive संख्या, कितनी कमी हुई और कितने जोड़े कवर हुए
- क्रमांकित तालिका, CSV और JSON एक्सपोर्ट
- 30 पैरामीटर और 400 वैल्यू तक संभालता है
पेयरवाइज़ टेस्टिंग जनरेटर का उदाहरण
browser × OS × role मैट्रिक्स
इनपुट:
Browser: Chrome, Firefox, Safari
OS: Windows, macOS, Linux
Role: admin, user
Constraint: IF OS = Linux THEN Browser <> Safariआउटपुट:
# Browser OS Role
1 Chrome Windows admin
2 Chrome macOS user
3 Chrome Linux admin
4 Firefox Windows user
…
8 tests instead of 16 allowed combinations (18 before the constraint); pairs covered 100%| कवर करने वाला टेस्ट # | WindowsOS | macOSOS | LinuxOS | adminRole | userRole |
|---|---|---|---|---|---|
ChromeBrowser | 1 | 2 | 3 | 1, 3 | 2 |
FirefoxBrowser | 4 | 5 | 6 | 5 | 4, 6 |
SafariBrowser | 7 | 8 | बाहर | 7 | 8 |
adminRole | 1, 7 | 5 | 3 | जोड़ा नहीं: एक ही पैरामीटर | जोड़ा नहीं: एक ही पैरामीटर |
userRole | 4 | 2, 8 | 6 | जोड़ा नहीं: एक ही पैरामीटर | जोड़ा नहीं: एक ही पैरामीटर |
- सूचीबद्ध टेस्ट से कवर हुआ जोड़ा
IF OS = Linux THEN Browser <> Safariसे बाहर किया गया जोड़ा
- जनरेट हुए टेस्ट
- #1
Chrome · Windows · admin - #2
Chrome · macOS · user - #3
Chrome · Linux · admin - #4
Firefox · Windows · user - #5
Firefox · macOS · admin - #6
Firefox · Linux · user - #7
Safari · Windows · admin - #8
Safari · macOS · user
हर ख़ाने में वे टेस्ट हैं जिनमें दोनों वैल्यू हैं। 16 अनुमत संयोजनों (constraint से पहले 18) की जगह 8 टेस्ट, टूल की गणना के अनुसार।
पेयरवाइज़ टेस्टिंग जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
pairwise testing क्या है?
यह एक combinatorial तकनीक है जो गारंटी देती है कि पैरामीटर वैल्यू का हर जोड़ा कम से कम एक टेस्ट में आए। ज़्यादातर दोष एक या दो factor से जुड़े होते हैं, इसलिए all-pairs उन्हें exhaustive संयोजनों के एक छोटे-से अंश में ही पकड़ लेता है।
constraints कैसे जोड़ूँ?
किसी जोड़े को हटाने के लिए "IF OS = iOS THEN Browser <> Edge", किसी जोड़े को ज़रूरी बनाने के लिए "IF A = x THEN B = y", और किसी संयोजन को वर्जित करने के लिए "A = x AND B = y" लिखें। जनरेशन के दौरान constraints का पालन होता है और असंभव जोड़े रिपोर्ट कर दिए जाते हैं।
कमी कितनी अच्छी होती है?
4×5×3×3×3 वैल्यू के लिए exhaustive सेट 540 टेस्ट का होता है; pairwise सेट आम तौर पर 20–25 का। आँकड़े सटीक कमी और कवर हुए वैल्यू जोड़ों की संख्या दिखाते हैं।
क्या एल्गोरिदम PICT जैसा ही है?
यह IPO-शैली का greedy जनरेटर है, जो भावना में PICT और AllPairs जैसा है। नतीजे लगभग न्यूनतम होते हैं, प्रमाणित रूप से न्यूनतम नहीं; पैरामीटर का क्रम बदलकर दोबारा चलाएँ और आकार की तुलना कर लें।
तकनीकी नोट्स
generation deterministic है: एक इनपुट, हमेशा वही टेबल। पहले सभी value pair गिने जाते हैं, सिवाय उनके जिन्हें कोई constraint अकेले रोकता है। हर row पहले uncovered pair से शुरू होकर बाक़ी parameter इनपुट-क्रम में उस value से भरती है जो तय cells के साथ सबसे ज़्यादा uncovered pair ढकती है; बराबरी पर पहली value। constraint तोड़ने वाली या कुछ नया न जोड़ने वाली row हट जाती है; generation 5,000 row पर रुकती है।
coverage 2-way है: हर allowed pair कम-से-कम एक बार आता है, 3-way target नहीं, और row-संख्या proven minimal नहीं पर दो सबसे बड़े domain के गुणनफल से कम नहीं (sample: 5 × 4 = 20)। IF A = x THEN B = y, B की हर दूसरी value पर एक forbidden pair बनाता है; 3+ parameter वाले forbidden combination row हटाते हैं पर pair-गिनती नहीं घटाते। exhaustive गिनती और reduction सिर्फ़ उन्हीं combination पर आधारित हैं जिन्हें constraint अनुमति देते हैं (200,000 तक गिने जाते हैं; उससे ऊपर बिना constraint वाला गुणनफल दिखता है, "before constraints" चिह्न के साथ)।
संदर्भ
- ISTQB Certified Tester Foundation Level (CTFL) v4.0सॉफ़्टवेयर टेस्टिंग का फ़ाउंडेशन पाठ्यक्रम: टेस्ट स्तर और प्रकार, टेस्ट डिज़ाइन तकनीकें, टेस्ट प्रबंधन और टूल।
- ISTQB Glossaryटेस्टिंग शब्दों की मानक परिभाषाएँ — टेस्ट केस, रिग्रेशन टेस्टिंग, सेवेरिटी, प्रायोरिटी, बाउंड्री वैल्यू एनालिसिस आदि।
- ISO/IEC/IEEE 29119-1:2022 — Software and systems engineering — Software testing — Part 1: General conceptsसॉफ़्टवेयर टेस्टिंग का अंतरराष्ट्रीय मानक: अवधारणाएँ, प्रक्रियाएँ, दस्तावेज़ीकरण और तकनीकें।