طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 302 · من الفكرة إلى المنتج (٢): نظام حجز مواعيد
الدرس 7 · الوحدة 4: الجودة والتسليم

المحطّة ٧: خطة الاختبار وضمان الجودة

أثبِت جودة نظامك: الأدوار والرموز والتزامن كلّها مختبَرة. ⏱ نحو 22 دقيقة.

بعد هذا الدرس ستستطيع أن:
  • تصمّم خطة اختبارٍ لنظامٍ متعدّد الطبقات والأدوار.
  • تغطّي رموز الحالة والحالات الحرجة صراحةً.
  • تختبر التزامن لإثبات منع الحجز المزدوج.
  • تفصل اختبارات الخادم عن الواجهة وتؤتمت أهمّها.

١نظامٌ متعدّد الأدوار يحتاج اختبارًا أعمق

مشروعنا أعقد من تطبيقٍ لمستخدمٍ واحد: له طبقتان (واجهة وخادم)، ودوران، وحالاتٌ متزامنة. لذلك خطة الاختبار — كما تعلّمت في 245 — تغطّي ما لا يظهر في «المسار السعيد»: التعارض، والأدوار، والمدخلات غير الصالحة، وأخطاء الشبكة.

ونفرّق بين مستويين: اختبار الخادم (طلباتٌ مباشرةٌ للـ API)، واختبار الواجهة (نقراتٌ ومدخلاتٌ في المتصفّح). كلٌّ يكشف أخطاءً لا يراها الآخر.

٢حالاتٌ لا تنساها في هذا النظام

النوعحالةٌ من مشروعناالمتوقَّع
وظيفيّحجز موعدٍ متاح200، يختفي من المتاحة
تعارضحجز موعدٍ محجوزٍ أصلًا409، لا يتغيّر
تحقّقحجزٌ بلا اسم مريض422
تفويضمريضٌ يطلب جدول الموظّف403
مصادقةطلبٌ محميٌّ بلا رمز401
واجهةضغط «احجز» يحدّث القائمة والرسالةيختفي الموعد، تظهر «تمّ الحجز»

٣من اليدويّ إلى الآليّ

ابدأ بجدولٍ يدويّ، ثم حوّل أهمّ الحالات إلى اختباراتٍ آليّةٍ كما في 245:

توقّع وتحقّق

أهمّ اختبارٍ في نظامٍ متعدّد المستخدمين للحجز؟

مريضٌ يطلب مسار الموظّف — الحالة المتوقَّعة:

لماذا نعيد ضبط البيانات قبل كل اختبار؟

اختبار الخادم يفحص غالبًا:

الخلاصة

تحدٍّ تصميمي: خطة اختبار نظام الحجز

تصميمي

اكتب خطة اختبارٍ تغطّي الطبقتين والدورين والحالات الحرجة. نفّذها، ثم حدّد ما تؤتمته ربطًا بمقرّر 245.

المطلوب:
  • جدول حالاتٍ يغطّي كل قصّة مستخدمٍ في الدورين.
  • حالات رموز 401/403/409/422 صريحة.
  • حالة اختبار تزامنٍ لمنع الحجز المزدوج.
  • فصلٌ بين اختبارات الخادم واختبارات الواجهة.
☑ راجع عملك قبل التسليم:
💡 تلميح 1
لكل رمز حالةٍ في عقد الـ API اكتب حالة اختبارٍ تُحدِثه.
💡 تلميح 2
للتزامن: طلبا حجزٍ متتاليان لنفس الموعد — واحدٌ 200 والآخر 409.

🐞 لاحظت خطأً في هذا الدرس؟ أبلغني بالبريد

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس