لماذا يُعدّ «اختبار الذكاء الاصطناعي» تصنيفًا غير مفيد

عادةً ما تُسمّي التصنيفات مشكلة. أما هذا التصنيف فيسمّي تقنية، ولهذا يغطي ثلاث مشكلات لها أعراض مختلفة ومشترون مختلفون وأنماط فشل مختلفة. وقبل مقارنة أي شيء، يجدر أن تقول بصوت مسموع أيها لديك.

النوع الأول: ذكاء اصطناعي يكتب الاختبارات نيابةً عنك

المشكلة التي يحلها: لديك شيفرة بلا اختبارات، وكتابتها يدويًا بطيئة ومملة.

كيف يبدو: توجّهه إلى دالة أو ملف أو مواصفة، فيُنتج شيفرة اختبار يمكنك إيداعها.

أين يتوقف: الاختبارات المولَّدة ترث افتراضات الشيفرة التي وُلِّدت منها. فإذا أساء التنفيذ فهم ما تُعيده نقطة نهاية ما، فسيؤكد الاختبار المولَّد سوء الفهم نفسه وينجح. هذا هو الحد الصامت للفئة بأكملها. التغطية ترتفع، أما الثقة فينبغي ألّا ترتفع، أو على الأقل ليس بقدر ما يوحي به الرقم.

تحتاج إلى هذا إذا: كانت فجوتك في الكمّ. فهناك كمّ كبير من الشيفرة غير المختبَرة ولا أحد لديه وقت.

النوع الثاني: ذكاء اصطناعي يشغّل الاختبارات ويصونها

المشكلة التي يحلها: لديك مجموعة اختبارات بالفعل، وإبقاؤها حيّة مكلف. المحدِّدات تنكسر مع إعادة التصميم، والاختبارات متقلبة، وحصة معتبرة من كل سبرنت تذهب إلى إصلاحها.

كيف يبدو: يتكيّف المشغّل حين تتحرك الواجهة. فالزر الذي تغيّر نصه أو موضعه يظل يُعثر عليه، لأن الخطوة تُفهم بوصفها نيّة لا مسارًا ثابتًا عبر DOM.

أين يتوقف: التكيّف سلاح ذو حدين. فمجموعة اختبارات تصلح نفسها لتلتفّ حول انحدار حقيقي أسوأ من مجموعة تفشل، لأنها تُخفي ما أردت أن تعرفه. والنسخة المفيدة منه تميّز بين تغيّر الواجهة وتغيّر السلوك، ولا تتسامح إلا مع الأول.

تحتاج إلى هذا إذا: كانت فجوتك في الصيانة. فالاختبارات موجودة، وإبقاؤها خضراء هو الضريبة.

النوع الثالث: التحقق من شيفرة كتبها ذكاء اصطناعي

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

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

مع ماذا يقترن: مع اختبارات وحدة محلية سريعة للمنطق، وأداة مخصصة للحِمل. وهذه الطبقة تجيب عن السؤال الذي تعجز عنه الأداتان: هل تعمل الميزة فعلًا في المنتج قيد التشغيل.

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

أي نوع من اختبار الذكاء الاصطناعي تحتاج إليه فعلًا

تشخيص موجز، بالترتيب الذي يستحق أن تسأل به.

إن أجبت بنعم عن هذا

  • «لا نملك اختبارات تقريبًا.»

  • «لدينا اختبارات كثيرة ونصفها أحمر لأسباب لا علاقة لها بمنتجنا.»

  • «الاختبارات خضراء، والإصدارات تنكسر رغم ذلك، ومعظم شيفرتنا تخرج الآن من وكيل.»

فمشكلتك هي

  • الكمّ. النوع الأول.

  • الصيانة. النوع الثاني.

  • الثقة. النوع الثالث.

وشراء النوع الخطأ يبدو هكذا

  • ترتفع التغطية، ولا تنخفض الحوادث.

  • تقلّب أقل، والعيوب المتسرّبة كما هي.

  • لوحة معلومات لا يفتحها أحد، لأنها تقدّم تقريرًا عن مجموعة اختبارات لم يكتبها أحد.

الصف الثالث هو الذي يستحق التوقف عنده. فارتفاع التغطية وانخفاض التقلّب كلاهما سهل القياس، وليس أيٌّ منهما ما أردته فعلًا. ما أردته هو مفاجآت أقل في الإنتاج.

سؤال واحد يفصل الأدوات الجادّة عن العروض التوضيحية

أيًا كان النوع الذي تنظر فيه، اسأل عمّا يحدث عند الفشل.

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

وتتضاعف أهمية هذا حين يكون من يُصلح وكيلًا لا إنسانًا، لأن الوكيل لا يستطيع أن يحدّق في لقطة شاشة فيستنتج النية.

السؤال الثاني: هل يعمل من دونك

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

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

أين نقف نحن، بصراحة

بُني TestSprite للمشكلة الثالثة. فهو يفتح تطبيقك قيد التشغيل، ويستخدمه كما يستخدمه مستخدم حقيقي، ويعيد ما انكسر في حزمة واحدة يستطيع وكيلك البرمجي التصرف بناءً عليها. وهو يولّد الحالات أيضًا، لكن ذلك في خدمة التحقق لا غايةً في ذاته.

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

أي المشكلات الثلاث بُني TestSprite لها

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

وبصورة ملموسة: يفتح تطبيقك قيد التشغيل، ويستخدمه كما يستخدمه شخص حقيقي، ويعيد ما انكسر في حزمة واحدة متسقة مع نفسها يستطيع وكيلك البرمجي التصرف بناءً عليها. والحالات تُولَّد من منتجك وتُنقَّح باللغة الطبيعية، فلا تتوقف التغطية على أن يجد أحدهم فسحة بعد ظهر أحد الأيام. والخطوات نيّات لا محدِّدات، فإعادة تصميم لا تغيّر شيئًا وظيفيًا لا تُحوّل المجموعة إلى الأحمر.

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

هل تستطيع أداة واحدة أن تغطي الثلاثة جميعًا؟

جزئيًا، والتداخل حقيقي. لكن مركز التصميم يظهر. فالمنتج المبني حول توليد شيفرة الاختبار يُحسِّن للتغطية، والمبني حول التحقق يُحسِّن لجودة الحكم. اسأل عمّا يقيس المنتج نفسه به.

هل يحل اختبار الذكاء الاصطناعي محل الـ QA اليدوي؟

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

كيف أعرف أن نجاح اختبارٍ ما يعني شيئًا؟

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

هل مجموعة الاختبارات ذاتية الإصلاح جديرة بالثقة؟

فقط إن كانت تلتئم حول تغيّرات الواجهة وتفشل عند تغيّرات السلوك. اسأل كيف يميّز المنتج بين الاثنين، ولا تقبل «الذكاء الاصطناعي يكتشف ذلك» جوابًا.

من أين يبدأ الفريق الصغير؟

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

النسخة المختصرة

سمِّ مشكلتك قبل أن تقارن الأدوات.

الكمّ والصيانة والثقة ثلاث فجوات مختلفة. حدّد أيها لديك، ثم اسأل أي مرشح سؤالين: كيف يبدو الفشل، وهل تنتهي الجلسة الأولى بفحص يعمل داخل خط أنابيبك.