تست خودکار برنامه‌های جاوا: Code Coverage: اندازه‌گیری پوشش تست - کوییز

Code Coverage: اندازه‌گیری پوشش تست

کدام معیار اصلی برای اندازه گیری کد کاوریج در تست خودکار برنامه های جاوا استفاده می شود؟
  1. خطوط کد اجرا شده
  2. تعداد کلاس های پوشش داده شده
  3. تعداد متد ها یا دستورات پوشش داده شده
  4. تعداد تست هایی که اجرا شده اند

گزینه صحیح: 1

توضیح: خطوط کد اجرا شده (Line Coverage) یکی از معیار های اصلی است که نشان می دهد چه درصدی از خطوط کد برنامه توسط تست ها اجرا شده اند.

هدف اصلی افزایش کد کاوریج در تست خودکار چیست؟
  1. افزایش سرعت اجرای تست ها
  2. کاهش پیچیدگی کد
  3. افزایش اطمینان از صحت عملکرد برنامه و کشف باگ های احتمالی
  4. کاهش حجم کد برنامه

گزینه صحیح: 3

توضیح: هدف اصلی کد کاوریج بالا، اطمینان از این است که بخش های زیادی از کد برنامه توسط تست ها پوشش داده شده اند، که این امر به کشف بیشتر باگ ها و افزایش اطمینان از صحت عملکرد کمک می کند.

کدام نوع کد کاوریج، پوشش دادن تمام دستورات (statements) در کد را اندازه گیری می کند؟
  1. Branch Coverage
  2. Statement Coverage
  3. Method Coverage
  4. Class Coverage

گزینه صحیح: 2

توضیح: Statement Coverage معیاری است که نشان می دهد چه درصدی از دستورات (statements) قابل اجرا در کد، توسط تست ها اجرا شده اند.

فرض کنید یک شرط if در کد جاوا داریم. کدام معیار کاوریج اطمینان حاصل می کند که هم مسیر true و هم مسیر false شرط، حداقل یک بار توسط تست ها اجرا شده اند؟
  1. Statement Coverage
  2. Line Coverage
  3. Branch Coverage
  4. Condition Coverage

گزینه صحیح: 3

توضیح: Branch Coverage (یا Decision Coverage) بررسی می کند که تمام شاخه های ممکن یک شرط (مانند true و false در یک if) توسط تست ها پوشش داده شده باشند.

کدام یک از موارد زیر، یکی از محدودیت های کد کاوریج نیست؟
  1. کد کاوریج بالا لزوماً به معنای کد بدون باگ نیست.
  2. کد کاوریج بالا همیشه به معنای کیفیت بالای تست ها است.
  3. کد کاوریج بالا ممکن است منجر به نوشتن تست های غیرضروری شود.
  4. کد کاوریج بالا ممکن است زمان زیادی برای دستیابی بگیرد.

گزینه صحیح: 2

توضیح: کد کاوریج بالا به تنهایی تضمین کننده کیفیت بالای تست ها نیست؛ تست ها باید منطق درستی را نیز پوشش دهند و نه فقط خطوط کد را.

در زمینه تست خودکار جاوا، ابزار JaCoCo چگونه با IDEهایی مانند IntelliJ IDEA یا Eclipse ادغام می شود؟
  1. از طریق پلاگین های اختصاصی
  2. تن ها از طریق خط فر مان
  3. با استفاده از ابزار های CI/CD مانند Jenkins
  4. هیچ ادغامی وجود ندارد و فقط به صورت مستقل کار می کند.

گزینه صحیح: 1

توضیح: JaCoCo از طریق پلاگین های مخصوص IDEها مانند IntelliJ IDEA و Eclipse به راحتی قابل ادغام است تا امکان مشاهده نتایج کاوریج را به صورت مستقیم فراهم کند.

اگر هدف ما اطمینان از اجرای تمام متد های کلاس باشد، کدام معیار کاوریج مناسب تر است؟
  1. Line Coverage
  2. Statement Coverage
  3. Method Coverage
  4. Branch Coverage

گزینه صحیح: 3

توضیح: Method Coverage نشان می دهد که چه درصدی از متد های کلاس توسط تست ها فراخوانی شده اند. این معیار برای اطمینان از فراخوانی شدن تمام متد ها مفید است.

کدام ابزار یا تکنیک در جاوا برای اجرای تست ها و تولید گزارش کد کاوریج به صورت معمول استفاده نمی شود؟
  1. Maven Surefire Plugin
  2. Gradle Test Task
  3. JUnit Runner
  4. Reflection API

گزینه صحیح: 4

توضیح: Reflection API در جاوا برای دسترسی و بررسی متادیتای کلاس ها و اشیاء در زمان اجرا استفاده می شود و مستقیماً ابزار اجرای تست یا تولید گزارش کاوریج نیست.

چه زمانی ممکن است دستیابی به 100% کد کاوریج منطقی نباشد؟
  1. زمانی که کد بسیار ساده و بدون منطق پیچیده باشد.
  2. زمانی که کد مربوط به ورودی های کاربر باشد.
  3. زمانی که کد مربوط به رابط کاربری (UI) باشد و تست های UI به طور کامل آن را پوشش دهند.
  4. زمانی که کد مربوط به کتاب خانه های استاندارد جاوا باشد.

گزینه صحیح: 1

توضیح: گاهی اوقات، تلاش برای پوشش دادن 100% کد، به خصوص در بخش های بسیار ساده یا تکراری، ممکن است صرفه اقتصادی نداشته باشد و زمان بیشتری را صرف نوشتن تست های کم ارزش کند. در چنین مواردی، هدف گذاری روی درصد قابل قبولی (مثلاً 80-90%) منطقی تر است.

منبع آموزشی این مطلب

این مطلب برگرفته از محصول آموزشی «راهنمای جامع تست جاوا با JUnit 5 و Mockito» است

برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.

اطلاعات بیشتر و دریافت محصول