ما هو الاختبار الاستكشافي؟

ما هو الاختبار الاستكشافي؟

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

يُستخدم الاختبار الاستكشافي على نطاق واسع في نماذج Agile ويتعلق بالاكتشاف والتحقيق والتعلم. ويؤكد على الحرية الشخصية ومسؤولية المختبر الفردي.

لماذا الاختبار الاستكشافي؟

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

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

اختبار استكشافي

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

اختبار استكشافي

الاختلافات بين الاختبار الكتابي والاستكشافي

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

تقنيات الاختبار الاستكشافي

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

كيفية تنفيذ الاختبارات الاستكشافية

فيما يلي عملية خطوة بخطوة حول كيفية إجراء الاختبار الاستكشافي والذي يُسمى أيضًا إدارة الاختبار القائمة على الجلسة (دورة SBTM):

الخطوة 1) إنشاء تصنيف الأخطاء (التصنيف)

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

الخطوة 2) ميثاق الاختبار

  • يجب أن يقترح ميثاق الاختبار
    1. ما لاختبار
    2. كيف يمكن اختباره
    3. ما يجب أن ينظر إليه
  • أفكار الاختبار هي نقطة البداية لاختبار الاستكشاف
  • يساعد ميثاق الاختبار في تحديد كيفية استخدام المستخدم النهائي للنظام

الخطوة 3) الوقت Box

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

الخطوة 4) Revعرض النتائج

  • تقييم العيوب
  • التعلم من الاختبار
  • تحليل مناطق التغطية

الخطوة 5) استخلاص المعلومات

  • تجميع نتائج الإخراج
  • قارن النتائج بالميثاق
  • تحقق مما إذا كانت هناك حاجة إلى أي اختبارات إضافية

أفضل ممارسة الاختبار الاستكشافي

أثناء التنفيذ الاستكشافي، يجب القيام بما يلي:

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

من المهم جدًا أخذ مستند ومراقبة ما يلي

  • تغطية الاختبار – ما إذا كنا قد قمنا بتدوين ملاحظات حول تغطية حالات الاختبار وتحسين جودة البرنامج
  • المخاطر - ما هي المخاطر التي يجب تغطيتها وما هي المخاطر المهمة؟
  • سجل تنفيذ الاختبار – التسجيلات الخاصة بتنفيذ الاختبار
  • المشكلات/الاستفسارات - قم بتدوين ملاحظات حول الأسئلة والقضايا المطروحة على النظام

يكتشف الاختبار الاستكشافي الأكثر ذكاءً المزيد من الأخطاء في وقت أقل.

إيجابيات وسلبيات الاختبار الاستكشافي

المزايا

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

    • يعتمد هذا الاختبار بشكل كامل على مهارات الاختبار
    • محدودة بمعرفة المجال للمختبر
    • غير مناسب لوقت التنفيذ الطويل

    تحديات الاختبار الاستكشافي

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

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

    متى نستخدم الاختبارات الاستكشافية؟

    يمكن استخدام الاختبارات الاستكشافية على نطاق واسع عندما

    • فريق الاختبار لديه خبرة في الاختبار
    • التكرار المبكر مطلوب
    • هناك تطبيق حاسم
    • دخل المختبرون الجدد إلى الفريق

    وفي الختام

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