🧭 كيف تدرس Domain جديد لأول مرة؟
في عالم اختبار البرمجيات، من الطبيعي أن تواجه مشروعًا ينتمي إلى مجال لا تعرف عنه شيئًا مسبقًا قد يكون مصرفيًا، طبيًا، أو أمنيًا
لكن التحدي الحقيقي ليس في الجهل بالمجال، بل في كيفية فهمه بسرعة وعمق كافٍ لتختبره أو تحلله باحتراف.
في هذه المقالة سنستعرض طريقة منهجية لدراسة أي Domain جديد خطوة بخطوة، مع أمثلة من المجال الأمني في المطارات والمركبات والطيران.
🧩 أولاً: ما المقصود بالـ Domain؟
الـ Domain هو المجال المعرفي أو الصناعي الذي يخدمه النظام البرمجي.
ببساطة، هو البيئة الواقعية التي يعمل فيها المنتج.
على سبيل المثال:
نظام بنكي → Banking Domain
نظام مستشفى → Healthcare Domain
نظام مراقبة أمنية → Security Domain
معرفة الـ Domain لا تعني أن تصبح خبيرًا فيه، بل أن تفهم كيف تُدار عملياته اليومية، ومن هم المستخدمون، وما الذي يحاول النظام تحقيقه.
🗺️ الخطوة 1: ارسم خريطة الفهم المبدئي (Domain Mapping)
ابدأ بتكوين صورة عامة عن الـ Domain:
من هم المستخدمون؟ ما العمليات الأساسية؟ ما الأهداف؟
مثال من الـ Domain الأمني في المطارات:
العنصر التفاصيل
المستخدمون موظفو الأمن، الطيارون، السائقون، الزوار
العمليات فحص المركبات، التحقق من الهويات، مراقبة الكاميرات
الهدف ضمان أمان المطار ومنع الدخول غير المصرح به
هذه الخريطة البسيطة تساعدك على رؤية النظام كمنظومة مترابطة وليس كأجزاء تقنية فقط.
📚 الخطوة 2: كوّن قاموس مصطلحات الـ Domain (Domain Vocabulary)
كل مجال يملك لغته الخاصة، وفهم هذه اللغة هو مفتاحك للتواصل مع الفريق والعملاء.
مثال:
المصطلح المعنى
Airside المنطقة الخاصة بالطائرات داخل المطار
Landside المنطقة العامة خارج الأمن
Clearance تصريح مرور
Gate Access صلاحية دخول البوابة
Vehicle Tag بطاقة تعريف المركبة
أثناء الاجتماعات أو قراءة الوثائق، دوّن كل مصطلح جديد وابحث عن معناه الحقيقي في سياق الـ Domain.
🧠 الخطوة 3: افهم السيناريوهات الواقعية
بعد معرفة المصطلحات والعمليات، حان الوقت لتتخيل كيف يُستخدم النظام فعليًا في الحياة اليومية.
✈️ سيناريو: فحص المركبات في بوابة المطار
تصل السيارة إلى البوابة.
الكاميرا تلتقط رقم اللوحة.
النظام يتحقق من قاعدة البيانات إن كانت السيارة مصرحًا لها بالدخول.
في حال عدم وجود تصريح → يُصدر النظام تنبيه أمني ويمنع الفتح.
كـ Tester:
اختبر الحالات الطبيعية: سيارة مصرح بها.
اختبر الحالات السلبية: سيارة غير مصرح بها.
اختبر الحالات الاستثنائية: الكاميرا لا تعمل أو الاتصال مفقود.
هكذا تربط بين الفهم الميداني والتحقق البرمجي.
⚙️ الخطوة 4: اربط التقنية بالـ Domain
الـ Domain لا يعيش بمعزل عن التقنية. عليك أن تعرف كيف تُترجم العمليات الأمنية إلى تدفق بيانات فعلي داخل النظام.
مثلاً:
الكاميرا ترسل رقم اللوحة إلى API.
الـAPI يتحقق من قاعدة البيانات.
تُرسل النتيجة إلى واجهة المستخدم (فتح/منع/تنبيه).
بهذا الفهم، تصبح قادرًا على تصميم حالات اختبار واقعية تشمل كل مرحلة من مراحل العملية.
🧾 مثال على حالات اختبار من السيناريو السابق
Test Case الخطوات النتيجة المتوقعة
التحقق من إذن الدخول أدخل رقم لوحة مصرح بها → تحقق النظام يعرض “Access Granted” ويفتح البوابة
مركبة غير مصرح بها أدخل رقم لوحة غير مسجلة النظام يعرض “Access Denied” ويرسل تنبيه
عطل في الكاميرا أغلق الكاميرا أثناء الفحص النظام يعرض “Camera Offline” ويمنع الفتح
كل حالة تمثل موقفًا حقيقيًا من الواقع الأمني — وهذا ما يميز الـ Tester الذي يفهم الـ Domain عن من يختبر بشكل سطحي.
🔍 الخطوة 5: ابحث ودوّن ملاحظاتك
خصص وقتًا للبحث:
اقرأ وثائق الـ Domain الرسمية (مثل ICAO للطيران).
شاهد فيديوهات توضح العمليات الواقعية.
تحدث مع خبراء المجال أو end users
🧩 الخطوة 6: اسأل الأسئلة الذكية
من أهم مهارات فهم أي Domain هي طرح الأسئلة الصحيحة.
على سبيل المثال:
ما الذي يُعتبر فشلًا كارثيًا في هذا النظام؟
ما القوانين أو اللوائح التي يجب أن يلتزم بها؟
من هم المستخدمون ذوو الأولوية الأعلى؟
كل إجابة تضيف لك قطعة جديدة من الصورة الكاملة.
عند دخولك Domain جديد، لا تندفع نحو التفاصيل التقنية فورًا.
ابدأ بالفهم، ثم اللغة، ثم السيناريوهات، ثم التقنية.
بهذه الخطوات:
تبني تصورًا واقعيًا للمجال.
تكتشف نقاط الخطورة والأهمية في النظام.
تكتب حالات اختبار أكثر عمقًا وذكاءً.
في النهاية، الـ Tester أو المحلل الناجح هو من يفكر بعقل المستخدم ويحلل بعين الخبير حتى لو دخل الـ Domain لأول مرة.
يجب أنت تكون مسجل الدخول لتضيف تعليقاً.