cap18.pdf

‫فصل ‪18‬‬
‫محسن دادگر‬
‫جعفر پارساپناه‬
‫نگاهی گذرا‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ازمون نرم افزار چیست ؟‬
‫چه کسی ان را انجام می دهد ؟‬
‫چرا اهمیت دارد ؟‬
‫مراحل کار کدام است ؟‬
‫محصول کاری چیست ؟‬
‫چگونه مطمئن شویم از عهده کارها بر امده ایم ؟‬
‫‪1‬‬
‫مبانی ازمون نرم افزار‬
‫‪ ‬جمیز بک‪ :‬ازمون پذیری نرم افزار صرفا عبارت است از اینکه یک برنامه کامپیوتری را چقدر اسان می‬
‫توان ازمایش کرد‪.‬‬
‫‪ ‬خصوصیاتی که منجر به ازمون پذیری نرم افزار می گردد‪:‬‬
‫‪ .‬قابلیت مشاهده‬
‫‪ .‬سادگی‬
‫‪ .‬قابلیت کار کردن‬
‫‪ .‬پایداری‬
‫‪ .‬درک پذیری‬
‫‪.‬کنترل پذیری‬
‫‪ .‬تجزیه پذیری‬
‫‪ ‬نظر کینر‪ ،‬فالک و نگوین در مورد ازمون خوب‪:‬‬
‫ازمون خوب با احتمال زیادی خطاها را می یابد‪ ،‬دارای زواید نیست و باید بهترین باشد‪.‬‬
‫‪2‬‬
‫دیدگاه های درونی و بیرونی نسبت به ازمون‬
‫هر محصول مهندسی شده به یکی از دو روش زیر ازموده می شود‪:‬‬
‫‪ ‬دیدگاه درونی یا جعبه سفید‬
‫‪ ‬دیدگاه برونی یا جعبه سیاه‬
‫‪3‬‬
‫ازمون مسیر های پایه‬
‫‪ .1‬نمادگذاری گراف جریان‬
‫جریان کنترل منطقی با استفاده از نماد گذاری‪.‬‬
‫متناظر با هر ساختار ساخت یافته یک نماد گراف جریان وجود دارد‪.‬‬
‫‪4‬‬
‫نمودار گردشی و گراف جریان‬
‫‪5‬‬
‫‪ .2‬مسیر های مستقل برنامه‬
‫مسیر مستقل‪ ،‬هر مسیری از برنامه است یک حداقل یک مجموعه ی جدید از دستورهای پردازش یا یک‬
‫دستور شرطی را معرفی می کند‪.‬‬
‫‪6‬‬
‫پیچیدگی سیکلوماتیک‬
‫‪ ‬تعداد نواحی گراف جریان متناظر با پیچیدگی سیکلوماتیک‬
‫‪ ‬پیچیدگی سیکلوماتیک‪ ،V(G) ،‬برای یک گراف جریان ‪ G‬به دو صورت زیر تعریف می شود‪:‬‬
‫‪V(G)=E-N+2‬‬
‫‪V(G)=P+1‬‬
‫‪7‬‬
‫‪.3‬به دست اوردن موارد ازمون‬
‫‪ ‬استفاده از طراحی یا کد به عنوان یک بستر و‬
‫رسم گراف جریان مربوط‪.‬‬
‫‪ ‬پیچیدگی سیکلوماتیک گراف جریان حاصل‪.‬‬
‫‪ ‬تعیین مجموعه ی پایه برای مسیر های مستقل‬
‫خطی‪.‬‬
‫‪ ‬تهیه موارد ازمونی‪.‬‬
‫‪8‬‬
‫‪ .4‬ماتریس گراف‬
‫یک ماتریس مربعی که اندازه ان برابرتعداد گره های موجود درگراف جریان است‪.‬‬
‫‪9‬‬
‫ازمون ساختار کنترلی‬
‫الف‪ .‬ازمون شرط ها‪ :‬روشی برای طراحی موارد ازمون‬
‫‪ <E2‬عمل گر رابطه ای <‪E1‬‬
‫ب‪ .‬ازمون جریان داده ها‪ :‬مسیر های ازمون یک برنامه طبق موقعیت تعاریف و کاربرد های متغیر ها در‬
‫برنامه انتخاب می شوند‪.‬‬
‫{‬
‫{‬
‫دستور ‪ S‬حاوی تعاریف ‪ X‬است‬
‫دستور ‪ S‬حاوی کاربردی از ‪ X‬است‬
‫‪DEF(S)={X‬‬
‫‪USE(S)={X‬‬
‫‪10‬‬
‫پ‪ .‬ازمون حلقه ها‪:‬‬
‫‪ .1‬حلقه های ساده‬
‫‪ .2‬حلقه های تو در تو‬
‫‪ .3‬حلقه های تسلسلی‬
‫‪ .4‬حلقه های غیر ساخت یافته‬
‫‪11‬‬
‫ازمون جعبه سیاه‬
‫با اجرای تکنیک های جعبه سیاه‪ ،‬مجموعه ای از موارد ازمون به دست می اید که مالک های زیر را‬
‫براورده می کند‪.‬‬
‫‪ .1‬روش های ازمون مبتنی بر گراف‬
‫‪12‬‬
‫‪ .2‬افراز هم ارزی‬
‫ شرط ورودی بازه ای را مشخص کند‬‫ شرط ورودی مقداری مشخص باشد‪.‬‬‫ شرط ورودی نیازمند عضوی از یک مجموعه باشد‪.‬‬‫ شرط ورودی بولی باشد‪.‬‬‫‪ .3‬تحلیل مقادیر مرزی‬
‫‪ .4‬ازمون ارایه های متعامد دامنه‬
‫‪13‬‬
‫ازمون مبتنی بر مدل‬
‫‪ ‬تحلیل یک مدل رفتاری موجود برای نرم افزار یا ایجاد ان‪.‬‬
‫‪ ‬مرور مدل رفتاری و مشخص کردن ورودی های ی که نرم افزار را وادار می سازند تا از حالتی به حالت‬
‫دیگر گذار کند‪.‬‬
‫‪ ‬مرور بر مدل رفتاری و توجه به خروجی قابل انتظار از نرم افزار‪ ،‬هنگامی که از حالتی به حالت دیگر‬
‫گزر کند‪.‬‬
‫‪ ‬اجرای موارد ازمون‪.‬‬
‫‪ ‬نتایج واقعی و مقایسه‪.‬‬
‫‪14‬‬
‫ازمون محیط ها‪ ،‬معماری ها و برنامه های کابردی تخصص یافته‬
‫‪ ‬ازمون واسط گرافیکی کابر‬
‫‪ ‬ازمون معماری های کالینت‪/‬سرور‬
‫‪ ‬ازمون مستندات و تسهیالت راهنما‬
‫‪ ‬ازمون های مربوط به سیستم های بی درنگ‬
‫‪15‬‬
‫الگو های مربوط به ازمون نرم افزار‬
‫ماریک ‪ 3‬مزیتی که الگوها عالوه بر راهنمای مفید در شروع فعالیت های ازمون در اختیار ما قرار میدهد را‬
‫این چنین شرح داده است‪:‬‬
‫‪ .1‬دایره لغات فراهم می کند‪.‬‬
‫‪ .2‬توجه به نیروهای پشت مساله برای درک بهتر‪.‬‬
‫‪ .3‬ترغیب تفکر مبتنی بر تکرار‪.‬‬
‫‪16‬‬
‫موفق باشید‬