🔍 ما هو Ad Hoc Testing؟
هو نوع من أنواع الاختبار
هو نوع من أنواع الـ Dynamic Testing، غير الرسمي (Unstructured)، بيتم بشكل غير رسمي وبدون خطوات مكتوبة مسبقًا.
الهدف منه إن التستر يحاول يكتشف مشاكل بطريقته الخاصة بدون ما يتقيد بخطة أو Test Case معينة.
✅ أحيانًا بنسميه “Monkey Testing” أو “Error Guessing”
✅ بيعتمد على خبرة التستر وحدسه (intuition)
📌 متى نستخدمه؟
-
في آخر لحظات قبل الـ Release
-
لما يكون معنديش وقت أكتب Test Cases
-
لو فيه Feature جديدة ولسه مش موثقة
-
لو عايز أكتشف Bugs ممكن تكون فاتتني في السيناريوهات الرسمية
🧪 إزاي بيتعمل؟
-
التستر يجرب سيناريوهات عشوائية:
-
يضغط أزرار بشكل غير متوقع
-
يدخل بيانات غير منطقية
-
يختبر سلوك النظام في حالات غريبة
-
✅ أهم مميزاته:
-
-
سهل التنفيذ وسريع
-
مفيد في الحالات اللي الوقت فيها محدود
-
ممكن يكشف Bugs فاتت التست الرسمي
-
⚠️ عيوبه:
-
غير قابل للتكرار (مش مبني على خطوات واضحة)
-
صعب يتوثّق
-
مش مناسب كوسيلة اختبار وحيدة
-
ممكن أكتر من تستر يبلغ عن نفس المشكلة
🤔 هل يعتبر بديل للـ Test Case؟
❌ لأ
هو تكميلي ومساعد، مش بديل
يعني ينفع أستخدمه مع الـ Formal Testing، مش بداله
💡 مثال عملي:
في تطبيق Login، تدخل رموز زي @$!%
بدل اسم المستخدم، أو تسيب الحقول فاضية وتضغط Login… وتشوف هل النظام بيتصرف بشكل طبيعي ولا لأ
وفجأة لقيت Crash في التطبيق!
هنا الـ Crash اتكشف من خلال Ad Hoc Test رغم إن كل السيناريوهات الرسمية كانت Pass ✅