تصميم الاختبار
في هندسة البرمجيات ، تصميم الاختبار هو نشاط اشتقاق وتحديد حالات الاختبار من شروط الاختبار لاختبار البرمجيات .
تعريف
شرط الاختبار هو بيان يتعلق بكائن الاختبار. يمكن تحديد شروط الاختبار لأي جزء من مكون أو نظام يمكن التحقق منه: الوظائف، والمعاملات، والميزات، وسمات الجودة، أو العناصر الهيكلية.
يكمن التحدي الأساسي في تصميم الاختبارات في وجود عدد لا نهائي من الاختبارات المختلفة التي يمكن إجراؤها، ولكن الوقت لا يكفي لتشغيلها جميعًا. لذا، يجب اختيار مجموعة فرعية من الاختبارات؛ صغيرة بما يكفي لتشغيلها، ولكنها مختارة بعناية كافية لاكتشاف الأخطاء وكشف معلومات أخرى متعلقة بالجودة. [ 1 ]
يُعد تصميم الاختبارات أحد أهم متطلبات جودة البرمجيات. يدعم تصميم الاختبارات الجيد ما يلي:
- تحديد وتحسين العمليات والإجراءات المتعلقة بالجودة ( ضمان الجودة )؛
- تقييم جودة المنتج فيما يتعلق بتوقعات العملاء واحتياجاتهم ( مراقبة الجودة )؛
- اكتشاف العيوب في المنتج (اختبار البرمجيات).
المتطلبات الأساسية لتصميم الاختبار هي: [ 2 ]
- المواصفات المناسبة (قواعد الاختبار).
- تحليل المخاطر والتعقيد.
- البيانات التاريخية لتطوراتك السابقة (إن وجدت).
تحدد قواعد الاختبار، كالمتطلبات أو قصص المستخدم، ما يجب اختباره (عناصر الاختبار وشروط الاختبار). وتتضمن هذه القواعد بعض تقنيات تصميم الاختبار التي يجب استخدامها أو تجنبها.
يُعدّ تحليل المخاطر أمرًا لا غنى عنه لتحديد مدى شمولية الاختبار. فكلما زادت المخاطر المرتبطة باستخدام الوظيفة/الكائن، زادت الحاجة إلى اختبار أكثر شمولية. وينطبق الأمر نفسه على التعقيد. إذ يُحدد تحليل المخاطر والتعقيد أساليب تصميم الاختبار التي يجب تطبيقها على مواصفات معينة.
تساعد البيانات التاريخية لتطويراتك السابقة في تحديد أفضل مجموعة من تقنيات تصميم الاختبار لتحقيق التكلفة المثلى والجودة العالية معًا. في حال عدم توفر البيانات التاريخية، يمكن وضع بعض الافتراضات التي ينبغي تحسينها للمشاريع اللاحقة.
بناءً على هذه المتطلبات الأساسية، يمكن تطبيق استراتيجية تصميم اختبار مثالية.
تُنتج عملية تصميم الاختبار مجموعة من حالات الاختبار بناءً على المواصفات. يمكن تصميم هذه الحالات قبل بدء التنفيذ، ويجب أن تكون مستقلة عن التنفيذ. يُعدّ أسلوب "الاختبار أولاً" في تصميم الاختبار بالغ الأهمية، إذ يدعم بفعالية منع العيوب. بناءً على التطبيق وتغطية الاختبار الحالية، يمكن إنشاء حالات اختبار إضافية (لكن هذا لا يُعدّ تصميمًا للاختبار).
من الناحية العملية، ينبغي تطبيق المزيد من تقنيات تصميم الاختبار معًا للمواصفات المعقدة.
إجمالاً، لا يعتمد تصميم الاختبار على المهارة الاستثنائية (شبه السحرية) للشخص الذي يقوم بإنشاء الاختبار، بل يستند إلى مبادئ مفهومة جيداً. [ 3 ]
يُفصّل الجزء الرابع من معيار ISO/IEC/IEEE 29119-4:2015 التعريفات القياسية لتقنيات تصميم الاختبارات. ويُقدّم موقع مصممي الاختبارات منهجية LEA (التعلم - التدريب - التطبيق) لدعم التعلم الفعال لهذه التقنيات وتطبيقها. [ 4 ]
تصميم الاختبار الآلي
يمكن للبرمجيات، باستخدام التحقق من النماذج أو التنفيذ الرمزي، إنشاء مجموعات اختبار كاملة أو حالات اختبار تكشف عن أخطاء حقيقية تلقائيًا . يضمن التحقق من النماذج اختبار جميع مسارات البرنامج البسيط، بينما يكشف التنفيذ الرمزي عن الأخطاء وينشئ حالة اختبار تكشف عن الخطأ عند تشغيل البرنامج باستخدام هذه الحالة.
مع ذلك، ورغم كفاءة تصميم الاختبارات الآلي، فإنه لا يُناسب جميع الظروف. فإذا ازدادت التعقيدات، يصبح من الضروري اللجوء إلى تصميم الاختبارات البشري، لما يتمتع به من مرونة أكبر وقدرة على التركيز على توليد مجموعات اختبارات أكثر تعقيدًا.
مراجع
- ↑ تصميم الاختبار: دليل عمل BBST ، من تأليف جيم كانر وريبيكا إل فيدلر، يوليو 2016
- ↑ تصميم الاختبار العملي: اختيار تقنيات تصميم الاختبار التقليدية والآلية ، بقلم إستفان فورغاتش وأتيلا كوفاتش، أغسطس 2019
- ↑ دليل عملي لتصميم اختبار البرمجيات ، بقلم لي كوبلاند، يناير 2004
- ^ استفان، فورجاكس؛ كوفاكس، أتيلا (2021). التحول النموذجي في اختبار البرمجيات . قياسIT. رقم ISBN 978-615-01-2781-1.
- اختبار البرمجيات
