مولّد جداول القرار

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

أدخل الشروط (بخيارات صواب/خطأ أو متعددة القيم) والإجراءات، واحصل على مصفوفة التركيبات الكاملة، وحدّد الإجراءات المتوقّعة، وصدّرها كجدول اختبار.

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

ما هي تقنيات تصميم اختبارات الصندوق الأسود؟

تشتق تقنيات الصندوق الأسود حالات الاختبار من المواصفات دون قراءة الشيفرة: تقسيم التكافؤ يجمع المدخلات التي يُفترض أن تتصرف بالطريقة نفسها، وتحليل القيم الحدّية يختبر أطراف كل مجموعة (0 و1 والحد الأقصى والحد الأقصى+1)، وجداول القرار تعدّد تركيبات الشروط، واختبار انتقال الحالات يتتبع التغيرات المسموحة والممنوعة، والاختبار الزوجي يغطي كل زوج من قيم المعاملات بحالات أقل بكثير من الجداء الكامل.

اقرأ الدليل: كيف تكتب حالات الاختبار (Test Cases)

كيفية استخدام مولّد جداول القرار

  1. أدخل الشروط بواقع شرط في كل سطر؛ واستخدم "Name: v1, v2" للشروط متعددة القيم.
  2. اذكر الإجراءات، واختيارياً القواعد التي تربط الشروط بالإجراءات.
  3. حدّد إجراءً افتراضياً وأبقِ الاختزال مفعّلاً للحصول على الجدول الأدنى.
  4. ولّد وصدّر جدول القرار وحالات الاختبار الخاصة به.

مزايا مولّد جداول القرار

  • شروط منطقية ومتعددة القيم مع مصفوفة التركيبات الكاملة (حتى 1,024 قاعدة)
  • قواعد مكتوبة بصيغة IF … AND … THEN مع الإجراءات، أو أسطر موضعية بقيم Y وN و-
  • إجراء افتراضي للتركيبات التي لا تطابق أي قاعدة
  • اختزال القواعد ذات النتائج المتطابقة في مدخلات «لا يهم» (don't-care)
  • حالة اختبار واحدة لكل قاعدة، تكون الشروط فيها بيانات الاختبار والإجراءات النتيجة المتوقّعة

مثال على مولّد جداول القرار

قواعد الخصم

الإدخال:

Conditions: Customer logged in / Has valid coupon / Cart total: <50, >=50
Actions: Apply coupon discount / Free shipping / Show login prompt
Rules:
IF Customer logged in = N THEN Show login prompt
IF Customer logged in = Y AND Has valid coupon = Y AND Cart total = >=50 THEN Apply coupon discount, Free shipping
IF Customer logged in = Y AND Has valid coupon = Y AND Cart total = <50 THEN Apply coupon discount
IF Customer logged in = Y AND Has valid coupon = N AND Cart total = >=50 THEN Free shipping
Default action: No action

النتيجة:

Rule  Customer logged in  Has valid coupon  Cart total  Actions
R1    Y                   Y                 <50         Apply coupon discount
R2    Y                   Y                 >=50        Apply coupon discount, Free shipping
R3    Y                   N                 <50         No action
R4    Y                   N                 >=50        Free shipping
R5    N                   -                 -           Show login prompt
تُختزل 8 تركيبات في مثال الخصم إلى 5 قواعد: التركيبات الأربع التي فيها Customer logged in = N لها الإجراء نفسه، فتُدمج في قاعدة واحدة بمدخلات «لا يهم».
التركيبةالإجراءاتالقاعدة بعد الاختزال
1Y, Y, <50Apply coupon discountR1Y, Y, <50
2Y, Y, >=50Apply coupon discount, Free shippingR2Y, Y, >=50
3Y, N, <50No actionR3Y, N, <50
4Y, N, >=50Free shippingR4Y, N, >=50
5N, Y, <50Show login promptR5N, -, -
6N, Y, >=50Show login promptR5N, -, -
7N, N, <50Show login promptR5N, -, -
8N, N, >=50Show login promptR5N, -, -
  • مدموجة: قاعدة واحدة تغطي الآن عدة تركيبات

حسبتها الأداة من مدخلات المثال. القيم بترتيب Customer logged in، Has valid coupon، Cart total؛ وتعني «-» «لا يهم»: أي قيمة لذلك الشرط.

الأسئلة الشائعة حول مولّد جداول القرار

كيف أدخل الشروط؟

شرط واحد في كل سطر. يصبح الاسم المجرّد شرطاً بنعم/لا؛ بينما تعرّف الصيغة "Name: v1, v2, v3" شرطاً متعدد القيم. ويبني المولّد كل التركيبات (حتى 1,024 قاعدة).

كيف تعمل القواعد؟

اكتب "IF Condition = value AND Other = value THEN action, action" أو سطراً موضعياً بصيغة "Y, N, - => action". وتحصل التركيبات التي لا تطابق أي قاعدة على الإجراء الافتراضي.

ماذا يفعل الاختزال؟

تُدمج القواعد ذات الإجراءات المتطابقة التي تختلف في شرط واحد فقط في قاعدة واحدة بمدخل «لا يهم» ("-")، لتحصل على الجدول الأدنى الذي ينفّذه المختبِرون فعلياً.

لماذا تُولَّد حالات اختبار من الجدول؟

تصبح كل قاعدة حالة اختبار واحدة تكون فيها قيم الشروط بيانات الاختبار والإجراءات النتيجة المتوقّعة — تغطية كاملة للقرارات دون إغفال أي تركيبة.

المراجع