ما هو الاختبار المضمن في اختبار البرمجيات؟

ما هي الأنظمة المدمجة؟

الأنظمة المضمنة هي الأجهزة التي يتم التحكم فيها إلكترونيًا حيث يتم ربط البرامج والأجهزة بشكل وثيق. قد تحتوي الأنظمة المضمنة على مجموعة متنوعة من أجهزة الحوسبة. وهي عبارة عن أجهزة كمبيوتر مدمجة في أجهزة أخرى لتشغيل وظائف خاصة بالتطبيق. وعادةً ما لا يدرك المستخدم النهائي وجودها.

اختبار مضمّن

اختبار مضمّن هي عملية اختبار للتحقق من السمات الوظيفية وغير الوظيفية لكل من البرامج والأجهزة في نظام مضمن والتأكد من خلو المنتج النهائي من العيوب. الغرض الرئيسي من الاختبار المضمن هو التحقق والتحقق مما إذا كان المنتج النهائي للأجهزة والبرامج المضمنة يفي بمتطلبات العميل أم لا.

يتم فحص اختبار البرامج المضمنة والتأكد من أن البرامج المعنية ذات نوعية جيدة وتتوافق مع جميع المتطلبات التي يجب أن تستوفيها. يعد اختبار البرامج المضمنة أسلوبًا ممتازًا لضمان الأمان في التطبيقات المهمة مثل المعدات الطبية والسكك الحديدية والطيران وصناعة المركبات وما إلى ذلك. يعد الاختبار الصارم والدقيق أمرًا بالغ الأهمية لمنح شهادة البرامج.

كيفية إجراء اختبار البرامج المضمنة

بشكل عام، أنت تختبر لأربعة أسباب:

  • للعثور على الأخطاء في البرمجيات
  • يساعد على تقليل المخاطر لكل من المستخدمين والشركة
  • خفض تكاليف التطوير والصيانة
  • لتحسين الأداء

في الاختبار المضمن، يتم تنفيذ الأنشطة التالية:

1. البرنامج مزود ببعض المدخلات.

2. يتم تنفيذ جزء من البرنامج.

3. يتم ملاحظة حالة البرنامج، ويتم فحص المخرجات لمعرفة الخصائص المتوقعة مثل ما إذا كانت المخرجات تتوافق مع النتيجة المتوقعة، ومطابقتها للمتطلبات، وعدم وجود أعطال في النظام.

أنواع اختبار البرمجيات المضمنة

بشكل أساسي، هناك خمسة مستويات من الاختبار يمكن تطبيقها على البرامج المضمنة

اختبار وحدة البرمجيات

الوحدة النمطية هي إما وظيفة أو فئة. يتم إجراء اختبار الوحدة بواسطة فريق التطوير، في المقام الأول المطور، وعادة ما يتم ذلك في نموذج مراجعة الأقران. بناءً على مواصفات الوحدة النمطية، يتم تطوير حالات الاختبار.

اختبار التكامل

يمكن تصنيف اختبار التكامل إلى قسمين:

  1. اختبار تكامل البرمجيات
  2. اختبار تكامل البرامج/الأجهزة.

وفي النهاية، يتم اختبار التفاعل بين مجال الأجهزة ومكونات البرامج. يمكن أن يتضمن ذلك فحص التفاعل بين الأجهزة الطرفية المدمجة والبرامج.

يتميز تطوير البرامج المضمنة بخاصية فريدة تركز على البيئة الفعلية، التي يتم تشغيل البرنامج فيها، ويتم إنشاؤها بشكل عام بالتوازي مع البرنامج. وهذا يسبب إزعاجًا للاختبار نظرًا لأنه لا يمكن إجراء الاختبار الشامل في حالة محاكاة.

اختبار وحدة النظام

الآن الوحدة التي سيتم اختبارها هي إطار عمل كامل يتكون من كود برمجي كامل بالإضافة إلى ذلك نظام التشغيل في الوقت الحقيقي (RTOS) والأجزاء المتعلقة بالمنصة مثل المقاطعات وآليات المهام والاتصالات وما إلى ذلك. لم يعد بروتوكول نقطة التحكم بمثابة استدعاء لوظيفة أو استدعاء طريقة، بل هو رسالة تم إرسالها/تلقيها باستخدام قوائم انتظار رسائل RTOS.

تتم ملاحظة موارد النظام لتقييم قدرة النظام على دعم تنفيذ النظام المضمن. ولهذا الجانب، اختبار الصندوق الرمادي هي طريقة الاختبار المفضلة. اعتمادًا على المؤسسة، يكون اختبار وحدة النظام إما من واجب المطور أو فريق تكامل النظام المخصص.

اختبار تكامل النظام

تبدأ الوحدة المراد اختبارها من مجموعة من المكونات داخل عقدة واحدة. نقاط التحكم والمراقبة (PCOs) عبارة عن مزيج من بروتوكولات الاتصال المرتبطة بالشبكة وأنظمة التشغيل في الوقت الفعلي، مثل رسائل الشبكة وأحداث أنظمة التشغيل في الوقت الفعلي. بالإضافة إلى المكون، يمكن للمختبر الافتراضي أيضًا أن يلعب دور العقدة.

اختبار التحقق من صحة النظام

الوحدة التي سيتم اختبارها هي نظام فرعي مع تطبيق كامل أو نظام مضمن كامل. الهدف من هذا الاختبار النهائي هو تلبية المتطلبات الوظيفية للكيان الخارجي. لاحظ أن الكيان الخارجي إما أن يكون شخصًا، أو جهازًا في شبكة اتصالات، أو كليهما.

الفرق: الاختبار المضمن واختبار البرمجيات

اختبار البرمجيات اختبار مضمّن
يرتبط اختبار البرمجيات بالبرمجيات فقط. يرتبط الاختبار المضمن بكل من البرامج والأجهزة.
في المتوسط، 90% من الاختبارات التي يتم إجراؤها في العالم هي اختبارات الصندوق الأسود اليدوية البحتة. يتم إجراء الاختبار المضمن على الأنظمة أو الرقائق المضمنة، ويمكن أن يكون اختبارًا للصندوق الأسود أو الصندوق الأبيض.
المجالات الأساسية للاختبار هي فحوصات واجهة المستخدم الرسومية والوظائف والتحقق من الصحة ومستوى معين من اختبار قاعدة البيانات. المجالات الأساسية للاختبار هي سلوك الأجهزة الخاصة بالرقم. من المدخلات الممنوحة لها.
يتم إجراء اختبار البرمجيات بشكل رئيسي على التطبيقات المستندة إلى خادم العميل والويب والهاتف المحمول. يتم إجراء الاختبار المضمن بشكل عام على الأجهزة.
على سبيل المثال، جوجل Mailياهو Mail, Android التطبيقات. على سبيل المثال، آلات مجال الرعاية الصحية، والمتحكمات الدقيقة المستخدمة في أجهزة الكمبيوتر.

التحديات: اختبار البرمجيات المضمنة

بعض التحديات التي يمكن أن يواجهها الشخص أثناء اختبار البرامج المضمنة:

تبعية الأجهزة

تعد تبعية الأجهزة من بين الصعوبات الرئيسية التي تتم مواجهتها أثناء اختبار البرامج المضمنة بسبب محدودية الوصول إلى الأجهزة. ومع ذلك، قد لا تمثل المحاكيات والمحاكيات سلوك الجهاز الفعلي بدقة وقد تعطي فكرة خاطئة عن أداء النظام وسهولة استخدام التطبيق.

البرامج مفتوحة المصدر

غالبية مكونات البرامج المضمنة مفتوحة المصدر بطبيعتها، ولم يتم إنشاؤها داخليًا ولا يوجد اختبار كامل متاح لها. هناك مجموعة واسعة من مجموعات الاختبار والسيناريوهات الناتجة.

البرمجيات مقابل عيوب الأجهزة

جانب آخر هو أنه عندما يتم تطوير برنامج لجهاز تم إنشاؤه حديثًا، خلال هذه العملية يمكن تحديد نسبة عالية من عيوب الأجهزة. لا يقتصر الخلل الموجود على البرامج. قد يكون مرتبطًا بالأجهزة أيضًا.

العيوب القابلة للتكرار

من الصعب إعادة إنتاج العيوب أو إعادة إنشائها في حالة النظام المضمن. وهذا يفرض إجراء الاختبار المضمن لتقييم كل حدوث عيب أعلى بكثير مما هو الحال في الحالة القياسية، بخلاف جمع أكبر قدر ممكن من البيانات التي يمكن أن تكون مطلوبة بشكل معقول لتغيير النظام للعثور على أساس العيب.

تحديثات البرامج المستمرة

تتطلب الأنظمة المضمنة تحديثات منتظمة للبرامج مثل ترقية النواة وإصلاحات الأمان وبرامج تشغيل الأجهزة المختلفة وما إلى ذلك. وتؤدي القيود التي يتم تحديدها من خلال تحديثات البرامج إلى جعل تحديد الأخطاء أمرًا صعبًا. بالإضافة إلى ذلك، فإنها تزيد من أهمية إجراءات البناء والنشر.

الملخص

توجد بعض الصعوبات في اختبار البرامج المضمنة مما يجعلها أكثر صعوبة من اختبار البرامج العادي. والمشكلة الأساسية هي الاعتماد الشديد على بيئة الأجهزة التي يتم إعدادها في نفس الوقت مع البرنامج، والتي تكون مطلوبة بانتظام لإجراء اختبار برامج موثوق. وفي بعض الأحيان يكون من الصعب حتى اختبار البرنامج بدون أدوات مخصصة، مما يجعل التركيز على الاختبار في المراحل المتأخرة أمرًا مغريًا للغاية.

أحد أهم الأشياء التي يجب أن تفكر فيها هو حقيقة أنه يجب عليك غالبًا اختيار الاختبار الآلي للبرامج. الاختبار الآلي المضمّن هو عملية أسرع قد تستغرق عدة ساعات لإكمالها، وبهذه الطريقة، يتم تسوية مشكلة برنامجك.