المحطّة ٧: خطة الاختبار وضمان الجودة
أثبِت جودة نظامك: الأدوار والرموز والتزامن كلّها مختبَرة. ⏱ نحو 22 دقيقة.
- تصمّم خطة اختبارٍ لنظامٍ متعدّد الطبقات والأدوار.
- تغطّي رموز الحالة والحالات الحرجة صراحةً.
- تختبر التزامن لإثبات منع الحجز المزدوج.
- تفصل اختبارات الخادم عن الواجهة وتؤتمت أهمّها.
١نظامٌ متعدّد الأدوار يحتاج اختبارًا أعمق
مشروعنا أعقد من تطبيقٍ لمستخدمٍ واحد: له طبقتان (واجهة وخادم)، ودوران، وحالاتٌ متزامنة. لذلك خطة الاختبار — كما تعلّمت في 245 — تغطّي ما لا يظهر في «المسار السعيد»: التعارض، والأدوار، والمدخلات غير الصالحة، وأخطاء الشبكة.
ونفرّق بين مستويين: اختبار الخادم (طلباتٌ مباشرةٌ للـ API)، واختبار الواجهة (نقراتٌ ومدخلاتٌ في المتصفّح). كلٌّ يكشف أخطاءً لا يراها الآخر.
٢حالاتٌ لا تنساها في هذا النظام
| النوع | حالةٌ من مشروعنا | المتوقَّع |
|---|---|---|
| وظيفيّ | حجز موعدٍ متاح | 200، يختفي من المتاحة |
| تعارض | حجز موعدٍ محجوزٍ أصلًا | 409، لا يتغيّر |
| تحقّق | حجزٌ بلا اسم مريض | 422 |
| تفويض | مريضٌ يطلب جدول الموظّف | 403 |
| مصادقة | طلبٌ محميٌّ بلا رمز | 401 |
| واجهة | ضغط «احجز» يحدّث القائمة والرسالة | يختفي الموعد، تظهر «تمّ الحجز» |
٣من اليدويّ إلى الآليّ
ابدأ بجدولٍ يدويّ، ثم حوّل أهمّ الحالات إلى اختباراتٍ آليّةٍ كما في 245:
- اختبارات الخادم: أرسل طلباتٍ للـ
APIوتحقّق من رمز الحالة وشكل الرد (مثلsupertestفي242/245). - اختبارات الواجهة: حاكِ النقر والإدخال وتحقّق مما يظهر.
- اجعل الاختبارات تعيد ضبط البيانات قبل كلٍّ منها حتى لا يؤثّر اختبارٌ في آخر.
توقّع وتحقّق
أهمّ اختبارٍ في نظامٍ متعدّد المستخدمين للحجز؟
مريضٌ يطلب مسار الموظّف — الحالة المتوقَّعة:
لماذا نعيد ضبط البيانات قبل كل اختبار؟
اختبار الخادم يفحص غالبًا:
الخلاصة
- خطة الاختبار تغطّي طبقتين (خادم/واجهة) ودورين وحالاتٍ متزامنة.
- غطِّ
401/403/409/422بحالاتٍ صريحة — لا تكتفِ بالمسار السعيد. - اختبار التزامن يثبت أهمّ متطلّب: لا حجز مزدوج.
- اختبار الخادم يفحص الرموز والردود؛ اختبار الواجهة يفحص النقر والعرض.
- أعِد ضبط البيانات قبل كل اختبار، وأتمِت الحالات الحرجة
(245).
تحدٍّ تصميمي: خطة اختبار نظام الحجز
تصميمياكتب خطة اختبارٍ تغطّي الطبقتين والدورين والحالات الحرجة. نفّذها، ثم حدّد ما تؤتمته ربطًا بمقرّر 245.
- جدول حالاتٍ يغطّي كل قصّة مستخدمٍ في الدورين.
- حالات رموز
401/403/409/422صريحة. - حالة اختبار تزامنٍ لمنع الحجز المزدوج.
- فصلٌ بين اختبارات الخادم واختبارات الواجهة.