كيفية استخدام مولّد الاختبارات الإيجابية
- اذكر الحقول مع قيودها وقواعد العمل (النطاقات وقيم enum والتفرّد).
- سمِّ الميزة واختر صيغة التصدير.
- ولّد وراجع حالات المسار الطبيعي.
مزايا مولّد الاختبارات الإيجابية
- إرسالات صالحة نموذجية ودنيا وقصوى للنموذج بأكمله
- إرسال بالحقول المطلوبة فقط مع ترك الحقول الاختيارية فارغة
- حالة واحدة لكل فئة تكافؤ صالحة في كل حقل (كل قيمة enum، وكلتا القيمتين المنطقيتين، والصيغ الصالحة)
- قبول Unicode في الحقول النصية الحرة، والعنونة بعلامة الزائد (plus-addressing) في البريد الإلكتروني
- تصدير بصيغة Markdown أو JSON أو CSV أو Gherkin
مثال على مولّد الاختبارات الإيجابية
حالات المسار الطبيعي لمبلغ دفع
الإدخال:
amount: number, min=1, max=10000, required
currency: enum(USD, EUR, SAR), requiredالنتيجة:
POS-001 Submit the form with typical valid values for all fields amount=5000.5; currency=USD
POS-002 Submit the form with minimal valid values amount=1; currency=USD
POS-003 Submit the form with maximal valid values amount=10000; currency=SAR
POS-005 Currency: accept allowed value "EUR"الأسئلة الشائعة حول مولّد الاختبارات الإيجابية
ما الذي يُعدّ اختباراً إيجابياً؟
أي مدخل يجب أن يقبله النظام: القيم النموذجية، والقيم الصالحة الدنيا والقصوى، والإرسالات بالحقول المطلوبة فقط، وكل قيمة enum مسموح بها، والنصوص الصالحة بترميز Unicode.
لماذا تُختبر القيم الصالحة الدنيا والقصوى على حدة؟
تكمن أخطاء الفرق بواحد (off-by-one) عند أطراف النطاق الصالح. يجب قبول القيمة الواقعة عند الحد الأدنى أو الأقصى بالضبط، ويجب ألا تُقتطع القيمة المخزّنة أو تُقرَّب.
كيف تُستخدم قواعد العمل؟
تتحوّل القواعد المعبَّر عنها كقيود (min وmax وenum وunique) إلى قيم صالحة تمثيلية. صف القواعد الإضافية كحقول enum أو نطاقات إضافية للحصول على حالات لها.
ما صيغ التصدير المتاحة، وماذا تحتوي كل حالة؟
جدول وMarkdown وJSON وCSV وGherkin (ملف .feature بسيناريو لكل حالة). تحمل كل حالة معرّفاً (POS-001…) وعنواناً ونوعاً وأولوية وشروطاً مسبقة وبيانات اختبار وخطوات ونتيجة متوقعة، لذا يمكن استيرادها إلى أداة إدارة الاختبارات أو إدراجها في حزمة BDD. حالة القيم النموذجية أولويتها Critical؛ أما حالات الحقول المطلوبة فقط والقيم الدنيا والقصوى فأولويتها High.