عتبة تغطية الاختبارات
نسبة مئوية دنيا من الكود يجب أن تكون مغطاة بالاختبارات، مفروضة في خطوط CI/CD لضمان أن الكود الجديد لا يقلل تغطية الاختبارات الإجمالية.
التعريف
يتم تكوين عتبات التغطية في أدوات الاختبار (Jest، Istanbul، pytest-cov) وتُفرض في CI. العتبات الشائعة: 80% لمنطق الأعمال الحرج، 60-70% للكود العام. تشمل الأنواع: تغطية الأسطر، تغطية الفروع (كلا مساري if/else)، وتغطية الدوال. يمكن للفرق تعيين عتبات عالمية وعتبات لكل ملف للكود الحرج.
لماذا هو مهم
بدون عتبات مفروضة، تتآكل تغطية الاختبارات مع الوقت عندما يتخطى المطورون الاختبارات تحت ضغط المواعيد النهائية. تظهر الدراسات أن قواعد الكود بتغطية >80% لديها أخطاء إنتاج أقل بـ 50%. عتبات التغطية هي التزام بالجودة.
مثال
مشروع لديه 85% تغطية اختبارات مع عتبة 80%. يرسل مطور PR يضيف 200 سطر غير مختبر، مما يخفض التغطية إلى 78%. يفشل CI في فحص التغطية، مطالباً المطور بإضافة اختبارات قبل الدمج.