स्टेट ट्रांज़िशन जनरेटर

ब्राउज़र में चलता है टेस्ट डिज़ाइन

किसी workflow का मॉडल बनाएँ (जैसे order: new → paid → shipped) और state तालिका, transition-coverage टेस्ट केस तथा negative (अमान्य transition) टेस्ट के साथ एक Mermaid डायग्राम पाएँ।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

स्टेट ट्रांज़िशन जनरेटर कैसे इस्तेमाल करें

  1. हर पंक्ति में एक transition लिखें; पहला state ही initial state होता है।
  2. 0-switch या 1-switch coverage चुनें और तय करें कि अमान्य-transition टेस्ट शामिल करने हैं या नहीं।
  3. 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-008  Invalid: "ship" while in New             negative

stateDiagram-v2
  [*] --> New
  New --> Paid: pay
  Paid --> Shipped: ship

स्टेट ट्रांज़िशन जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल

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 डायग्राम रेंडर करें — रिव्यू और दस्तावेज़ीकरण के लिए।