عملية التحقق من التصميم والتحقق من صحته

⚡ ملخص ذكي

تُؤكد عملية التحقق من التصميم تطابق مُخرجات التصميم مع مُدخلاته الموثقة، بينما تُؤكد عملية التحقق من صحة التصميم أن المنتج النهائي يُلبي الاحتياجات الحقيقية لمستخدميه. وتُجرى كلتا العمليتين طوال فترة التطوير، ولا تُجرى أي منهما في النهاية.

  • 🔘 سؤالان مختلفان: يسأل التحقق عما إذا كان المنتج قد تم تصميمه بشكل صحيح، بينما يسأل التحقق من الصحة عما إذا كان المنتج الصحيح قد تم تصميمه على الإطلاق.
  • ☑️ مدخلات ومخرجات: مدخلات التصميم هي مجموعة المتطلبات المادية ومتطلبات الأداء؛ أما مخرجات التصميم فهي ما تنتجه كل مرحلة من مراحل التصميم وهي ما يتم فحصه من قبل عملية التحقق.
  • ✅ الأدلة الموضوعية: لا تكتمل عملية التحقق إلا بوجود دليل مادي يثبت أن المنتج يلبي احتياجات المستخدم الموثقة.
  • 🧪 التحقق من خمس مراحل: تحديد وإعداد وتخطيط وتطويرpingيشكل التنفيذ والإبلاغ تسلسل التحقق القياسي.
  • 🛠️ Tracسهولة الوصول في جميع أنحاء: إن الروابط بين مدخلات التصميم وحالات الاختبار والنتائج هي التي تثبت أن كل متطلب قد تم تغطيته بالفعل.
  • 📈 التسلسل مهم: يأتي التحقق بعد التحقق الناجح، والتحقق ليس بديلاً مقبولاً عنه أبداً.

عملية التحقق من التصميم والتحقق من صحته في تطوير البرمجيات

التأكيد تصميم

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

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

عملياً، تقارن عملية التحقق مجموعتين من الوثائق: المواصفات والمعايير والقيود المدخلة، مقابل الرسومات والرموز وتعليمات الاختبار الناتجة. كل اختلاف بينهما يُعدّ نتيجة للتحقق.

التحقق من صحة التصميم

يُثبت التحقق الاتساق الداخلي. أما التحقق من الصحة فيطرح السؤال الأصعب: هل وصفت المواصفات المنتج الصحيح في المقام الأول؟

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

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

يشير الشعار أدناه إلى نصفي النشاط كما يتم عرضهما عادةً في سجلات التصميم.

يُستخدم عنوان "التحقق من صحة التصميم" في سجلات مراقبة التصميم.

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

مسار عملية التحقق من صحة التصميم من احتياجات المستخدم إلى المنتج المعتمد

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

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

الفرق بين التحقق من التصميم والتحقق من الصحة

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

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

اختصار مفيد: التحقق هو في الغالب الأعمال الثابتة مقارنة بالوثائق، بينما تتم عملية التحقق في الغالب اختبار ديناميكي ضد عملية بناء جارية.

عملية التحقق من التصميم

تتم عملية التحقق في خمس مراحل، وتنتج كل مرحلة منها قطعة أثرية تعتمد عليها المرحلة التالية.

التعريف والتحضير:

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

التخطيط:

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

ديفيلوping:

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

التنفيذ:

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

تقارير:

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

عملية التحقق من صحة التصميم

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

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

مثال

مثال عملي قصير يوضح الفرق بشكل ملموس.

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

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

مزايا التحقق من صحة التصميم والتحقق منه

إن تشغيل كلا النشاطين بشكل مستمر، بدلاً من تشغيلهما كبوابة في النهاية، هو ما ينتج عنه الفوائد المذكورة أدناه.

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

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

الأسئلة الشائعة

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

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

IEEE 1012يُعدّ معيار التحقق من صحة الأنظمة والبرمجيات والأجهزة الإطار الرئيسي. وتتطلب معايير إدارة الجودة، مثل ISO 9001، كلاً من ضوابط التصميم والتطوير، وتضيف القطاعات الخاضعة للتنظيم قواعدها الخاصة بضوابط التصميم.

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

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

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

التعامل مع التحقق من الصحة كإجراء شكلي بعد اجتياز التحقق، وكتابة مدخلات تصميم لا يمكن قياسها، وترك tracالقدرة على الاستمرار حتى النهاية. كل منها ينتج سجلاً يبدو كاملاً ولكنه لا يصمد أمام التدقيق أو المستخدم الحقيقي.

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

تلخيص هذه التدوينة بـ: