ब्लैक-बॉक्स टेस्ट डिज़ाइन तकनीकें क्या हैं?
ब्लैक-बॉक्स तकनीकें कोड पढ़े बिना स्पेसिफ़िकेशन से टेस्ट केस निकालती हैं: इक्विवैलेंस पार्टिशनिंग उन इनपुट को समूहित करती है जो एक जैसा व्यवहार करें, बाउंड्री वैल्यू एनालिसिस हर समूह के किनारे (0, 1, max, max+1) परखती है, डिसीज़न टेबल शर्तों के संयोजन गिनाती हैं, स्टेट ट्रांज़िशन टेस्टिंग अनुमत और निषिद्ध स्टेट बदलावों पर चलती है, और पेयरवाइज़ टेस्टिंग पूरे गुणनफल से कहीं कम केस में पैरामीटर वैल्यू की हर जोड़ी कवर करती है।
गाइड पढ़ें: टेस्ट केस कैसे लिखें
स्टेट ट्रांज़िशन जनरेटर कैसे इस्तेमाल करें
- हर पंक्ति में एक transition लिखें; पहला state ही initial state होता है।
- 0-switch या 1-switch coverage चुनें और तय करें कि अमान्य-transition टेस्ट शामिल करने हैं या नहीं।
- state तालिका, Mermaid डायग्राम और टेस्ट केस पाने के लिए Generate दबाएँ।
स्टेट ट्रांज़िशन जनरेटर की खूबियाँ
- transitions "State --event--> State" के रूप में, वैकल्पिक guards के साथ
- State × event तालिका जो वैध लक्ष्य और अमान्य संयोजन दिखाती है
- 0-switch और 1-switch coverage के टेस्ट केस
- हर अमान्य transition के लिए negative टेस्ट
- पहुँच से बाहर state और ग़ायब final state की चेतावनियाँ
- दस्तावेज़ीकरण के लिए Mermaid stateDiagram-v2 टेक्स्ट
स्टेट ट्रांज़िशन जनरेटर का उदाहरण
ऑर्डर का workflow
इनपुट:
New --pay--> Paid
Paid --ship--> Shipped
Shipped --deliver--> Delivered
New --cancel--> Cancelledआउटपुट:
ST-001 New —pay→ Paid positive
ST-005 New —pay→ Paid —ship→ Shipped positive (1-switch)
ST-007 Invalid: "ship" while in New negative
stateDiagram-v2
[*] --> New
New --> Paid: pay
Paid --> Shipped: ship0-switch coverage हर तीर को एक बार टेस्ट करता है, और 1-switch लगातार आने वाले तीरों के हर जोड़े को।| # | से | तक | event · 0-switch टेस्ट |
|---|---|---|---|
| 1 | Newशुरुआत | Paid | pay · ST-001 |
| 2 | Paid | Shipped | ship · ST-002 |
| 3 | Shipped | Deliveredअंत | deliver · ST-003 |
| 4 | Newशुरुआत | Cancelledअंत | cancel · ST-004 |
टूल की डिफ़ॉल्ट सेटिंग में 1-switch ST-005 New → Paid → Shipped और ST-006 Paid → Shipped → Delivered जोड़ता है; बिना तीर वाले 16 state × event संयोजन अमान्य-transition टेस्ट हैं, ST-007 से शुरू।
स्टेट ट्रांज़िशन जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
transitions कैसे लिखूँ?
हर पंक्ति में एक, "State --event--> State" के रूप में। Guards ब्रैकेट में जाते हैं ("Delivered --return [within 14 days]--> Returned")। जिस state का ज़िक्र सबसे पहले होता है वही initial state है।
0-switch और 1-switch coverage क्या है?
0-switch हर एक transition को टेस्ट करता है। 1-switch लगातार आने वाले दो transitions के हर वैध जोड़े को टेस्ट करता है, जिससे वे बग पकड़ में आते हैं जो किसी ख़ास क्रम के बाद ही दिखते हैं।
अमान्य-transition टेस्ट क्या हैं?
हर उस state × event संयोजन के लिए जिसका कोई transition परिभाषित नहीं है, एक negative टेस्ट जाँचता है कि event अस्वीकार हो और state न बदले — workflow बग का सबसे आम स्रोत यही है।
Mermaid डायग्राम का क्या करूँ?
उसे GitHub, GitLab, Notion, Obsidian या mermaid.live में पेस्ट करके state डायग्राम रेंडर करें — रिव्यू और दस्तावेज़ीकरण के लिए।
संदर्भ
- 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सॉफ़्टवेयर टेस्टिंग का अंतरराष्ट्रीय मानक: अवधारणाएँ, प्रक्रियाएँ, दस्तावेज़ीकरण और तकनीकें।