دمج الاختبار اليدوي والآلي في خطة الاختبار

دمج الاختبار اليدوي والآلي في خطة الاختبار

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

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

كما يوضح الرسم البياني أعلاه، هناك تكلفة مسبقة للاختبار الآلي (على عكس الاختبار اليدوي البحت). لكن مع زيادة عدد حالات الاختبار وال builds تنخفض التكلفة لكل اختبار بالنسبة للاختبار الآلي (automated tests).

التعايش – الاختبار اليدوي والآلي في نفس خطة الاختبار

قد يكون هذا هو الوقت المناسب لإضافة اختبارات آلية إلى خطة الاختبار (test plan) الخاصة بك. تتمثل الخطوة الأولى في هذا الاتجاه في إدراك أنه لا يمكن تنفيذ أي خطة اختبار بالكامل بالطُرُق الآلية. يتمثّل التحدّي في تحديد عناصر خطة الاختبار التي تنتمي إلى الاختبار اليدوي (manual testing) وأي العناصر يتم تقديمها بشكل أفضل في الاختبار الآلي. أيضًا يجب أن تكون توقعاتنا واقعية. الأتمتة لايمكنها أن تفعل كل شيء. كذلك لاينبغي لك أتمتة كل شيء وحتمًا البشر هم أذكى من الآلات.

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

كيفية اختيار عناصر خطة الاختبار للأتمتة

قرّرنا أتمتة 20٪ من حالات الاختبار لدينا وهو أمر رائع! هناك مشكلة واحدة فقط وهي أن 20٪ تعني 20٪ من حالات الاختبار الخاصة بك. لكن قد تسأل أي 20٪؟

ماذا عن 20٪ من حالات الاختبار المستخدمة في أغلب الأحيان والتي لها أكبر تأثير على رضا العملاء وكذلك تستهلك حوالي 70٪ من وقت فريق الاختبار؟ 20٪ من حالات الاختبار ستقلل من وقت الاختبار الإجمالي وتحرّر الفريق للقيام بمهام أخرى. قد يكون هذا مكان جيد للبدء. حالات الاختبار هذه هي التي تخصّص لها ساعات عديدة لتنفيذها كل يوم ومع كل إصدار من النظام. قد تكون حالات الاختبار هذه مملّة ولكنها ضرورية للغاية لأن معظم العملاء يستخدمون هذه المسارات التي يتم اختبارها لإكمال المهام بنجاح من خلال النظام.

ما الذي يمكن أن تعنيه 20٪ من أتمتة الاختبار لنجاح عملية الاختبار؟

دعونا ننظر إلى ماتمثّله ال 20٪ فيما يتعلق بمسألتين: تكلفة الاختبار (الأفراد بشكل أساسي) والقدرة على الوفاء بجداول الاختبار المحدّدة مسبقًا. ما الذي يمكن لفريق الاختبار الخاص بك إنجازه في يوم عمل مدته 8 ساعات؟ ما هو التأثير الذي يتحقق من خلال أتمتة مجموعة من حالات الاختبار التي تقلّل من وقت الاختبار: إكمال هذه المجموعة من حالات الاختبار في 4 أيام عمل بدلاً من 5 (نظرًا لأن 20٪ من حالات الاختبار الخاصة بك مؤتمتة الآن).

إذا كان متوسط راتب المختبِر 60 ألف دولار في السنة، فإن تكلفة 8 ساعات في اليوم تبلغ 230 دولارًا تقريبًا. يمكن أن يوفّر استخدام أداة أتمتة لمدة عام 52 يومًا لمختبِر واحد أي ما يعادل 11960 دولارًا أمريكيًا في الراتب. زيادة الإنتاجية بهذا المعدّل لفريق من خمسة أشخاص يوفر 59800 دولارًا سنويًا. من خلال التشغيل الآلي للاختبارات في هذا المستوى الأدنى، فإنك تحقّق نفس النتائج كما تفعل بإضافة مختبر إضافي واحد إلى فريق العمل لديك. لايعني هذا تقليل عدد الفريق بواحد ولكن يعني هذا أن بإمكان واحد من أعضاء فريق الاختبار القيام بالاختبارات بشكل أعمق وأشمل خصوصًا حالات الاختبار التي لا يمكن تنفيذها باستخدام الأتمتة. أيضًا يعني أن لديك عضو فريق قادر على العثور على الأخطاء التي عادة ما يجدها عملاؤك بعد إطلاق النظام والتي تكون عندها تكلفة تصحيح الأخطاء هي الأعلى ويكون الضرر الذي يلحق برضا العملاء وصورة علامتك التجارية أكبر. كذلك ستؤدي القدرة على تنفيذ أكثر حالات الاختبار أهمية وتكرارًا واستهلاكًا للوقت بسرعة إلى إبقاء فريق الاختبار الخاص بك في المقدّمة حتى مع التغييرات في تطوير التطبيقات والتي تؤثّر من خلال الضغط على الجداول الزمنية للاختبار بشكل أكبر.

ما هي الأدوات (Tools) التي يجب أن أستخدمها؟

من الواضح أن الإجابة الأولى هي اختيار أداة يمكنها أتمتة التكنولوجيا المحدّدة التي تختبرها وإلا فإن الأتمتة لديك محكوم عليها بالفشل. ثانيًا يجب عليك اختيار أداة لها بعض الخصائص التالية:

  • بيئة تطوير مدمجة جيدة (IDE) تجعل من السهل على مهندسي الأتمتة كتابة الاختبارات وإجراء التغييرات والعثور على المشكلات والقدرة على نشر الاختبارات في جميع البيئات التي تحتاج إلى اختبارها.
  • أداة مدعومة جيدًا من قبل الشركة المصنّعة ومواكِبة لمتصفحات الويب الجديدة وأنظمة التشغيل والتقنيات التي ستحتاج إلى اختبارها في المستقبل.
  • دعم الاختبار المستنِد إلى البيانات (data-driven testing) حيث أن إحدى الفوائد الكبيرة للأتمتة هي القدرة على إجراء نفس الاختبار آلاف المرات بمجموعات مختلفة من البيانات.

أيًا كانت الأداة/الأدوات التي تختار استخدامها، تأكّد من أن المختبرين يمكنهم تجربتها لمدة 30 يومًا على الأقل في مشروع حقيقي للتأكّد من أن الأداة/الأدوات ستكون مناسبة لفريقك والتطبيقات التي تختبرها.

ماذا عن الاختبار اليدوي؟

بالنسبة للاختبارات المتبقية وهي 70-80٪ من الاختبارات التي ستحتاج إلى إجرائها يدويًا، كيف يمكنك تقليل الوقت الذي تستغرقه لكتابة هذه الاختبارات وتنفيذها؟ حسنًا هنالك بعض الخيارات التي يمكن أن تجعل هذا أسهل. مثال: بدلاً من الاضطرار إلى كتابة حالات الاختبار يدويًا في MS-Excel أو MS-Word خطوة بخطوة، يمكنك استخدام التكنولوجيا وقوة الأتمتة لمساعدتك. بالطبع لن تكتب الأداة أبدًا حالة اختبار مثالية. لذلك ستحتاج إلى إجراء بعض التعديلات ولكنها ستوفر 95٪ من الوقت المستغرق في كتابة حالة الاختبار.

بالتوفيق للجميع…

* المصدر: https://www.softwaretestingmagazine.com/knowledge/integrate-manual-and-automated-testing-in-a-test-plan

** الصورة من موقع: https://softteco.com

لا توجد تعليقات

شاركني رأيك