الخطأ المفيد يجيب ثلاثة أسئلة: أين فشل؟ ماذا حدث؟ ماذا يمكنني أن أفعل؟ رسالة «Execution failed» لا تجيب شيئًا، بينما Stack trace كامل يربك غير المطور. نحتاج طبقة ترجمة بين الخطأ التقني والقرار التشغيلي.
اربط الخطأ بالخطوة
اذكر اسم Step و Target ووقت الفشل دون أسرار.
صنف السبب
Network، selector، permission، validation، authentication، timeout.
خطوات عملية
- التقط الخطأ.
- صنفه.
- اكتب رسالة بشرية.
- احتفظ بالتفاصيل التقنية.
- اقترح action مناسبًا.
قدم إجراءً آمنًا
Retry عندما يكون آمنًا، Edit step عند selector، Re-authenticate عند auth.
قائمة مراجعة
- لا اقتراح مضلل.
- retry لا يكرر الأثر.
- التفاصيل قابلة للنسخ.
- run ID ظاهر.
- الدعم يستطيع البحث.
اجمع الأخطاء المتشابهة
Dashboard يمكن أن يوضح أن 40 Runs فشلت لنفس السبب بدل معالجة كل واحدة منفردة.
سيناريو تطبيقي قبل الاعتماد
تخيل المهمة تعمل عشرات المرات يوميًا، ويحدث في إحدى المرات timeout بعد خطوة لها أثر خارجي. التصميم الجيد يجب أن يعرف أين توقف وما الذي تم بالفعل. في موضوع «كيف تجعل أخطاء Automation قابلة للفهم والإصلاح»، نفّذ تجربة صغيرة قبل تعميم القرار. ابدأ ب ـ1- التقط الخطأ.، 2- صنفه.، 3- اكتب رسالة بشرية.، ثم سجل النتيجة قبل توسيع النطاق. لا تحاول تحسين كل شيء في أول Run؛ المطلوب أولًا إنشاء حالة مرجعية تستطيع العودة إليها ومقارنتها. عندما تنجح التجربة، كررها مرة ثانية بنفس الشروط للتأكد أن النتيجة لم تكن صدفة أو أثر Cache أو حالة مؤقتة.
كيف تقيس نجاح التجربة؟
راقب نسبة النجاح من أول محاولة، عدد retries، زمن كل خطوة، عدد التدخلات اليدوية، وحالات التكرار أو ال ـloop. هذه المقاييس أهم من مجرد انتهاء Run واحدة بنجاح. حوّل النقاط الموجودة في المقال إلى مؤشرات قابلة للرصد: step ID مفيد للدعم.؛ URL مختصر مفيد.؛ Screenshot قد يوضح السياق.. احتفظ بالقياسات مع timestamp ونسخة التطبيق أو البيئة، لأن مقارنة أرقام من إصدارات أو شروط مختلفة قد تعطي استنتاجًا خاطئًا. وإذا كانت النتيجة رقمية، استخدم أكثر من عينة بدل أفضل أو أسوأ قيمة منفردة.
عند الفشل: ماذا تراجع أولًا؟
عند الفشل، لا تبدأ من أول Workflow تلقائيًا. تحقق من آخر checkpoint والأثر الخارجي، ثم اختر retry أو resume أو manual review وفق حالة مؤكدة. عند التحقيق استخدم هذه القائمة كحد أدنى: لا اقتراح مضلل.؛ retry لا يكرر الأثر.؛ التفاصيل قابلة للنسخ.؛ run ID ظاهر.. سجل ما الذي جربته وما الذي لم يتغير بعد التجربة. هذه المعلومة تمنع الفريق من إعادة نفس المحاولات وتساعد على تحديد ما إذا كان الخطأ في الإعداد أو الأداة أو الشبكة أو بيانات المهمة.
متى تعتمد القرار على نطاق أوسع؟
قرار الاعتماد لا يجب أن يعتمد على أن التجربة «عملت مرة». في «كيف تجعل أخطاء Automation قابلة للفهم والإصلاح» اعتبر الحل جاهزًا عندما تستطيع إعادة نفس السيناريو بنتيجة متقاربة، ويفهم شخص آخر خطوات الاختبار وحدود النتيجة، وتعرف ماذا ستفعل لو فشلت الحالة الطبيعية. لو لم تتحقق هذه الشروط، احتفظ بالحل كتجربة أو إعداد مبدئي ولا تحوله إلى Default لكل الحسابات أو المهام.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…