كيفية استخدام مولّد الاختبارات السلبية
- صف الحقول بأنواعها وقيودها، بواقع حقل في كل سطر.
- سمِّ النموذج أو نقطة النهاية اختيارياً.
- ولّد لعرض المصفوفة وحالات الاختبار المرقّمة.
- شغّل الحمولات نفسها على واجهة API لتأكيد التحقق من جانب الخادم.
مزايا مولّد الاختبارات السلبية
- مصفوفة سلبية لكل حقل: فارغ وnull ومسافات بيضاء ونوع خاطئ وخارج النطاق وطول زائد وصيغة سيئة وقيمة enum غير معروفة وتكرارات
- صفوف أمنية لكل حقل نصي: حقن السكربتات وSQL، والبايتات الصفرية (null bytes)، وأحرف التحكم ثنائية الاتجاه (bidi overrides)
- أنماط فشل خاصة بالملفات والقوائم والتواريخ والهواتف وعناوين URL والبريد الإلكتروني وUUID وكلمات المرور
- السلوك المتوقّع مبيّن بوضوح: الرسالة، وعدم الحفظ، وإبراز الحقل
- حالات على مستوى النموذج كاملاً: كل القيم غير صالحة دفعة واحدة، وإرسال فارغ تماماً
- تصدير بصيغة Markdown أو JSON أو CSV أو Gherkin
مثال على مولّد الاختبارات السلبية
مصفوفة سلبية لحقل العمر
الإدخال:
age: integer, min=18, max=120, requiredالنتيجة:
Empty value "" Rejected with "Age is required"
Non-numeric text "abc" Rejected with "Age must be a number"
Decimal value 3.5 Rejected with "Age must be a whole number"
Below minimum (18) 17 Rejected with "Age must be at least 18"
Above maximum (120) 121 Rejected with "Age must be at most 120"
Extremely large value 1e309 Rejected with "Age is out of range"الأسئلة الشائعة حول مولّد الاختبارات السلبية
ما المدخلات السلبية التي تُولَّد؟
قيم فارغة وnull ومسافات بيضاء، وأنواع خاطئة، وقيم خارج الحد الأدنى/الأقصى، وطول زائد أو ناقص، وصيغ سيئة (البريد الإلكتروني وURL والهاتف والتاريخ وUUID)، وقيم خارج enum، وتكرارات للحقول الفريدة، ومخالفات نوع الملف وحجمه، إضافة إلى حمولات الحقن والبايتات الصفرية وأحرف bidi.
ماذا يتضمن «السلوك المتوقّع»؟
توقّعاً محدداً: رسالة الخطأ التي ينبغي أن يراها المستخدم، وأن لا شيء يُحفظ، وأن الحقل يُبرَز. عدّل الصياغة لتطابق كتالوج الرسائل في منتجك.
هل ينبغي اختبار الحالات السلبية عبر واجهة API أيضاً؟
نعم. يمكن تجاوز التحقق من جانب العميل، لذا أرسل الحمولات غير الصالحة نفسها مباشرة إلى نقطة النهاية وتوقّع استجابة 400/422 مع أخطاء على مستوى الحقول.
لماذا تُدرج صفوف أمنية؟
أي حقل يقبل نصاً هو نقطة حقن محتملة. تضيف المصفوفة فحوصات السكربتات وSQL والبايتات الصفرية وأحرف bidi حتى لا تُنسى أبداً.