استراتيجية الاختبار
تتبنى خطة اختبار نظام حجز القاعات استراتيجية هرمية متعددة المستويات لضمان التحقق من جودة المخرجات الوظيفية والأداءية والأمنية، مع التركيز على دقة منطق منع التعارض الزمني وإدارة دورة حياة الاعتمادات. يبدأ التنفيذ بمستوى الاختبار الوحدوي الذي يتولاه فريق التطوير، حيث تُختبر الوحدات الخلفية المستقلة مثل وحدة المصادقة MOD-02 ووحدة البحث والتوفر MOD-03 ووحدة إدارة الحجوزات MOD-04، مع التركيز على التحقق من صحة منطق الأعمال في بايثون، خاصةً في دوال الخدمات التي تتعامل مع قيود قاعدة بيانات PostgreSQL ومنع الحجز المزدوج وفق المتطلب FR-01. يتم توثيق هذه الاختبارات باستخدام أطر الاختبار المعتمدة في لغة بايثون، وتُنفذ آلياً بالكامل لضمان سرعة الدورة والتغذية الراجعة الفورية للمطورين.
يتبع ذلك مستوى الاختبار التكاملي الذي يهدف إلى التحقق من تفاعل طبقة الواجهة الأمامية المبنية بـ Next.js مع خدمة FastAPI الخلفية، مع التركيز على صحة تبادل البيانات عبر واجهات API، والتأكد من اتساق استجابات JSON الموحدة، والتحقق من دقة عرض البيانات في الشاشات الرئيسية مثل شاشة البحث والتفاصيل. يُنفذ هذا المستوى بشكل يدوي من قبل مهندسي الاختبار، مع التركيز على مسارات الاستخدام الكاملة من تسجيل الدخول عبر الدليل الوظيفي حتى إتمام الحجز أو طلب الاعتماد، بما يتوافق مع المتطلبات الوظيفية FR-03 وFR-05.
يُخصص مستوى الاختبار الوظيفي للتحقق من مطابقة النظام لمتطلبات الأعمال الحرجة، حيث يتولى فريق الاختبار تنفيذ حالات الاختبار TC-01 إلى TC-11 يدوياً، مع التركيز على سيناريوهات اعتماد القاعات الكبرى (FR-02 وFR-06) وإدارة الصلاحيات بين الأدوار الوظيفية المختلفة. كما يشمل هذا المستوى التحقق من دعم اللغة المزدوجة وإمكانية الوصول وفق المتطلبات NFR-04 وNFR-05، من خلال فحص تبديل اللغة دون فقدان البيانات، والتحقق من تباين الألوان والتنقل بلوحة المفاتيح.
يُنفذ مستوى اختبار الأداء والضغط آلياً باستخدام أدوات توليد الحمل، للتحقق من استيفاء المتطلب NFR-02، حيث يُحاكى وجود 500 مستخدم متزامن لإجراء عمليات البحث وتأكيد الحجوزات، مع قياس زمن الاستجابة لضمان بقاء 95% من الطلبات ضمن حد ثانيتين. كما يُختبر التوفر المستهدف NFR-03 عبر سيناريوهات محاكاة الأعطال لضمان إشعار إدارة الخدمات المساندة خلال 15 دقيقة من توقف الخدمة.
أخيراً، يُنفذ مستوى اختبار الأمان والامتثال للتحقق من مطابقة النظام لسياسات أمن المعلومات، بما في ذلك منع مشاركة الحسابات، والتحقق من اكتمال سجلات التدقيق لكل عملية حجز واعتماد وإلغاء، وضمان إمكانية استرجاع هذه السجلات خلال 24 ساعة وفق المتطلب NFR-01. تُستثنى الاختبارات الوحدية من التوثيق اليدوي وتُكتفي بتغطيتها آلياً، بينما تُوثق جميع مستويات الاختبار الأخرى في تقارير مفصلة تُعتمد كمدخلات لمرحلة القبول النهائية.
حالات الاختبار
- TC-01تسجيل دخول موظف عبر الدليل الوظيفي باستخدام بيانات صحيحة، والتحقق من نجاح الجلسة وتوليد سجل تدقيق فوري في قاعدة البيانات.
- TC-02محاولة حجز قاعة اجتماعات عادية لفترة زمنية محددة، ثم محاولة حجز نفس القاعة للفترة نفسها من حساب آخر، والتحقق من رفض النظام للطلب الثاني مع عرض رسالة تعارض واضحة.
- TC-03إدخال معايير بحث تشمل التاريخ والوقت والسعة والتجهيزات في شاشة البحث، والتحقق من عرض قائمة القاعات المتاحة فقط دون إظهار القاعات المشغولة أو غير المطابقة للمعايير.
- TC-04الانتقال إلى شاشة تفاصيل قاعة متاحة، والتحقق من دقة عرض حالة توفر القاعة والتجهيزات الدائمة والإضافية للفترة الزمنية المحددة قبل بدء عملية التأكيد.
- TC-05إنشاء حجز جديد لقاعة كبرى، والتحقق من إرسال طلب اعتماد تلقائي للجهة المختصة وبقاء حالة الحجز في 'قيد الانتظار' دون تأكيد حتى استلام القرار النهائي.
- TC-06محاولة تأكيد حجز قاعة كبرى قبل استلام موافقة الجهة المعتمدة، والتحقق من منع النظام لإتمام العملية وإظهار رسالة توضح ضرورة استكمال مسار الاعتماد.
- TC-07إضافة تجهيزات إضافية مثل أجهزة العرض والاتصال المرئي إلى طلب حجز قاعة عادية، والتحقق من ارتباط هذه التجهيزات بالحجز في قاعدة البيانات وعرضها في ملخص الطلب.
- TC-08تعديل موعد حجز مؤكد لوقت غير متعارض، والتحقق من تحديث بيانات الحجز في قاعدة البيانات وتغيير حالته إلى 'معدل' مع تسجيل العملية في سجل التدقيق.
- TC-09إلغاء حجز مؤكد مرتبط بتجهيزات إضافية، والتحقق من تحرير القاعة والتجهيزات فوراً لتصبح متاحة لحجوزات أخرى، وتغيير حالة الحجز إلى 'ملغي'.
- TC-10انتظار انتهاء موعد حجز مؤكد دون تسجيل حضور، والتحقق من تغيير النظام لحالة الحجز إلى 'غير مستغل' تلقائياً وإظهارها في سجل الموظف.
- TC-11توليد تقرير شهري عن نسب استغلال القاعات وعدد الحجوزات والإلغاءات، والتحقق من دقة الأرقام المعروضة وقابلية تصدير التقرير بصيغة PDF.
- TC-12إجراء اختبار حمل بـ 500 مستخدم متزامن يقومون بعمليات بحث وتأكيد حجز، والتحقق من أن 95% من الاستجابات تكون خلال ثانيتين كحد أقصى.
- TC-13تبديل لغة الواجهة من العربية إلى الإنجليزية أثناء عرض شاشة تفاصيل قاعة، والتحقق من عدم فقدان البيانات المدخلة وتغيير تنسيق التاريخ والوقت إلى الصيغة المحلية المناسبة.
- TC-14تنقل كامل عبر شاشات النظام الأساسية باستخدام لوحة المفاتيح فقط، والتحقق من تباين ألوان النصوص لا يقل عن 4.5:1 وتوفر نصوص بديلة للصور.
بيئة الاختبار
تُنفذ جميع أنشطة الاختبار في بيئة اختبار معزولة تماماً عن بيئة الإنتاج، وتُهيأ هذه البيئة وفق البنية التقنية المعتمدة للنظام لضمان مطابقة الظروف التشغيلية. يتم تشغيل خدمة FastAPI الخلفية وقاعدة بيانات PostgreSQL في خوادم مخصصة داخل الشبكة الداخلية للجهة، مع تطبيق نفس معايير التهيئة والإعدادات البيئية المحددة في مجلد config. كما تُستضيف الواجهة الأمامية المطورة بإطار Next.js على خادم منفصل، مع تفعيل مكتبة Tailwind CSS وملفات الترجمة i18n لضمان اختبار دعم اللغتين العربية والإنجليزية واتجاه النص من اليمين إلى اليسار بشكل دقيق. يتم ربط بيئة الاختبار ببيئة اختبار الدليل الوظيفي (Test Directory) المخصصة، والتي تحتوي على بيانات وهمية لموظفين وأدوار وظيفية (موظف، معتمد، إدارة خدمات مساندة) تم إنشاؤها خصيصاً لاختبار آليات المصادقة والصلاحيات دون التأثير على البيانات الفعلية للمنسوبيين. كما يتم محاكاة تكامل نظام البريد الإلكتروني المعتمد عبر خدمة بريد اختبارية (Mock SMTP) لتلقي إشعارات طلب الاعتماد وتأكيد الحجز والإلغاء، مع التأكد من صحة محتوى الرسائل وتنسيقها. تشمل البيانات المستخدمة في الاختبار مجموعة شاملة من سجلات القاعات التي تغطي أنواع القاعات العادية والكبرى، مع تحديد سعات مختلفة ومواقع جغرافية وتجهيزات دائمة ومتغيرة الحالة. يتم إنشاء سجلات حجوزات متعددة بحالات مختلفة (قيد الانتظار، مؤكد، معدل، ملغي، غير مستغل) لتغطية جميع مسارات دورة حياة الحجز، بما في ذلك سيناريوهات التعارض الزمني (FR-01) ومسار اعتماد القاعات الكبرى (FR-02). يتم توليد بيانات التجهيزات الإضافية بحالات توفر متنوعة لاختبار منطق البحث والتوفر (MOD-03) وإدارة الموارد (MOD-06). لحماية البيانات في بيئة الاختبار، يتم تطبيق تشفير كامل للبيانات المخزنة في قاعدة بيانات PostgreSQL، مع تقييد الوصول إلى بيانات الاعتمادات وسجلات التدقيق على حسابات الاختبار المصرح لها فقط. يتم منع أي اتصال مباشر بين بيئة الاختبار وقواعد بيانات الإنتاج، وتُستخدم بيانات وهمية (Synthetic Data) لا تحتوي على معلومات شخصية حقيقية للموظفين، مع استبدال المعرفات الفريدة بقيم عشوائية غير مرتبطة بالواقع. تُسترجع سجلات التدقيق من بيئة الاختبار بشكل دوري للتحقق من دقة التسجيل وسرعة الاسترجاع خلال 24 ساعة وفقاً لمتطلب NFR-01، مع تدمير هذه السجلات بعد اكتمال دورة الاختبار لضمان عدم تسرب أي بيانات حساسة. يتم مراقبة أداء النظام في هذه البيئة باستخدام أدوات قياس مخصصة لقياس زمن الاستجابة تحت حمل 500 مستخدم متزامن (NFR-02)، مع تسجيل نتائج الاختبار في تقارير موحدة تُعرض على فريق الجودة لإثبات الامتثال لمعايير القبول.
معايير إنهاء الاختبار
تُعد معايير الخروج الإطار النهائي الذي يحدد جاهزية نظام حجز القاعات للانتقال إلى بيئة التشغيل الفعلي، ولا يجوز اعتماد النظام أو إطلاقه ما لم تتحقق جميع الشروط التالية بشكل قاطع. أولاً، يجب أن تُظهر نتائج الاختبارات الوظيفية تحقيقاً كاملاً للمتطلبات الحرجة، حيث يُشترط أن يثبت النظام قدرته على منع أي تعارض زمني في حجز القاعات بنسبة مئة بالمئة، بحيث لا يمكن تسجيل حجزين متزامنين لنفس القاعة تحت أي ظرف تشغيلي، مع التأكد من أن مسار اعتماد القاعات الكبرى يعمل بكفاءة تامة ولا يتم تأكيد أي حجز إلا بعد استلام موافقة الجهة المعتمدة وتوثيقها في سجل الاعتمادات. ثانياً، يجب أن تجتاز الاختبارات غير الوظيفية بنجاح، إذ يُشترط أن يستجيب النظام لعمليات البحث عن التوفر وتأكيد الحجوزات خلال ثانيتين كحد أقصى في نسبة لا تقل عن خمسة وتسعين بالمئة من الطلبات، وذلك تحت ضغط خمسمئة مستخدم متزامن، مع ضمان توفر النظام بنسبة لا تقل عن تسعة وتسعين ونصف بالمئة خلال ساعات العمل الرسمية الممتدة من السابعة والنصف صباحاً حتى الرابعة مساءً. ثالثاً، يجب أن يكون النظام متوافقاً بالكامل مع متطلبات إمكانية الوصول واللغة المزدوجة، بحيث تكون جميع الشاشات والرسائل متاحة باللغتين العربية والإنجليزية مع الحفاظ على تنسيق التاريخ والوقت المحلي لكل لغة دون فقدان أي بيانات أثناء التبديل، وتلبية معايير تباين الألوان والتنقل بلوحة المفاتيح. رابعاً، يجب أن يكون التكامل مع الدليل الوظيفي خالياً من الأخطاء، وأن يتم حفظ سجلات تدقيق دقيقة لكل عملية حجز واعتماد وإلغاء يمكن استرجاعها خلال أربع وعشرين ساعة، بما يضمن الامتثال لسياسات أمن المعلومات المعمول بها في الجهة. أخيراً، يجب أن تكون بيانات القاعات والتجهيزات المحدثة من قبل إدارة الخدمات المساندة جاهزة ومطابقة للواقع، وأن يتم توقيع إدارة الخدمات المساندة والإدارة العليا على شهادة القبول النهائية بعد مراجعة جميع التقارير الفنية ونتائج الاختبارات، مما يؤكد اكتمال النظام واستعداده للاستخدام الفعلي.