पेयरवाइज़ टेस्टिंग जनरेटर कैसे इस्तेमाल करें
- पैरामीटर "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 Firefox macOS admin
3 Safari Windows user
… 9–10 tests instead of 18; pairs covered 100%पेयरवाइज़ टेस्टिंग जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
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 constraints नज़रअंदाज़ करते हैं।