تحديد التحقق في الهندسة الميكانيكية

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

وتستهدف عملية التحقق مجموعة البرامجيات بأكملها: فالمحركات الرقمية والوصلات البينية وروتينات استيراد البيانات والتصدير، وبرمجيات المراقبة المدمجة، لأن البرامجيات الهندسية الآلية كثيرا ما تؤدي حسابات غير حاسمة، يجب أن تكون عملية التحقق منهجية وموثقة توثيقا دقيقا.

المعايير التنظيمية وشروط الامتثال

وتوفر عدة معايير دولية إطاراً منظماً للتحقق من البرامجيات في الهندسة الميكانيكية. ISO 9001]] يتطلب التحقق والتحقق بشكل قوي من نواتج التصميم والتطوير، مع أدلة موثقة على أن كل طلب قد تم اختبارها، وبالنسبة للبرامجيات المتصلة بالسلامة، فإن التصنيف الدولي الموحد للكيمياء البيئية رقم 61508 ومشتقاته الخاصة بقطاعات معينة مثل المعيار ISO 26262 بالنسبة لمستويات السلامة الآلية والرقم IEC 62304 بالنسبة للبرامجيات الطبية.

ويعالج معيار ASME V scaleV 40] تحديداً نماذج حاسوبية للأجهزة الطبية، مما يتيح هيكلاً للتحقق من برامجيات المحاكاة المستخدمة لدعم العروض التنظيمية، وبالنسبة للنظم المحمولة جواً، ]DO-178C تحدد خمس مستويات من الأهمية الحيوية في مجال البرمجيات وتحتاج إلى أهداف لمواءمة عمليات التحقق

أفضل الممارسات للتحقق الفعال

شروط الكتابة

يجب أن تكون كل عبارة مُحكمة على النظام مُراقبة بشكل مباشر مع وضوح وثيقة المتطلبات، حيث أن عبارة "النظام يجب أن يستجيب بسرعة" أو "الآداة يجب أن تكون جيدة" تُبطل عملية الاختبار في المجرى، ويجب أن تكون الشروط ذات طابع ذرّي وقابل للاختبار ويمكن تعقبها، فبالنسبة للتحليل الهيكلي قبل إجراء الاختبارات، قد يعني ذلك:

تنفيذ استراتيجية اختبار متعددة المستويات

ويستفيد برنامج البرمجيات الهندسية الميكانيكية من هيكل هرمي لمستويات الاختبار، ويستهدف كل منها استخلاص عيوب في مرحلة مختلفة من مراحل التكامل:

  • اختبارات الوحدة رخيصة وعليها أن تكون مؤتمتة خلال كل بناء، التطور الذي يقوده الاختبار، حيث يقوم المهندسون بكتابة الاختبار قبل تنفيذ المهمة، ويجبرهم على النظر في الواجهة وضبط الحالات التي تصيب الإجهاد.
  • فحص الوصلات بين الوحدات والتحقق من أن هيكل بيانات سداسي للدي سي دي ينتقل إلى محرك التنظيف دون فقدان الطبقات، وينبغي أيضاً أن تحقق اختبارات التكامل من تبادل البيانات عبر مكتبات طرف ثالث، مثل قراءة ملف نظام التعليم العالي وضمان دمج الهندسة المثبتة في نظام التحكم الآلي.
  • (أ) تقييم البرمجيات الكاملة مقارنة بالمتطلبات، ويشمل ذلك معايير رقمية كاملة، وتدفقات العمل من نهاية إلى نهاية، واختبارات الإجهاد مع سيناريوهات هندسية في العالم الحقيقي، وينبغي أن تشمل اختبارات النظام السمية والحدود والظروف الخاطئة، وبالنسبة لمذيب من طراز CFD، قد يؤدي اختبار النظام إلى مقارنة السحب من خلال عدة نماذج متعددة الفعالية.
  • Acceptance Testing:] Performed by the end-user or a surrogate, it confirms that the software meets operational needs, such as generating a report that a regulatory reviewer would accept.

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

Leveraging Static and Dynamic Analysis

العديد من العيوب التي تُغرس في قاعدة البيانات مثل تسرب الذاكرة، والمتغيرات غير المُبدعة، أو تزيين الانتهاكات القياسية بدون التنفيذ، أدوات التحليل الثابت مثل الفضاء البولي، أو سوناربي، أو التغطية يمكن أن تُسح تلقائياً، أو شفرة الفيتون، أو تركيبات العلم المشبوهة.

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

التخطيط للتحقق على أساس المخاطر

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

إدارة شؤون الأقاليم ومدونة الأطراف الثالثة

(البرنامج الهندسي الحديث) يعتمد بشدة على مكتبات الأطراف الثالثة من أجل الغيبة الخطية (BLAS)، (LAPACK)، تجهيز الهندسة (OpenCASCADE)، (Pasolid)، أو شبكة النيوزيائية (TensorFlow) ويجب التحقق من هذه المكونات في سياق النظام العام، ويشمل ذلك التحقق من النسخ المستخدمة،

التلقائية والهياكل الأساسية للتحقق

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

إدارة التعقُّب والمصادرة

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

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

التصدي للتحديات الحديثة في مجال التحقق

قانون الجراثة والدين التقني

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

عدم التحديد في حاسوب بارال

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

شبكة استخبارات وألعاب

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

بناء ثقافة التحقق ذات الجودة والتركيز

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

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