العصر الثالث لاختبار البرمجيات — من الـ Manual إلى الـ Vibe Testing
مرّينا بعصرين: اليدوي، ثم الأتمتة اللي خوّفت الكل. وهسا بدأ الثالث — الاختبار بالـ Agents. كيف بيتغيّر شغلك، وشو لازم تتعلم من هسا.
اختبار البرمجيات مرّ بعصرين، وهسا بدأ الثالث.
وفي كل مرة طلع حدا يقول «هذه رح تلغي المختبِر». وفي كل مرة، اللي انلغى مش المختبِر — انلغى نوع معيّن من الشغل. واللي ما طوّر حاله، راح مع النوع القديم.
العصر الأول: الاختبار اليدوي
كل شيء كان باليد. تقرأ المتطلب، تكتب حالات الاختبار، تفتح التطبيق، وتجرّب خطوة خطوة. قيمة المختبِر كانت في عينه الناقدة وصبره: يلاحظ التفصيل الصغير اللي مرّ على الكل.
وكانت المشكلة واضحة: كل مرة يصير تعديل، لازم ترجع تعيد نفس الفحوصات من الصفر. الـ Regression كان بياكل الوقت كله.
العصر الثاني: الأتمتة، والخوف الأول
إجت الأتمتة، ومعها طلعت الجملة اللي سمعناها كثير: «الأتمتة رح تلغي المختبِرين».
ما صار هيك. اللي صار إنه تغيّرت المهارات المطلوبة، وصار لازم المختبِر يتعلم أشياء ما كانت من شغله قبل:
- البرمجة — Java أو JavaScript أو Python، على الأقل لحد ما تكتب اختبار وتصونه
- تصميم الأطر — Page Object Model، وكيف تبني إطار ما بينهار بعد ٣٠٠ اختبار
- الـ CI/CD — إنه الاختبارات تدور لحالها على كل Pull Request، مش على جهازك
- Shift Left — إنك تدخل من أول المشروع، لا تنتظر لحد ما يخلص التطوير
واللي استثمر وقته وتعلّم هذه الأشياء، ترقّى وصار عموده الفقري بالفريق. واللي ضل يقول «أنا مختبِر يدوي وبس»، ما انطرد فجأة — بالعكس، خفّ الطلب عليه بالتدريج لحد ما اختفى. هذه النقطة مهمة، لأنه نفس النمط رح يتكرر.
العصر الثالث: Vibe Testing
هسا وصلنا للعصر اللي بحب أسمّيه Vibe Testing: إنك تشتغل مع Agents تضاعف إنتاجيتك أضعاف مضاعفة، مش إنك تكتب كل سطر بنفسك.
وخلينا نكون دقيقين: الـ Agent مش نموذج بيحكي معك. هو نموذج موصول بأدواتك، بيشتغل بحلقة لحد ما تخلص المهمة. والفرق بيبان لما توصله بأنظمتك الحقيقية.
١. يفهم المتطلب معك — مش بدالك
وصّل الـ Agent بالـ Jira. بيقرأ الـ Story، بيحلّلها، وخلال ثواني بيرجعلك بـ:
- نقاط الخطورة — وين هذا التغيير ممكن يكسر شيء
- نقاط الـ Regression — شو لازم تعيد فحصه بسبب هذا التغيير
- معايير القبول الناقصة أو الغامضة
- الأسئلة اللي لازم تسألها بالـ Refinement قبل ما يبلّش التطوير
٢. وصّله بالكود كمان — هون بيصير الفرق حقيقي
لما يصير عنده الـ Jira والـ GitHub مع بعض، بيقفز لمستوى ثاني تماماً. لأنه هسا ما عاد يشتغل على المنطق النظري اللي بالـ Story — صار يشوف كيف انبنى الشيء فعلاً.
بيقارن الوصف بالتنفيذ، وبيفهم منطق العمل من الكود نفسه، وبيقولك وين ممكن يصير الخلل: حالات حدّية ما حدا فكّر فيها، ومسارات ما انغطّت، وحالات اختبار حرجة تستاهل وقتك.
٣. علّمه أسلوبك إنت
هذه أكثر نقطة الناس بتستهين فيها. الـ Agent تقدر تعلّمه:
- شكل حالات الاختبار اللي بتكتبها عندك
- أسلوبك بكتابة الأتمتة، وكيف بتصمّم الإطار
- شكل الـ Pipeline وكيف بتدور الاختبارات
- طريقة شغلكم كفريق
وبعدها — مع وصوله للـ Jira والكود — بيبني الأتمتة وينفّذها، وبيفتح بيئة الاختبار ويشتغل عليها بأدوات زي Playwright CLI. مش بيقترح عليك كود تنسخه؛ بيشتغل.
٤. وصّله بالـ Logs — وهون بتشوف السحر
هذا المثال لحاله بيستاهل العصر كله. خلي عنده وصول لأداة المراقبة عندك (Dynatrace أو أي أداة Logging بتستعملوها)، وبعدين اعطيه جملة وحدة:
«هذا الـ User ID واجه مشكلة، ما قدر يضيف المنتج للسلة. شوف شو صار.»
شو بيعمل؟ بيدخل على الـ Logs، وبيدوّر على المستخدم، وبيتتبّع كل الـ API Calls عبر كل الخدمات، وبيفحص الكود ليفهم المنطق، وبيرجع للـ Stories بالـ Jira ليعرف المفروض شو يصير — وخلال ثواني بيقولك وين بالضبط صار الخلل وليش، ويقترح عليك الحل.
الشغل هذا كان بياخد منك نص يوم، وبين ثلاث فرق.
نفس القصة، للمرة الثالثة
بالعصر الثاني، اللي تعلّم البرمجة والـ CI/CD صار أقوى. واللي ما تعلّم، خفّ الطلب عليه بهدوء لحد ما اختفى.
هسا نفس اللحظة بالضبط. والـ Agents مش رح تلغي المختبِرين — لكن المختبِر اللي بيعرف يشغّلها رح يعمل شغل عشرة، واللي بيتجاهلها رح يلاقي حاله بيتنافس مع حدا بيخلّص بيوم شغل أسبوع.
وفي حدا رح يقول: «طيب إذا الـ Agent بيكتب حالات الاختبار وبيبني الأتمتة، شو ضل إلي؟» نفس السؤال بالضبط انسأل سنة ٢٠١٥ عن الأتمتة. والجواب هو هو: الأداة بتاخد التنفيذ، وبتترك لك الحكم. الـ Agent بيقدر يقترح خمسين حالة اختبار بدقيقة — بس من بيقرر أي عشرة فيهم بتستاهل الوقت؟ ومن بيعرف إنه هذه الشاشة بالذات بتشوفها إدارة العميل كل صباح، فخلل بسيط فيها أخطر من خلل كبير بمكان ثاني؟ هذا إنت، مش هو.
دورك بالمستقبل
الجزء الحلو: الدور الجديد أهم من القديم، مش أقل منه.
| دورك | شو يعني عملياً |
|---|---|
| بناء قاعدة المعرفة | توثّق منطق العمل، وقرارات الفريق، وأسلوب الاختبار — هذا اللي بيخلّي الـ Agent يفهم منتجكم إنتو، مش منتج عام |
| ربط الأدوات وبناء المهارات | توصل الـ Jira والكود والـ Logs، وتكتب المهارات اللي بتعلّم الـ Agent كيف تشتغلون |
| تمكين الفريق | تخلّي الفريق كله يشتغل بهذه الطريقة، مش إنت لحالك |
| الـ Refinement والـ Debugging | وهون دورك الأهم على الإطلاق — الحكم النهائي، والأسئلة الصح، وفهم الخلل لما يصير |
وليش الـ Debugging بالذات صار الأهم؟ لأنه لما يصير الـ Agent يعمل شغل أسرع بعشر مرات، الأخطاء كمان بتطلع أسرع بعشر مرات. وقتها القيمة كلها بتنتقل لواحد يعرف يقرأ النتيجة ويحكم عليها: هذا خلل حقيقي، ولا الـ Agent فهم المتطلب غلط؟ الحكم هذا ما بينوّب عنه حدا.
لاحظ شو انتقل: من تنفيذ الاختبار، إلى تصميم النظام اللي بينفّذ الاختبار. وهذا شغل أصعب وأثمن، لأنه بيحتاج شيء الـ Agent ما بيملكه — إنك تعرف منتجكم، ومستخدميكم، وشو معناه إنه الشيء «يشتغل صح» عندكم بالذات.
كن جاهز للعصر الجديد
ما لازم تقلب مهندس ذكاء اصطناعي. ابدأ بأصغر شيء: خُد مهمة اختبار بتعملها كل أسبوع، واكتبها خطوة خطوة زي ما بتشرحها لموظف جديد — هذه أول مهارة عند الـ Agent عندك. وبعدها افتحله باب واحد: الـ Jira أولاً، وبعدين الكود.
اللي استثمر بالأتمتة سنة ٢٠١٥ ما ندم. وهذه نفس اللحظة.
