مولّد انتقالات الحالات

تعمل في المتصفح تصميم الاختبارات

نمذج سير عمل (مثل الطلب: جديد ← مدفوع ← مشحون) وأنتج جدول الحالات وحالات اختبار لتغطية الانتقالات واختبارات سلبية (للانتقالات غير الصالحة) مع مخطط Mermaid.

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام مولّد انتقالات الحالات

  1. اكتب انتقالاً واحداً في كل سطر؛ وتكون الحالة الأولى هي الحالة الابتدائية.
  2. اختر تغطية 0-switch أو 1-switch، وما إذا كنت تريد تضمين اختبارات الانتقالات غير الصالحة.
  3. ولّد للحصول على جدول الحالات ومخطط Mermaid وحالات الاختبار.

مزايا مولّد انتقالات الحالات

  • الانتقالات بصيغة "State --event--> State" مع شروط حراسة (guards) اختيارية
  • جدول الحالة × الحدث يعرض الأهداف الصالحة والتركيبات غير الصالحة
  • حالات اختبار لتغطية 0-switch و1-switch
  • اختبارات سلبية لكل انتقال غير صالح
  • تحذيرات للحالات التي لا يمكن الوصول إليها وغياب الحالة النهائية
  • نص Mermaid بصيغة stateDiagram-v2 للتوثيق

مثال على مولّد انتقالات الحالات

سير عمل الطلب

الإدخال:

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

الأسئلة الشائعة حول مولّد انتقالات الحالات

كيف أكتب الانتقالات؟

انتقال واحد في كل سطر بصيغة "State --event--> State". وتوضع شروط الحراسة بين قوسين معقوفين ("Delivered --return [within 14 days]--> Returned"). وتكون أول حالة مذكورة هي الحالة الابتدائية.

ما تغطية 0-switch و1-switch؟

تختبر تغطية 0-switch كل انتقال منفرد. وتختبر تغطية 1-switch كل زوج صالح من الانتقالات المتتالية، مما يكشف الأخطاء التي لا تظهر إلا بعد تسلسل معيّن.

ما اختبارات الانتقالات غير الصالحة؟

لكل تركيبة حالة × حدث ليس لها انتقال معرَّف، يتحقق اختبار سلبي من رفض الحدث وعدم تغيّر الحالة — وهو المصدر الأكثر شيوعاً لأخطاء سير العمل.

ماذا يمكنني أن أفعل بمخطط Mermaid؟

الصقه في GitHub أو GitLab أو Notion أو Obsidian أو mermaid.live لعرض مخطط الحالات للمراجعات والتوثيق.