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

طبعة مترجمة. تظل المعرفات الفنية في شكلها الأصلي.
فكر في تشغيل إصدار توضيحي: يفشل اختبار إتمام الشراء، ويتم تشغيله مرة أخرى، وينجح. لوحة القيادة باللون الأخضر. لا أحد يحقق. الإصدار التالي يكرر هذا النمط. لقد قمت بتقليل عدد لوحات المعلومات الحمراء دون معرفة ما إذا كانت عملية الدفع موثوقة أم لا.
يميز Playwright ثلاث نتائج في دليل إعادة المحاولات: النجاح في المحاولة الأولى، والفشل بعد محاولة فاشلة تليها النجاح، والفشل بعد المحاولات المتاحة. هذه قطع مختلفة من الأدلة. يجب أن تحافظ المجموعة التي تم إنشاؤها على التميز بدلاً من تسطيح كل تمريرة نهائية لتحقيق النجاح. إن الأداة العملية لهذه المقالة هي دفتر أستاذ إعادة المحاولة الذي يظل حتى اللون النهائي للوحة المعلومات.
ما الذي يتغير في الواقع عند إعادة المحاولة
إعادة المحاولة تعطي نفس الاختبار فرصة أخرى للتشغيل. ولا يعمل على إصلاح التحقق الضعيف، أو إصلاح المحدد، أو فصل حسابين يحل كل منهما محل إعدادات الآخر. يتجاهل Playwright عملية فاشلة ويبدأ عملية أخرى. تُظهر الأمثلة الموثقة أن الخطاف beforeAll يعمل مرة أخرى في العامل الجديد. وبالتالي، فإن الإعداد والتنظيف ينتميان إلى حساب التكلفة، وليس فقط الثواني التي يتم قضاؤها داخل جسم الاختبار.
المتصفح الجديد ليس بالضرورة قاعدة بيانات جديدة. إذا أنشأت المحاولة الأولى أمرًا قبل الفشل، فقد تواجه المحاولة التالية هذا الطلب. قم بمراجعة الاختبارات التي تم إنشاؤها بحثًا عن الآثار الجانبية الخارجية وتحديد ما إذا كان من الآمن تكرار عملية التنظيف. إن إعادة محاولة الشراء مقابل الإنتاج ليست تجربة مقبولة؛ استخدام البيانات المرحلية وحساب الاختبار المحدود.
دفتر الأستاذ الذي يجب الاحتفاظ به بجانب CI
لكل اختبار، سجل معرفه الثابت، ونتيجة المحاولة الأولى، والنتيجة النهائية، وعدد المحاولات، ورابط الأدلة، والسبب المشتبه به، والمالك، وتاريخ المراجعة التالية. احتفظ بفشل المحاولة الأولى حتى لو نجحت المحاولة الأخيرة. يمكن لفريق لا يضم مهندس ضمان الجودة مخصصًا تعيين الملكية للمطور الذي يملك التدفق، بدلاً من السماح للأتمتة بإنشاء قائمة انتظار غير مملوكة.
يعد دفتر الأستاذ أيضًا بمثابة سطح مراجعة مفيد للاختبارات المكتوبة بواسطة الوكيل. اطلب من الوكيل صياغة السيناريو، ثم اطلب من أحد الأشخاص التحقق من إعداده وتأكيده وتنظيفه. تعتبر سياسة إعادة المحاولة بمثابة إعداد تشغيل، وليست بديلاً عن تلك المراجعة. تصف الصفحة العامة لـ AnyTest الاستكشاف القائم على عنوان URL ومجموعة مراجعة البشر؛ فهو لا يحدد كيفية اختيار ميزانية إعادة محاولة CI الخاصة بك.
وضع أرقام على العمل المتكرر
استخدم عملية حسابية توضيحية مع افتراضات واضحة. لنفترض أن عشرة اختبارات يحتاج كل منها إلى محاولة إضافية واحدة تستغرق عشرين ثانية، وتضيف إعادة تشغيل الإعداد خمس ثوانٍ لكل محاولة. وهذا يعني عشر مرات خمسة وعشرين ثانية، أو 250 ثانية من أعمال التنفيذ الإضافية. ليس بالضرورة أن يكون التأخير 250 ثانية على مدار الساعة لأن العمال المتوازيين يمكن أن يتداخلوا. سجل كلاً من عمل العداء ووقت التدفق المنقضي إذا كان التمييز مهمًا لفاتورتك أو نافذة الإصدار.
ثم أضف الوقت الذي يقضيه شخص ما في قراءة التقارير غير المستقرة. إذا قام الوكيل بحفظ ساعة من التأليف لكنه ترك ساعة من التحقيق المتكرر، فإن رقم التأليف وحده لا يصف التوفير. بالنسبة لفريق ضمان الجودة الحالي، فإن الهدف هو تقليل تكرار العمل وتوفير المزيد من الوقت لتحليل المخاطر. بالنسبة لفريق صغير ليس لديه ضمان الجودة، فإن الهدف هو التغطية المفيدة التي يمكن للمطور الحفاظ عليها بالفعل.
قاعدة الإصدار التي يمكنك شرحها
ابدأ بإعداد إعادة محاولة صغير ومحدود وفئة غير مستقرة مرئية. قم بتصعيد حالات فشل المحاولة الأولى المتكررة بدلاً من زيادة الحد بصمت. تعتمد العتبة الصحيحة على المنتج ومخاطر الإطلاق؛ لا يوجد عدد عالمي يجعل عملية الدفع غير المستقرة مقبولة. إرفاق صاحب الإصلاح والأدلة قبل قبول الاستثناء.
السؤال قيد المراجعة بسيط: هل أنتجت المحاولة الثانية أدلة جديدة، أم أنها مجرد لون نفضله؟ احتفظ بالمحاولة الفاشلة حتى يتمكن شخص ما من الإجابة.
الأسئلة الشائعة
هل الاختبار الذي ينجح عند إعادة المحاولة هو اختبار ناجح؟
يصنف الكاتب المسرحي فشل المحاولة الأولى تليها إعادة المحاولة الناجحة على أنها غير مستقرة، وليس كمحاولة أولية. حافظ على هذا التمييز في تقارير الإصدار.
كيف ينبغي للفريق قياس تكلفة إعادة المحاولة؟
قم بإحصاء المحاولات الإضافية وتنفيذ الاختبار والإعداد المتكرر ووقت المراجعة. يختلف عمل العداء وتأخير خط الأنابيب على مدار الساعة عندما تتداخل المحاولات.
هل يقوم عمال الكاتب المسرحي الجدد بإعادة ضبط بيانات الخادم؟
لا يقوم العامل والمتصفح البديلان بمسح حالة التطبيق الخارجي تلقائيًا. تصميم الإعداد القابل للتكرار والتنظيف للبيانات المرحلية.