استراتيجية الاختبار
تعتمد استراتيجية اختبار نظام إدارة تصاريح دخول الزوار على منهجية هرمية متكاملة تضمن التحقق من صحة كل طبقة في البنية التقنية للنظام، بدءاً من الوحدات المنفصلة وصولاً إلى بيئة التشغيل الفعلية. يتم تنفيذ الاختبار الوظيفي على مستوى الوحدات (Unit Testing) باستخدام إطار xUnit ضمن مشروع الاختبارات المخصص، حيث تُختبر الخدمات المنطقية في مجلد Services بشكل معزول، مع محاكاة الاعتماديات الخارجية مثل واجهات نظام الموارد البشرية عبر بديلات محلية (Mocks) لضمان سرعة التنفيذ ودقة النتائج. كما يُجرى اختبار الواجهات البرمجية (API Testing) للتحقق من صحة مسارات HTTP واستجابات وحدات التحكم في مجلد Controllers، مع التركيز على التحقق من أكواد الحالة (Status Codes) ومطابقة البيانات المرسلة مع نماذج البيانات المعتمدة في مجلد Models. على مستوى التكامل (Integration Testing)، يتم تشغيل التطبيق بالكامل عبر WebApplicationFactory<Program> ضد قاعدة بيانات SQLite في الذاكرة، للتحقق من سلامة تسجيل الخدمات في Program.cs، وصحة الترحيلات (Migrations)، وتكامل طبقة الوصول إلى البيانات عبر Entity Framework Core مع منطق الأعمال، بما في ذلك مسارات المصادقة والصلاحيات باستخدام سمة [Authorize]. أما الاختبار الوظيفي الشامل (End-to-End Testing) فيُنفذ يدوياً وبمساعدة أتمتة على بيئة التطوير، لتغطية السيناريوهات الكاملة من تقديم الطلب حتى تسجيل الخروج، مع التركيز على التحقق من متطلبات الأداء NFR-01 و NFR-05، وضمان استجابة النظام خلال الحدود الزمنية المحددة لعمليات التحقق من رمز QR واسترجاع السجلات التاريخية. يتم أتمتة الاختبارات الوظيفية الأساسية المرتبطة بالمتطلبات الحرجة (must) مثل FR-01 و FR-03 و FR-04 و FR-05، لتُنفذ تلقائياً مع كل عملية بناء (Build) في خط التكامل المستمر، بينما تبقى الاختبارات المرتبطة بواجهات المستخدم البصرية والتبديل بين اللغتين NFR-04 تحت إشراف الاختبار اليدوي لضمان جودة التجربة. يتولى فريق التطوير مسؤولية كتابة وتنفيذ اختبارات الوحدات والواجهات البرمجية، بينما يتولى فريق الاختبار المتخصص مسؤولية تصميم سيناريوهات الاختبار الشامل والتحقق من معايير القبول، مع إشراك ممثلين عن الجهات المختصة وموظفي الأمن في مرحلة الاختبار التجريبي (UAT) للتأكد من ملاءمة الواجهات SCR-03 و SCR-05 لاحتياجاتهم التشغيلية الفعلية.
حالات الاختبار
- TC-01تقديم طلب زيارة إلكتروني جديد من قبل الموظف المستضيف يتضمن بيانات الزائر وتاريخ الزيارة والغرض منها، والتحقق من حفظ الطلب في قاعدة البيانات وتغيير حالته إلى "مقدم" دون الحاجة إلى نماذج ورقية.
- TC-02مراجعة طلب زيارة معلق من قبل الجهة المختصة واتخاذ قرار الاعتماد عن بُعد، والتحقق من توليد تصريح معتمد تلقائياً وربطه ببيانات الزائر المحددة.
- TC-03مراجعة طلب زيارة معلق من قبل الجهة المختصة واتخاذ قرار الرفض عن بُعد مع توثيق سبب الرفض، والتحقق من تحديث حالة الطلب إلى "مرفوض" في قاعدة البيانات.
- TC-04التحقق من توليد رمز QR فريد لكل تصريح معتمد يربطه ببيانات الزائر المحددة وتاريخ سريان التصريح وانتهائه، والتأكد من عدم إمكانية تعديل البيانات بعد الاعتماد.
- TC-05استخدام واجهة برمجية (API) لقراءة رمز QR من جهاز البوابة والتحقق الفوري من مطابقة هوية الزائر مع بيانات التصريح المعتمد، والتأكد من سرعة الاستجابة وفقاً لمتطلبات الأداء.
- TC-06التحقق من تسجيل بيانات دخول وخروج الزائر تلقائياً في قاعدة البيانات المركزية لحظة التحقق من التصريح عند البوابة، والتأكد من تحديث حالة التصريح إلى "دخل" أو "خرج".
- TC-07استرجاع سجلات الزيارات التاريخية والعمليات المسجلة بناءً على معايير البحث المحددة (مثل التاريخ، اسم الزائر، رقم التصريح)، والتحقق من عرض النتائج خلال أقل من 5 ثوانٍ.
- TC-08عرض حالة الطلبات المعلقة والمعالجة في لوحة تحكم واضحة للجهات المختصة، والتحقق من إتاحة فلاتر بحث متقدمة لمتابعة العمليات دون تأخير.
- TC-09التحقق من إرسال إشعارات فورية للموظف المستضيف والجهة المختصة عند تغيير حالة الطلب من تقديم إلى اعتماد أو رفض.
- TC-10توليد تقارير إحصائية أسبوعية تلقائية تتضمن حجم الزيارات وأنواعها وتوزيعها الزمني للجهات الإدارية، والتحقق من دقة البيانات الواردة في التقارير.
- TC-11محاولة الوصول إلى بيانات الزوار وسجلات العمليات الحساسة من قبل مستخدم غير مصرح به، والتحقق من منع الوصول وتطبيق مستويات الصلاحيات الدقيقة.
- TC-12استخدام واجهة استخدام بسيطة وسريعة لموظف الأمن تتيح له تنفيذ عملية التحقق وتسجيل الدخول والخروج دون تعقيد تقني، والتحقق من سهولة الاستخدام وسرعة الاستجابة.
- TC-13التحقق من تكامل النظام مع نظام الموارد البشرية الحالي لاستيراد بيانات الموظفين المستضيفين تلقائياً دون إجراء تعديلات جوهرية على النظام المصدر.
- TC-14التحقق من تشفير جميع البيانات الشخصية للزوار والموظفين أثناء النقل والتخزين باستخدام خوارزميات معتمدة من هيئة الحكومة الرقمية السعودية.
- TC-15التبديل الفوري بين اللغتين العربية والإنجليزية في الواجهات البرمجية ولوحات التحكم، والتحقق من عدم فقدان البيانات أو إعادة تحميل الصفحة أثناء التبديل.
بيئة الاختبار
تُنفذ جميع أنشطة الاختبار في بيئة اختبار معزولة تماماً عن بيئة الإنتاج، وتعمل هذه البيئة على نفس البنية التقنية المعتمدة في التشغيل الفعلي، حيث يتم تشغيل تطبيق ASP.NET Core Web API ضمن إطار عمل .NET 10 (LTS) مع استخدام قاعدة بيانات Microsoft SQL Server كنسخة مطابقة لمخطط الإنتاج. لضمان دقة النتائج ومحاكاة الظروف التشغيلية الحقيقية، يتم تهيئة بيئة الاختبار باستخدام بيانات اختبار اصطناعية ومولدة آلياً، تشمل سجلات طلبات الزيارة، والتصاريح المعتمدة، وحركات الدخول والخروج، والمستخدمين والصلاحيات، مع ضمان عدم استخدام أي بيانات شخصية حقيقية أو معلومات حساسة مستمدة من بيئة الإنتاج. يتم توليد رموز QR فريدة للبيانات الاختبارية لتغطية سيناريوهات التحقق عند البوابات، وتُستخدم حسابات مستخدمين وهمية تمثل الأدوار الوظيفية المختلفة (الموظف المستضيف، الجهة المختصة، موظف الأمن، إدارة تقنية المعلومات) لاختبار آليات المصادقة والصلاحيات. لحماية البيانات في بيئة الاختبار، تُطبق نفس اشتراطات التشفير المعتمدة من هيئة الحكومة الرقمية السعودية للبيانات الشخصية أثناء النقل والتخزين، وفقاً للمتطلب NFR-03، مع عزل الشبكة عن الأنظمة الخارجية غير المرتبطة مباشرة بمسار الاختبار. كما يتم تطبيق مبدأ أقل صلاحيات ممكن على حسابات الاختبار لضمان عدم الوصول غير المصرح به، وتُحفظ جميع سجلات العمليات في بيئة الاختبار في قاعدة بيانات مخصصة لا تتشارك مع أي قواعد بيانات أخرى، مع إتاحة إمكانية إعادة تهيئة البيانات (Reset) قبل كل جولة اختبار لضمان استقلالية النتائج ومنع تأثير البيانات السابقة على الاختبارات اللاحقة.
معايير إنهاء الاختبار
تُعد معايير الخروج الشرط النهائي لاعتماد نظام إدارة تصاريح دخول الزوار ودخوله مرحلة التشغيل الفعلي، حيث يجب أن يحقق النظام جميع النتائج المستهدفة الموثقة في خطة الاختبار قبل التوقيع على شهادة الجاهزية. يشترط أولاً اجتياز جميع حالات الاختبار ذات الأولوية [must] بنسبة نجاح 100%، مع معالجة جميع العيوب الحرجة والخطيرة التي تم رصدها خلال دورات الاختبار، على أن لا يتبقى أي عيب من المستوى الأول أو الثاني غير المعالج. كما يجب إثبات كفاءة دورة الاعتماد الإلكتروني من خلال قياس متوسط زمن معالجة الطلبات، مع ضمان ألا يتجاوز هذا الزمن 4 ساعات عمل في المتوسط وفقاً للمتطلب BR-02، والتحقق من أن نسبة العمليات التي تتم بالكامل إلكترونياً دون استخدام نماذج ورقية لا تتجاوز 10% من إجمالي العمليات وفقاً للمتطلب BR-01. وفيما يتعلق بأمن البيانات ودقتها، يُشترط تحقيق نسبة دقة 100% في مطابقة بيانات الزائر مع التصريح المعتمد عند بوابة الدخول وفقاً للمتطلب BR-03، مع التأكد من استجابة النظام لعمليات التحقق من رمز QR وتسجيل بيانات الدخول خلال أقل من 30 ثانية كحد أقصى وفقاً للمتطلب NFR-01 والمتطلب BR-07. كما يجب إثبات توفر سجل إلكتروني دائم وموثق لجميع عمليات الدخول والخروج يمكن استرجاعه خلال أقل من 5 ثوانٍ وفقاً للمتطلب BR-04 والمتطلب NFR-05، مع ضمان عدم فقدان أي بيانات أثناء عمليات الاسترجاع. يُشترط أيضاً التحقق من مستوى توافر النظام الذي يجب أن يصل إلى 99.9% على مدار الساعة طوال أيام الأسبوع وفقاً للمتطلب NFR-02، مع استثناء فترات الصيانة المجدولة مسبقاً. ويعتبر الامتثال لاشتراطات حماية البيانات الوطنية شرطاً جوهرياً، حيث يجب أن يثبت النظام تطبيقه لأعلى معايير التشفير للبيانات الشخصية أثناء النقل والتخزين وفقاً للمتطلب NFR-03، مع توفير آلية مصادقة متعددة العوامل للمستخدمين الإداريين والجهات المختصة وفقاً للمتطلب NFR-06. كما يجب التحقق من إمكانية الجهات المختصة في مراجعة واعتماد الطلبات عن بُعد دون الحاجة إلى تواجد في الموقع وفقاً للمتطلب BR-06، مع ضمان وضوح لوحة التحكم لعرض حالة الطلبات المعلقة وفقاً للمتطلب FR-07. ويُشترط التحقق من دقة التقارير الإحصائية الأسبوعية التلقائية وفقاً للمتطلب BR-08 والمتطلب FR-09، مع ضمان إتاحة التبديل الفوري بين اللغتين العربية والإنجليزية دون فقدان البيانات وفقاً للمتطلب NFR-04. أخيراً، يجب تأكيد تكامل النظام مع نظام الموارد البشرية الحالي دون إجراء تعديلات جوهرية عليه وفقاً للمتطلب FR-12، مع ضمان عدم وجود تعارضات مع أنظمة أمنية أو إدارية أخرى قائمة في المؤسسة. وتُوثق جميع هذه النتائج في تقارير رسمية مفصلة تُعرض على الجهات الرقابية والأمنية العليا لضمان الامتثال الكامل للمتطلبات التنظيمية والأمنية قبل اعتماد الإطلاق.