تغطية الكود وتغطية الاختبار (Code Coverage and Test Coverage)
في اختبار البرمجيات، دائمًا ما نسمع مصطلح تغطية الكود ومصطلح تغطية الاختبار. دعونا نتعرّف في هذا الموضوع على جوانب متعلّقة بهذين المصطلحين من زاوية اختبار البرمجيات والجودة.
- تغطية الكود (Code Coverage) لاتعني جودة الكود حتى يتم ربطها بنسبة نجاح الاختبارات.
- محاولة فريق التطوير تحقيق تغطية أعلى للكود من دون تعلّم ممارسات (practices) جديدة للتطوير سيقودهم إلى محاولة الوصول لهذا الهدف بأسرع طريقة ممكنة وهذا سيؤثر على جودة الاختبارات والكود.
- هنالك فرق مابين تغطية الكود (Code Coverage) وتغطية الاختبار (Test Coverage):
- تغطية الكود: تخبرنا عن أجزاء الكود التي تم تنفيذها أو لم يتم تنفيذها.
- تغطية الاختبار: تخبرنا عن المخاطر التي تم فحصها من وجهة نظر المستخدم.
- فوائد تغطية الكود (Code Coverage):
- التعرّف على الفجوات في اختبار الوحدة (unit test gaps).
- التعرّف على الكود الميّت (dead code).
- تحديد أجزاء الكود التي قد تحتوي على أخطاء (bugs).
- فوائد تغطية الاختبار (Test Coverage):
- يساهم في تعزيز ثقة المنتَج.
- يتم اختبار أي تغييرات على الكود بسرعة.
- يساعد في تحديد أجزاء المنتَج التي لم يتم اختبارها بعد.
- مزايا تغطية الكود (Code Coverage):
- يمكن أن تكون المناقشة بين فريق التطوير وفريق الاختبار موضوعية وشاملة ومبنية على البيانات وبالتالي اتخاذ قرارات حيث نفتقر إلى الجودة:
- اكتشاف أجزاء النظام التي تفتقر إلى التغطية.
- مناقشة من يستطيع تغطية هذه الفجوات (المطورون أم فريق الاختبار).
- يمكن أن تكون المناقشة بين فريق التطوير وفريق الاختبار موضوعية وشاملة ومبنية على البيانات وبالتالي اتخاذ قرارات حيث نفتقر إلى الجودة:
- عيوب تغطية الكود (Code Coverage):
- يمكن أن يكون هنالك تلاعب فيها وذلك من خلال تغطية الكود ولكن عدم الإضافة للجودة أو التحقق من أي شيء.
- أن تكون هي الهدف بحد ذاتها وذلك بدلًا من تعزيز العقلية والممارسات (practices) حول الجودة.
* المصدر: Testμ Conference – How to Measure Code Coverage for Blackbox Tests
** الصورة من موقع: https://www.prnewswire.com/ae
لا توجد تعليقات