+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 پاسخ 1.0هزار بازدید
+1 امتیاز
1 پاسخ 593 بازدید
0 امتیاز
1 پاسخ 325 بازدید
0 امتیاز
0 پاسخ 1.1هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط mp (7.0هزار امتیاز)
+1 امتیاز
1 پاسخ 1.9هزار بازدید
0 امتیاز
1 پاسخ 2.4هزار بازدید
+2 امتیاز
2 پاسخ 790 بازدید
+1 امتیاز
1 پاسخ 1.3هزار بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
0 امتیاز
0 پاسخ 539 بازدید
...