الأختبارات المطلوبة على البرامج المستخدمة فى منظومة التشغيل الرقمى لمحطات المحولات Substation Automation System
قبل ان نستعرض انواع الاختبارات يجب ان نعرف ما هو اختبار البرمجيات بصفة عامة
يعرف المختصون الأختبارات بانها ” العمليات التي يتم فيها تنفيذ البرنامج بنية البحث عن الأخطاء”

أنواعالاختباراتهي
1. اختبار الوحدة (Unit Testing)
2. إختبار التجميع (Integration Testing)
3. اختبار النظام (System Testing)
إختبار الوحدة(Unit Testing) :
و هو يقوم بتنفيذه مصمم و مطور البرنامج نفسة عن طريق كتابة كود برمجى للاختبار,
إختبار التجميع (Integration Testing):
أى برنامج يتكون من وحدات منفصلة و كل وحدة لها وظيفة منفصلة ( على سبيل المثال الويندوز يتكون من عدد كبير جدا من الوحدات البرمجية مثل لوحة التحكم و مستكشف الملفات و المجلدات و برنامج تحرير الصور و برنامج النوت باد.... الخ ) يمكن ان تعمل كل وحدة منفصلة بسلاسة و بنجاح و لكن عند تجميع هذه الوحدات فى منظومة واحدة فلا تتوافق مع بعضها ، و لذلك يتم كتابة كود برمجى خاص لهذا الأختبار ليتم به اختبار البرنامج بعد تجميع جميع وحداته المختلفة حتى يتم التأكد من التوافق و الترابط بين الوحدات البرمجية
إختبار النظام (System Testing):
يعتبر هذا الاختبار هوالاختبارالنهائيللتأكد من أن التطبيق او البرنامج يقوم بأداة على الوجه المطلوب بدون اى مشاكل مع نظام التشغيل او استهلاك موارد الجهاز اكثر من اللازم او تاثيره على برامج أخرى، و لا يحتاج هذا الاختبار أي معرفة سابقة عن البنية الداخلية للبرنامج او كوده البرمجى و لكن يتم الأختبار من الخارج فقط و تقييم أداه للوظيفة المصمم من أجلها.
و يوجد عدة انواع لهذا الاختبار منها:
1. إختبار الدخان (Smoke Test)
وهي مجموعة من الاختبارات التي يقوم بإعدادها فريق من المختصين بحيث تختبر المهام الأساسية للبرنامج وفي حال عدم عمل أي منها يتم الإرجاع إلى فريق التطوير لحل المشاكل , وهذا النوع غير مكلف وتقوم به شركة مايكروسوفت بشكل يومي عند أي تجديد على المنتجات
2. إختبار سهولة الإستخدام (Usability Testing)
إختبارات تقيس مدى سهولة استعمال البرنامج ويندرج تحت علم تفاعل الإنسان والحاسوب (HCI) فمعرفة سهولة إدخال البيانات في الشاشات HMI والتقارير ومعدل الضغطات هو أمر مهم في هذا الإختبار.
3. إختبار التوافقية (Compatibility testing)
التوافقية في مختلف الأشياء سواء كان على مستوى الأجهزة والمتصفحات او قياسات احجام الشاشات المختلفة , ويتم تحديد حد للتوافقية نظرا لصعوبة توافق التطبيق مع كل المتغيرات
4. إختبار التحمل (Load Test)
معرفة مدى تحمل النظام عند حد معين من الطلبات أو المستخدمين ومعرفة مدى فاعلية إستجابة التطبيق.
5. إختبار الضغط (Stress Test)
إختبار مدى أقصى تحمل للنظام لمعرفة ما هي أقصى طاقة للبرنامج وكيف يقوم بمعالجة الأمر في حال أقصى مدى من الطلبات والمستخدمين.
6. إختبار الأمان (Security Test)
يتم عمل عدة اختبارات لمعرفة مدى حماية المعلومات والنظام وعدمإمكانية اختراق النظام من خلال البرنامج المراد استخدامه
7. إختبار الموافقة (Acceptance Test)
وهو آخر مرحلة من مراحل الاختبارات حيث يتم فيها إختبار موافقة النظام لمتطلبات العميل , ونلاحظ ارتباط هذا الاختبار بإختبار سهولة الإستخدام لأن كلاهما يقوم به أو يدخل به العميل , وهناك أنواع تندرج تحت هذا الإختبار.
1-7 إختبار موافقة المستخدم (User Acceptance Testing)
ينقسم إلى Alpha حيث يتم فحص التطبيق في داخل بيئة العمل , بواسطة تعليمات المطورين , أما الـ Beta فيكون في بيئة المستخدم الحقيقية ولكن يقوم بتجربته أشخاص
محددين ويتم إعطاء مرجع الأخطاء والملاحظات
2-7 إختبار الموافقة للعمل (Business Acceptance Testing)
يكون بواسطة ممثلين أعمال حيث يتم التأكد أن التطبيق يوافق طبيعة العمل والعمليات.
3-7 إختبار التراجع (Regression Test)
يكون عند تطوير النظام , فيتم عند إضافة أي خاصية التأكد من أن النظام لم يتأثر , حيث يتم إعادة إختبار المسارات المؤثرة للتأكد من عمل النظام.
هذه الأختبارات تقوم بها الشركة المطورة كما يجب ان يتم اختبارها فى معامل دولية للحصول على اعتماد دولى فى حالة طلب استخدامها فى الشبكات الكهربائية الموحدة من أجل التأكد من سلامتها من الأختراق و المحافظة على الأمن القومى للدول.
و الله من وراء القصد