المختبر الحاصل على 10 شهادات والذي لم يستطع العثور على خطأ برمجي

لديك كل الشهادات. ISTQB، وScrumMaster، وCloud، وSecurity. سيرتك الذاتية عبارة عن جدار من الاختصارات.

لكنك لا تستطيع كتابة اختبار واحد يكتشف خطأً (bug) حقيقياً.

أجريت مقابلة مع مرشح في الربع الأخير. كان يتحدث بالنظرية فقط. ذكر نموذج V (V-model) ومنهجية shift-left. وعندما طلبت منه أن يريني اختباراً واحداً كتبه وأدى لاكتشاف خطأ، لزم الصمت.

لم يسبق له أن كتب اختباراً تسبب في تعطل شيء ما. كان يكتب فقط الاختبارات التي تنجح (pass).

الشهادات تختبر ذاكرتك. الأخطاء تختبر تفكيرك.

الشهادات توفر لك المفردات والهيكل التنظيمي. وهي تساعدك في اجتياز فحص مسؤولي التوظيف. لكنها لا تعلمك كيفية اكتشاف العيوب.

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

المختبر المعتمد يتبع قائمة مهام (checklist). يكتب الاختبارات بناءً على المتطلبات ويحددها كـ "ناجح" أو "راسب".

أما صائد الأخطاء (bug hunter) فيتعامل مع الاختبار كعملية تحقيق. يبدأ بفرضية، ويحاول إثبات خطأ التطبيق.

انظر إلى الفرق في العقلية.

الاختبار القياسي يتحقق من المسار المثالي (happy path):

  • اذهب إلى المنتجات.
  • أضف إلى السلة.
  • أدخل تفاصيل بطاقة صالحة.
  • توقع تأكيد الطلب.

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

أما اختبار صائد الأخطاء فيتسم بالشك:

  • أدخل رقم بطاقة به خطأ مطبعي.
  • توقع ظهور رسالة خطأ.
  • تأكد من أن تأكيد الطلب لم يظهر على أي حال.

الاختبار الثاني يفترض أن التطبيق سيفشل. هو يسأل: "أين سينكسر هذا؟"

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

توقف عن الدراسة للامتحانات الجديدة. سد هذه الفجوة عبر كتابة اختبارات مصممة للفشل.

جرب هذا التمرين: اختر ميزة واحدة. اقضِ ساعة واحدة في محاولة كسرها.

لميزة البحث:

  • اختبر استعلامات غير مفهومة (gibberish).
  • اختبر رموز حقن SQL (SQL injection).
  • اختبر السلاسل النصية الفارغة.

لرفع الملفات:

  • اختبر ملفات بدون امتدادات.
  • اختبر أحجام ملفات ضخمة.
  • اختبر أسماء ملفات خبيثة.

عملتُ ذات مرة على نظام دفع بنسبة تغطية بلغت 95%. كانت جميع الاختبارات تنجح. ثم، خسر النظام أموالاً في بيئة الإنتاج بسبب خطأ في التقريب. كانت اختباراتنا تغطي "المسار السعيد" (happy path)، لكن لم يفكر أحد في اختبار المنطق الرياضي.

الآن، أبدأ كل اختبار بسؤال واحد: "ما الذي يجب أن يتحقق لكي تفشل هذه الميزة بصمت؟"

لا تبنِ موقعاً لمعرض أعمالك. لا تقم بتحديث حسابك على LinkedIn.

اكتب اختباراً واحداً مصمماً للفشل. إذا نجح، فلديك ضمان للأمان. وإذا فشل، فقد وجدت خطأً (bug).

دوّن ما اختبرته، وكيف اختبرته، وماذا وجدت. هذا هو الدليل الحقيقي على قدرتك على التفكير.

ما هو الاختبار الوحيد الذي ستكتبه هذا الأسبوع لتثبت قدرتك على اكتشاف الأخطاء؟

المصدر: https://dev.to/qawalah/the-tester-who-had-10-certifications-but-couldnt-write-a-single-test-that-caught-a-bug-1c05

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi