آزمون مسیر پایه

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو
مهندسی نرم افزار2
مقاله بعدی:آزمون ساختار کنترل
مقاله قبلی:آزمون جعبه سفید

آزمون مسیر پایه

آزمون مسیر پایه یک تکنیک آزمون جعبه سفید است. این روش ، طراح مورد آزمونی را قادر می سازد تا یک ارزیابی پیچیده منطقی را از طرح رویه داشته و از اين ارزیابی به عنوان راهنمایی برای تعریف مجموعه مقدماتی مسیرهای اجرایی استفاده کند.

این آزمون به دو شکل پیچیدگی چرخشی و ماتریس گراف است.

علائم گراف جریان

از نشانه گذاری ساده تری برای نمایش جریان کنترل استفاده می شود که گراف جریان (یا گراف برنامه) نام دارد.

ساختمانهای ساخت یافته در گراف روند:

Graph1.PNG


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

مناطق محدود شده توسط لبه ها و گره ها را به نام محدوده می نامند. در هنگام شمارش این مناطق حوزه خارج از نمودار را نیز در نظر گرفته و آن را به عنوان یک منطقه یا Region می نامیم.

پیچیدگی چرخشی(سیکلوماتیک)

  • این یک متریک نرم افزاری است که اندازه کمّی پیچیدگی منطقي یک برنامه را مهیا می سازد. ارزش محاسبه شده برای پیچیدگی سیکلوماتیک مشخص کننده تعدادی از مسیر های مستقل در مجموعه مقدماتی برنامه بوده و سرحد بالاتری برای تعدادی از آزمونها را در اختیار ما قرار می دهند که باید به منظور اطمینان از اجرای همه جملات مورد آزمون،حداقل برای یکبار انجام دهند.
  • یک مسیر مستقل هر مسیری در برنامه است که حداقل یک مجموعه جدیدی از حالات پردازشی با وضعیت جدیدی را معرفی می کند.
  • باید در طول حداقل یک لبه ای حرکت کند که قبل از تعریف مسیر،پیمایش نشده باشند.

مجموعه پایه

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

پیچیدگی سیکلوماتیک پایه و اساس در تئوری گراف دارد.

تصاویر روندنما و گراف روند در زیر مشاهده می شود:

Cyclomatic1.PNG

Cyclomatic2.PNG

پیچیدگی سیکلوماتیک به یکی از سه روش زیر محاسبه می شود:

1-تعداد مناطق نمودار جریان که با پیچیدگی سیکلوماتیک ارتباط دارند.

2- پیچیدگی سیکلوماتیک ،V(G)برای گراف جریان G به صورت زیر تعریف شده:

                                          V(G)=E-N+2

در آن E تعداد لبه های نمودار جریان و Nتعداد گره ها می باشد.

3- (V(G برای نمودار جریان (G) به صورت زیر تعریف می شود:

                                           V(G)=P+1

در آن Pتعداد گره های مورد اسناد در نمودار جریان Gاست.

  • مهم تر این که،مقدار (V(G سر حد بالایی را برای تعدادی از مسیرهای مستقل در اختیار ما قرار می دهد که مجموعه مقدماتی را تشکیل می دهند و به طور تلویحی سر حد بالایی در مورد تعداد آزمونهایی که باید طراحی و اجرا شوند تا در بر گرفتن همه جملات برنامه را تضمین کنند نیز به ما می دهد.

دستیابی به موارد آزمون

روش آزمون مسیر ابتدایی را میتوان در طراحی رویه با کد منبع به کار گرفت.

مراحل زیر را میتوان برای نتیجه گیری مجموعه مقدماتی به کار گرفت:

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

ماتریس های گراف

  • روال به دست آوردن نمودار جریان و حتی تعیین مجموعه ای از مسیرهای مقدماتی قابل مکانیزه سازی است.برای تولید یک ابزار نرم افزاری که در آزمون مسیر اولیه ما را یاری کند یک ساختار داده ای به نام ماتریس گراف میتواند كاملا مفید باشد.
  • ماتریس گراف یک ماتریس مربعی است که اندازه اش برابر تعداد گره های روی نمودار جریان است.
  • هر ستون و ردیف با گره ای مشخص مرتبط است و مقادیر ورودی ماتریس با ارتباطات بین گره ها مرتبطند.
  • هر گره در نمودار جریان به وسیله ارقام شناسایی می شود و هر لبه به وسیله حروف .
  • یک مدخل حرفی در ماتریس مرتبط با اتصال میان دو گره به وجود می آید.
  • ماتریس گراف چیزی بیشتر از یک بازنمایی جدولی از گراف جریان نیست.با افزودن یک وزن اتصال به هر مدخل ماتریس، ماتریس گراف یک ابزار دقیق برای ارزیابی ساختار کنترلی برنامه در طول آزمون می شود.
  • در ساده ترین حالت وزن اتصال 1 (یک اتصال ) یا صفر (عدم ارتباط) است.

خصوصیات وزن اتصال:

  1. احتمال اینکه یک لینک(لبه) اجرا شود.
  2. زمان پردازش که در طول پیمایش یک اتصال سپری می شود.
  3. حافظه لازم در طول پیمایش یک اتصال.
  4. منابع لازم در طول پیمایش یک اتصال.