CodeShot
Seniorسختی 3 از ۵· در 58٪ مصاحبه‌های این حوزه پرسیده شده

Code Coverage چیست و آیا ۱۰۰٪ همیشه هدف خوبی است؟

نشان کردن

پاسخ کوتاه

درصدی از خطوط/شاخه‌های کد که حداقل یک‌بار توسط تست‌ها اجرا شده‌اند؛ ۱۰۰٪ همیشه هدف مناسبی نیست چون فقط اجرا شدن خط را نشان می‌دهد، نه درستی منطقی آن را.

پاسخ کامل

می‌توان یک تست نوشت که یک متد را صدا می‌زند بدون هیچ Assert معناداری و Coverage صد درصد گرفت، در حالی که هیچ باگی کشف نمی‌شود. تمرکز باید روی تست کردن سناریوهای رفتاری مهم (مسیرهای موفق، خطا، Edge Case) باشد، نه فقط عدد Coverage.

نکته مهم

ابزارهایی مثل Coverlet در .NET برای اندازه‌گیری Code Coverage استفاده می‌شوند.

اشتباه رایج

❌ تعیین ۱۰۰٪ Coverage به‌عنوان یک قانون سخت‌گیرانهٔ تیمی بدون توجه به کیفیت Assertها.