ما هي حالة الاختبار؟
حالة الاختبار مجموعة محددة من الشروط المسبقة والمدخلات والإجراءات والنتائج المتوقعة تُكتب للتحقق من متطلب أو سلوك واحد (ISTQB). أما سيناريو الاختبار فأوسع — هدف مستخدم مثل «إتمام الشراء ببطاقة منتهية» — تغطيه عدة حالات. الحالات الجيدة واضحة، قابلة للتكرار من شخص آخر، قابلة للتتبع إلى متطلب، وتشمل المسارات السلبية والحدّية لا المسار السعيد فقط.
اقرأ الدليل: كيف تكتب حالات الاختبار (Test Cases)
كيفية استخدام مولّد حالات الاختبار
- سمِّ الميزة، وصف اختيارياً ما تفعله ومن يستخدمها.
- اذكر الحقول بواقع حقل في كل سطر، مثل "email: email, required, max=254" أو "age: integer, min=18, max=120".
- حدّد الفئات التي تريدها واختر صيغة التصدير.
- اضغط «توليد» (Generate)، وراجع الجدول، ثم انسخ التصدير أو نزّله.
مزايا مولّد حالات الاختبار
- يجمع تقسيم التكافؤ وتحليل القيم الحدّية ومصفوفة سلبية وحمولات أمنية في مجموعة واحدة مرقّمة
- حالات على مستوى التدفق (المسار الرئيسي والصلاحيات وانتهاء الجلسة والجوّال) مشتقة من وصف الميزة
- لغة مصغّرة لوصف الحقول بالصيغة name: type, constraints — وتُستنتج الأنواع والحدود من الأسماء عند إغفالها
- تفعيل فئات الحالات الإيجابية والسلبية والقيم الحدّية (boundary) والحالات الحدّية (edge) والأمنية أو تعطيلها كلٌّ على حدة
- أعمدة قياسية: المعرّف والعنوان والنوع والأولوية والشروط المسبقة وبيانات الاختبار والخطوات والنتيجة المتوقّعة
- تصدير كجدول Markdown أو JSON أو CSV أو ملف Gherkin feature مع ملخّص حسب الفئة
مثال على مولّد حالات الاختبار
نموذج تسجيل بحقلين
الإدخال:
Feature: Sign-up
Fields:
email: email, required, max=254
age: integer, min=18, max=120النتيجة:
TC-007 Submit Sign-up with typical valid values for all fields Critical positive
TC-014 Email: reject empty value High negative
TC-024 Email: reject html / script injection High security
TC-032 Age: reject below minimum (18) High negative
TC-049 Age: minimum (min) = 18 High boundary
… 54 cases, exported as Markdownالأسئلة الشائعة حول مولّد حالات الاختبار
ما الأساليب التي يطبّقها المولّد؟
تقسيم التكافؤ، وتحليل القيم الحدّية، ومصفوفة سلبية لكل نوع، وحمولات أمنية، وحالات على مستوى التدفق مشتقة من الوصف (المسار الرئيسي والصلاحيات وانتهاء الجلسة). فعّل فئة «الحالات الحدّية» (Edge) لإضافة قاعدة المعرفة الخاصة بـ Unicode والمسافات البيضاء والتواريخ وتجاوز السعة.
كيف أصف حقولي؟
حقل واحد في كل سطر بالصيغة name: type, constraints. تشمل الأنواع string وemail وnumber وinteger وdate وboolean وenum(a,b) وurl وphone وfile وlist وpassword؛ أما القيود فهي required وmin= وmax= وpattern= وunique. وتكفي الأسماء وحدها — إذ يُستنتج النوع من كلمات مثل email أو date أو price.
هل يمكنني التصدير إلى أداة إدارة الاختبارات لديّ؟
نعم. اختر CSV لأدوات TestRail أو Xray أو Zephyr أو جداول البيانات، وJSON للسكربتات، وMarkdown لصفحات الويكي وطلبات الدمج، أو Gherkin لتهيئة ملفات feature في Cucumber أو SpecFlow أو Behave.
هل تعتمد الأداة على الذكاء الاصطناعي؟
لا. التوليد حتمي ويعمل بالكامل في متصفحك، لذا تنتج المدخلات نفسها الحالات نفسها دائماً، ولا يُرفع أي شيء.
لماذا يوجد هذا العدد الكبير من الحالات؟
التصميم المنهجي يولّد عمداً أكثر مما يلزم. ألغِ تحديد الفئات التي لا تحتاجها، أو ابدأ بالحالات السلبية والحدّية فقط، ثم قلّصها حسب الأولوية.
ملاحظات تقنية
يُصنَّف كل حقل (رقمي، أو محدود الطول، أو تاريخ، أو enum، أو boolean، أو ملف، أو قائمة، أو معرّف) ثم يُمرَّر عبر مكتبة الأساليب: تنتج فئات التكافؤ حالة إيجابية واحدة لكل فئة صالحة، وتعدّد المصفوفة السلبية أنماط الفشل الخاصة بكل نوع مع رسالة الخطأ المتوقّعة، ويولّد تحليل القيم الحدّية ثلاثي القيم min−1 وmin وmin+1 وmax−1 وmax وmax+1، مع قيمة اسمية من منتصف النطاق.
يُحلَّل الوصف كما تُحلَّل قصة المستخدم (اكتشاف الفعل والكيان) لإضافة حالات على مستوى التدفق؛ ويُعاد ترقيم المعرّفات تسلسلياً بعد الدمج حتى تبقى التصديرات مستقرة بين التشغيلات.
المراجع
- ISTQB Glossaryالتعريفات القياسية لمصطلحات الاختبار — حالة الاختبار واختبار الانحدار والخطورة والأولوية وتحليل القيم الحدّية وغيرها.
- ISTQB Certified Tester Foundation Level (CTFL) v4.0المنهج التأسيسي لاختبار البرمجيات: مستويات الاختبار وأنواعه وتقنيات تصميم الاختبارات وإدارة الاختبار والأدوات.
- ISO/IEC/IEEE 29119-1:2022 — Software and systems engineering — Software testing — Part 1: General conceptsالمعيار الدولي لاختبار البرمجيات: المفاهيم والعمليات والتوثيق والتقنيات.