ما الذي تتركه لوكيل اختبار البرمجيات الآلي
إنشاء حالات الاختبار انطلاقًا من تغيير. فهو يملك السياق في لحظة كتابة الكود، وهي اللحظة التي تكون فيها التفاصيل أكثر حضورًا.
التشغيل وإعادة التشغيل. عمل آليّ محض، ووجود إنسان في هذه الحلقة لا يضيف سوى التأخير.
فرز حالات الفشل الواضحة. بيئة متوقفة، أو اعتمادية ناقصة، أو هدف يتعذّر الوصول إليه. هذه لا تحتاج إلى حُكم بشري.
كتابة خطوات إعادة إنتاج خلل صادفه. فتُكتب حالة الاختبار والخلل ما يزال بين يديك، بدل أن تُكتب في تذكرة بعد ثلاثة أيام.
ما الذي تحتفظ به
ما الذي يعنيه «الصحيح»
المتطلب الغامض قرارٌ خاص بالمنتج. والوكيل سيختار احتمالًا معقولًا ويثبّته في الاختبارات إلى الأبد.
ما الذي يوقف الإصدار
تحديد حالات الفشل المهمة اليوم يتطلب سياقًا غير موجود في أي وثيقة.
ما إذا كان الفحص صادقًا
اقرأ الخطة. فالوكيل الذي يُطلب منه اللون الأخضر قد يبلغه بأقصر طريق.
الحد الفاصل في جملة واحدة
اترك له قرار كيفية الفحص، واحتفظ لنفسك بقرار ما الذي يجب أن يكون صحيحًا. هذا تقسيم واضح، وينسجم مع ما يجيده كل طرف فعلًا، ويصمد عند التطبيق مع فريق حقيقي.
الضابط الذي يستحق وضعه
ينبغي أن يحدّد كل فحص شيئًا معيّنًا قابلًا للملاحظة، وأن تكون قد رأيته يفشل مرة واحدة على الأقل. الفحص الغامض دعوة للوكيل كي يُرضيه بدل أن يصلح المنتج، وهذا النمط من الفشل صامت بطبيعته.
ما الذي يسوء في الشهر الثاني
تمضي الأسابيع الأولى من العمل بهذه الطريقة على ما يرام، ثم يأتي بعدها تراجع متوقَّع يستحق الاستعداد له.
يكون الوكيل قد أنشأ مئة حالة اختبار. معظمها معقول، ولم يقرأها أحد بالكامل، واثنتان أو ثلاث منها تتحقق من أمر خاطئ بصورة دقيقة يصعب تمييزها. وهذه الحالتان أو الثلاث تفشل الآن كلما تغيّر المنتج تغيّرًا صحيحًا، فيبدأ الناس بالتعامل مع اللون الأحمر بوصفه غامضًا. ومن هنا يبدأ الانزلاق المعروف: إعادة التشغيل، ثم التخطي، ثم التجاهل.
التدخل رخيص إن قمت به وفق جدول منتظم بدل أن يكون ردًّا على أزمة. مرة كل شهر، اقرأ التحققات في كل حالة أُضيفت منذ المراجعة السابقة. لا الخطوات، بل التحققات وحدها. يستغرق ذلك أقل من ساعة عند هذا الحجم، ويلتقط بالضبط تلك الحالات التي كانت ستُضعف الثقة بمجموعة الاختبارات كلها.
طريقة الإعداد
الطرفية
npm install -g @testsprite/testsprite-cli
testsprite setup
الإعداد نفسه متاح في لوحة تحكم TestSprite إن كنت تفضّل ألا تثبّت شيئًا محليًا. أما بقية أوامر CLI فتجدها في مستودع CLI.
اربط المستودع من لوحة التحكم لتبدأ عمليات التشغيل من النشر الذي تنتجه أصلًا، أو أضف خطوة إلى سير عملك الخاص بدلًا من ذلك.
ما الذي تتولّاه TestSprite وما الذي يبقى لك
هي تتولّى «الكيف»: إنشاء حالات الاختبار انطلاقًا من تغيير، وتشغيلها على التطبيق المنشور، وإعادة تشغيلها، وفرز حالات الفشل الآلية. ويثبّت الإعداد مهارة التحقق داخل وكيل البرمجة لديك ليحدث ذلك كله حيث يجري العمل.
وتحتفظ أنت بـ«الماذا»: قراءة الخطة، وتصحيح التحققات التي قد تصدق حتى على منتج معطوب، وتحديد حالات الفشل التي توقف الإصدار. هذا يعادل ساعة في الأسبوع عند الحجم المعتاد، وهو الموضع الذي تدخل فيه معرفتك بالمنتج إلى مجموعة الاختبارات.
وفائدة هذا التقسيم أن حالات إعادة الإنتاج تُكتب والخلل ما يزال بين يديك، لا بعد ثلاثة أيام في تذكرة، وأن تغطية اختبارات الانحدار تنمو مما حدث فعلًا من أعطال لا من تمرين تخطيطي.
هل يمكن للوكيل أن يعمل دون إشراف؟
في التشغيل والفرز الآلي، نعم. أما في تحديد ما يجب أن يكون صحيحًا وما الذي يوقف الإصدار، فالإشراف هو جوهر الأمر لا عبئًا إضافيًا.
كيف نوقف تضخّم الاختبارات؟
راجع حالات الاختبار المُنشأة كما تراجع الكود، واحذف المكرَّر منها. فالكثرة بلا حُكم هي نمط الفشل الرئيسي.
ماذا لو كتب فحصًا لا يمكن أن يفشل؟
هذا شائع بما يكفي للاستعداد له. اكسر الشيء عمدًا وتأكد من أن الفحص يتحوّل إلى الأحمر قبل أن تعتمد عليه.
هل يحتاج إلى صلاحية الوصول إلى المستودع؟
هو يتحقق من التطبيق المنشور عبر واجهته. أما الكود فمتاح أصلًا لوكيل البرمجة لديك.
كيف نقيس ما إذا كان هذا ينجح؟
بالعيوب المتسرِّبة، وبالزمن الفاصل بين الفشل وإصلاحه. أما أعداد الاختبارات فترتفع فورًا ولا تعني الكثير.
هو يقرر الكيف. وأنت تقرر الماذا.
ينبغي أن يتولّى وكيل اختبار البرمجيات الآلي الإنشاء والتشغيل والفرز. واحتفظ لنفسك بمعنى «الصحيح»، وبما الذي يوقف الإصدار، وبما إذا كان الفحص صادقًا. وحدّد في كل فحص شيئًا معيّنًا قابلًا للملاحظة، وتأكد من أنه قادر على الفشل.