+2 امتیاز
قبل در برنامه نویسی توسط (130 امتیاز)
ویرایش شده قبل توسط
مفهوم Branch Coverage و Path Coverage در تست نرم‌افزار چی هست و چه تفاوتی با یکدیگر دارند؟

1 پاسخ

+2 امتیاز
قبل توسط (1.4هزار امتیاز)
ویرایش شده قبل توسط
 
بهترین پاسخ

Branch Coverage: آیا هر شاخه (branch) موجود در هر ساختار کنترلی (control structure)، مانند if، در مجموعه آزمون مورد نظر، اجرا شده است یا خیر؟ یعنی اگر عبارت if ای داشته باشیم، باید با اجرای مجموعه آزمون مورد نظر، هر یک از حالتهای (شاخه) true و false آن، حداقل یک بار، اجرا شوند.

Path Coverage: آیا تمام مسیرهای ممکن در برنامه اجرا شده است یا خیر؟ تمام مسیرهای ممکن در برنامه: تمام شاخه های موجود در تمام ساختارهای کنترلی، فراخوانی ها (call) و بازگشت های (return) توابع و ... . بدیهتا Path Coverage ِ کامل برای یک ماژول نسبتا بزرگ، غیرعملی است (مثلا در صورت داشتن حلقه، تعداد مسیرها ممکن است بی نهایت شود؛ و با افزایش تعداد دستورات کنترلی موجود، تعداد مسیرهای ممکن با مرتبه نمایی رشد میکند). (راه حل: استفاده از Prime Path Coverage)

بنابراین در Branch Coverage فقط به دستورهای کنترلی کار داریم ولی در Path Coverage به تمام مسیرهای ممکن (Branch Coverage زیرمجموعه ای از Path Coverage است؛ یعنی مجموعه آزمونی که Path Coverage کنند، حتما Branch Coverage نیز خواهند کرد).

 

سوالات مشابه

0 امتیاز
0 پاسخ 886 بازدید
+1 امتیاز
1 پاسخ 446 بازدید
0 امتیاز
1 پاسخ 215 بازدید
0 امتیاز
0 پاسخ 934 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mp (7.0هزار امتیاز)
+1 امتیاز
1 پاسخ 1.8هزار بازدید
0 امتیاز
1 پاسخ 2.2هزار بازدید
+2 امتیاز
2 پاسخ 663 بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 397 بازدید
...