كيفية تحقيق أقصى عائد من الاستثمار في أتمتة الاختبارات
مع تطوّر اختبار البرمجيات، أصبحت أتمتة الاختبارات مطلوبة وأساسيّة في كثير من المشاريع. لكن من الخطأ الكبير أتمتة حالات الاختبار بنسبة 100%. في هذا الموضوع، بعض النصائح من أجاي كول حول كيفية اختيار حالات الاختبار التي يمكن أتمتتها إذا كنت تريد تحقيق أقصى استفادة من جهود اختبار البرمجيات.
في الماضي، كانت أتمتة الاختبارات (test automation) تركّز فقط على تحديد مواطن الخلل في أداء البرمجيات. أما في السنوات الأخيرة فقد توسّع نطاق الاختبار وضمان الجودة بشكل كبير. أصبح الاختبار ليس فقط لتحديد ومنع وتخفيف العيوب، ولكن أيضًا لتقليل التكاليف وتحسين الأداء ورضا العملاء. لذلك، تم تصميم اختبارات اليوم لضمان تسليم برمجيات عالية الجودة بسرعة. يتم تعزيز أساليب اختبار البرمجيات الأكثر شيوعًا مثل الاختبارات الوظيفية (functional) والاختبارات المتعلّقة بالتغييرات (regression) واختبارات التكامل (integration) من خلال تبنّي أتمتة الاختبار.
بحسب تقرير الجودة العالمية لعام 2019، فإن 24% من فِرَق الاختبار تواجه عقبات تمنعها من اتخاذ قرار بشأن سيناريو الاختبار النموذجي. مما لا شك فيه أن أتمتة الاختبارات يمكن أن توفر للشركة كثير من الوقت والتكاليف عند تنفيذها بشكل صحيح. يُدرِك المختبرون أهمية الأتمتة ولكن التحدّي يكمن في تحديد الإجراءات (processes) المثالية التي يمكن أتمتتها والتي تضمن تحقيق أكبر عائد من الاستثمار (ROI). على الرغم من إمكانية أتمتة كل حالة اختبار (test case)، إلا أن هذا ليس دائمًا هو الخيار الأفضل للعمل. يجب على المؤسسات بدلاً من ذلك تحديد حالات الاختبار المثالية للأتمتة من أجل تحقيق أفضل النتائج.
ما هي حالات الاختبار المثالية للأتمتة؟
وفقًا لِـ Software Testing News، ترى غالبية الشركات عائدًا من استثمارها في أتمتة الاختبار على الفور (24%) أو خلال الأشهر الستة الأولى (24%). أما باقي الشركات فترى نتيجة خلال 6-12 شهرًا (28%) أو بعد عام واحد (15%). ومع ذلك، أفادت 9% من الشركات أنها لم تحصل على عائد من الاستثمار مطلقًا.
في حين أن هناك العديد من الأسباب الكامنة وراء فشل الشركات في زيادة عائد الاستثمار إلى الحد الأقصى عند تبنّي أتمتة الاختبار، إلا أن ذلك يرجع في أغلب الأحيان إلى الاختيار غير الصحيح لحالات الاختبار. ولهذا السبب من المهم جدًا أن تقوم فِرَق الاختبار باختيار حالات الاختبار بناءً على مجموعة من المواصفات المحدّدة. فيما يلي أنواع حالات الاختبار التي يوصَى بها لتنفيذ الأتمتة:
- الاختبارات المتعلّقة بالتغييرات (Regression Tests)
تشمل هذه الاختبارات ال smoke testing وال sanity testing. هذه الاختبارات متكرّرة بطبيعتها وتستهلك وقتًا وموارد كبيرة عند القيام بها يدويًا.
- اختبارات الأداء (Performance Tests)
تشمل هذه الاختبارات ال load testing وال stress testing. يتم إجراء اختبارات الأداء لتقييم كيفية عمل البرنامج من حيث الاستجابة والاستقرار في ظل عِبْء عمل معين. يمكن أن تساعد الأتمتة في تسريع عملية الاختبار وتسريع وقت الوصول إلى السوق.
- الاختبارات المبنيّة على البيانات (Data-driven Tests)
الإجراءات (processes) التي تعتمد على البيانات عُرْضَة للأخطاء البشرية. تعتبر أتمتة الاختبار والأدوات المستخدمة فيها حلاً مؤكدًا للمساعدة في التخفيف من أي قصُور قد يحصُل.
ما هي حالات الاختبار التي لا ينبغي أن تكون مؤتمتة؟
لقد أحدثت أتمتة اختبار البرمجيات تحولًا كاملاً في ممارسات (practices) التحليل وضمان الجودة. ومع ذلك، فإن أتمتة كل حالة اختبار يمكن أن تكون هدّامة للمشروع. فيما يلي بعض السيناريوهات التي يجب فيها تجنّب أتمتة الاختبارات لِمَنْع المبالغة أو سوء استخدامها:
- الاختبار المخصّص (Ad Hoc Testing) والاختبار الاستكشافي (Exploratory Testing):
تتضمّن أساليب الاختبار هذه التعلّم والتطوّر في وقت واحد. يتم إجراء اختبارات مخصّصة واستكشافية من قبل المختبرين عندما لا يكون لديهم معايير محدّدة للتحقق من البرنامج وذلك على سبيل المثال لعدم توفر المتطلّبات (requirements). المقصود من هذه الاختبارات هو تقييم ما يمكن توقعه كنتيجة وبالتالي يجب تجنّب أتمتتها.
- اختبار قابليّة الاستخدام (Usability Testing)
يقيس هذا النوع من الاختبار مدى سهولة استخدام البرنامج وقبوله. في حين يمكن للمرء أتمتة بعض سيناريوهات قابليّة الاستخدام الشائعة، إلا أنه لا يوصَى بتغطية كبيرة للاختبار (coverage) لأن كل مستخدم يتفاعل مع البرنامج بشكل مختلف وهناك عدد كبير جدًا من حالات الاستخدام. إذا تمّت أتمتتها جميعًا، فمن غير المرجّح أن يتم تسجيل جميع النتائج بشكل صحيح ودقيق.
- الاختبارات التي هي ضد الأتمتة (Anti-Automation Tests)
يمكن أن تكون ميزات مثل التعرّف على CAPTCHA مثالاً على الاختبارات التي هي ضد الأتمتة. إن برمجة وأتمتة هذه الخاصيّة ستبطل غرضها وتضر بأمان البرنامج.
بالتوفيق للجميع…
* المصدر: https://www.softwaretestingmagazine.com/knowledge/how-to-select-test-cases-to-automate-for-a-maximum-roi
** الصورة من موقع: https://suretest.health/resources/roi-calculator
لا توجد تعليقات