عنوان: اولویت بندی کارآمد موارد تست نرم افزار به کمک شبکه های بیزی
تعداد صفحات :127
فایل ورد و قایل ویرایش
مقدمه
سیستم های
نرم افزاری امروزه با فراگیر شدن در علوم مختلف نقش بسیار مهمی را در برطرف
نمودن نیازها و خواستههای مشتریان ایفا میکنند و همچنین به عنوان یک جزء
اصلی و لاینفک در امور روزمره به حساب میآیند. با گسترش روز افزون تولید
سیستم های نرم افزاری همچنان تقاضا برای تولید سیستم های نرم افزاری جدید
وجود دارد. بحث مهم بعد از تولید نرم افزارها نگهداری و ارتقاء آنها
میباشد. وجود خطا و اشتباه در نرم افزارها میتواند منجر به خسارات زیادی
از قبیل هزینههای مالی، زمانی، فیزیکی وحتی در برخی کاربردهای حساس و
بحرانی مانند کاربردهای پزشکی، کنترل کننده موشک و کنترل کنندههای ترافیک
هوایی خسارت جانی را نیز به بار آورد. از این رو برای اینکه قابلیت
اطمینان را در استفاده از سیستم های نرم اقزاری افزایش دهیم باید نرم افزار
را مورد تست قرار دهیم. تست نرم افزار در توسعه سیستم های نرم افزاری از
جایگاه مهم و با ارزشی برخوردار است. به خصوص در سیستم های نرم افزاری
مقیاس بزرگ و پیچیده امروزی. زیرا فعالیتهای تست هم زمان بر و هم هزینه بر
هستند. نرم افزارها برای اینکه ارتقاء یابند میبایست توسعه داده شوند و
نسبت به نسخههای اولیه رشد و تکامل یابند. یکی از فعالیتهای مهم و هزینه
بر در جهت ارتقاء نرم افزار تست نرم افزار است که انواع متفاوتی از تست
برای بخشهای مختلف و در زمانهای مختلف طراحی و ایجاد شدهاند. تست فرآیندی
است مخرب که محصول نرم افزاری را مورد حمله قرار میدهد تا اینکه خطا بروز
کند. تست نرم افزار شامل تحقیق و بررسی بر روی نرم افزار تولید شده است که
این تحقیق و برسی برای پیدا کردن خطاها انجام میشود. به طور کلی یک سری
از سوال و جوابهایی هستند که نرمافزار را با آن امتحان میکنیم در حالی
که از برنامه انتظار داریم با توجه به ورودیهایی که با استفاده از سوالات
وارد میکنیم، جوابهای صحیحی را به عنوان خروجی به دست دهد. آزمایش
نرمافزار حیطه وسیعی از فعالیتهای مربوط به تولید برنامههای رایانهای
را دربرمیگیرد که از آزمایش کردن کد برنامه توسط برنامهنویس گرفته تا
نشان دادن عملکرد درست یک سیستم اطلاعاتی بزرگ به مشتری. سازمانها یا
شرکتهایی که نرم افزارها را توسعه میدهند، محصولی به نام نرم افزار تولید
میکنند. ولی چه عامل یا عواملی باعث میشوند که یک نرم افزار از نرم
افزار مشابه دیگر متمایز و برجسته شود؟ عوامل متعددی را میتوان نام برد که
باعث این برتری و تمایز شود اما یکی از این عوامل میتواند کیفیت محصول
نهایی باشد که به بازار عرضه خواهد شد. اما برای رسیدن به این نقطه برتری،
باید چگونه عمل کرد و اندیشید؟ یکی از پاسخها به این سوال بدون شک تست
نرم افزار و نحوه انجام آن میتواند باشد.
فهرست رئوس مطالب
فصل اول : مقدمه و کلیات تحقیق
مقدمه. 3
1-1 – یک شیوه استراتژیک برای آزمایش نرم افزار
1-2- اصول آزمایش نرم افزار
1-3- برخی از انواع سطوح تست نرم افزار
1-4- آشنایی با شبکه های بیزی
1-4-1- مقدمه ای بر شبکه های بیزی
1-5- اندازه گیری و متریک
1-6- بیان مسئله
1-7- چالش موجود در تست رگرسیون
1-8- راه حل برای چالش موجود در تست رگرسیون
1-9- توجیه ضرورت انجام طرح
1-10- هدف از اجراء
1-11- نوآوری تحقیق
فصل دوم : ادبیات و پیشینه تحقیق
2-1- پیشینه تحقیق
2-1-1- کارهای مرتبط
2-1-2- بررسی مشکلات موجود در روشهای مطالعه شده قبلی
2-2- تست نرم افزار
2-3- صحت و اعتبار سنجی
2-4- اهداف آزمایش
2-5- اصول آزمایش
2-6- قانون Pareto در فرآیند تست نرم افزار
2-7- چند نمونه از انواع تست
2-8- مراحل انجام تست
2-9- ویژگیهای یک نرمافزار تست پذیر
2-10- ویژگیهای یک تست خوب
2-11- طراحی نمونههای آزمایش
2-11-1 تست جعبه سیاه
2-11-2 تست جعبه سفید
2-11-3 آزمایش ساختارکنترل.
2-11-4 آزمایش واحد
2-11- 5 خطاهای متداول محاسبه که اغلب مشاهده میشوند
2-12- آزمایش یکپارچه سازی
2-13- آزمایش رگرسیون
2-14- متدولوژی های مربوط به تست رگرسیون
2-14-1- اجرای مجدد همه ی تست ها
2-14-2- انتخاب تست رگرسیون
2-14-3- کاهش مجموعه تست
2-14-4- اولویت بندی موارد تست
2-15- اولویت بندی
2-15-1- مقدمه ای بر اولویت بندی
2-15-2 – معیارهای اولویت دهی
2-15-3- اولویت بندی موارد تست
2-16- متریک
2-16-1- مقدمه ای برای متریک
2-17- متریک های تست نرم افزار
2-17-1- خواص متریک ها در شرایط ایده آل
2-18- معیار و متریک در تست نرم افزار
2-18-1- مراحل انجام کاردر فرایند اندازه گیری
2-19- متریک های آزمون
2-20- مزایای استفاده از متریک ها
2-21- شبکه های بیزی
2-21-1- استنتاج با استفاده از توزیع توام کامل
2-21-2- مشکلات استنتاج با توزیع توام کامل و راه حل آن ها
2-21-3- مثالی از شبکه های بیزی
2-22- مفاهیم شبکه های بیزی
2-22-1- نمایش توزیع توام کامل
2-22-2- رابطه های استقلال شرطی در شبکه های بیزی
2-22-3- نمایش کارآمد توزیع های شرطی
2-23- یادگیری شبکه های بیزی
2-24- استنتاج دقیق در شبکه های بیزی
2-25- استنتاج بوسیله محاسبه تک تک عناصر احتمالی
2-26- الگوریتم حذف متغیر
2-27- استنتاج تقریبی در شبکه های بیزی
2-28- روشهای نمونهگیری مستقیم
2-28-1- نمونه گیری با رد کردن
2-28-2- نمونه گیری وزن دار
2-28-3- نمونه گیری زنجیره مارکوفی
2-28-4- جمع بندی شبکههای بیزی
2-29- تحولات انجام شده تا کنون
فصل سوم : روش تحقیق
-3 انگیزه و هدف ما از ارائه این رویکرد
3-1- رویکرد پیشنهادی
3-1-1- روند کلی در رویکرد پیشنهادی
3-2- محاسبه و استخراج شاخصها برای ماژولها
3-3 – معیارهای رویکرد پیشنهادی
3-3-1- اهمیت هر ماژول
3-3-2- احتمال ابتلا به خطای ماژول
3-3-3- اثرگذاری خطای ماژول بر دیگر ماژولها
3-3-4- شدت خطای هر ماژول
3-4- شاخصهای وزن دهی به ماژول ها
3-5- ساخت شبکه بیزی
3-6- ایجاد ساختار گراف
3-7- محاسبه جداول احتمال شرطی
3-8- تبدیل اندازهی کیفی صفت ها به مقادیرکمی
3-9-روش اول برای صفت های سه حالته
3-9-1- مثالی از روش اول برای صفت های سه حالته
3-10- روش دوم برای صفتهای سه حالته
3-10-1- مثالی از روش دوم برای صفت های سه حالته
3-11- تبدیل اندازهی کیفی صفت های غیرهم وزن به مقادیرکمی
3-11-1- مثالی از روش تبدیل اندازهی کیفی صفت های غیرهم وزن به مقادیرکمی
3-12- پیاده سازی مدل تست کارآمد نرم افزار با استفاده از نرم افزار Netica
3-13- پرکردن جدول احتمال شرطی با استفاده از کد نویسی
3-14- نمونه هایی از جداول احتمال شرطی فاکتورهای تست و کارآمدی اولویت بندی
3-15- پیاده سازی رویکرد پیشنهادی در مثال واقعی
فصل چهارم : محاسبات و یافته های تحقیق
– 4 1- ارزیابی مدل پیشنهادی
2-4 – متریک (APFD)
4-3- اولویت بندی با کمک تکنیک شبکه های بییزی
4-4- اولویت بندی با تکنیک اصلی
4-5- اولویت بندی با تکنیک تصادفی
4-6- مقایسه روش های اولویت بندی با روش پیشنهادی
فصل پنجم : نتیجه گیری و پیشنهادات
1-5 نتیجه گیری
2-5 پیشنهادات آینده
پیوست الف: واژه نامه ی فارسی به انگلیسی
پیوست ب: واژه نامه ی انگلیسی به فارسی
منابع و ماخذ
فهرست جداول
جدول2-1: توزیع یک قلمرو ساده
جدول2-2 : سیر تحولات در مورد اولویت بندی موارد تست
جدول3-1 : سیستمی ساده شامل 10 ماژول و 10 مورد تست
جدول3-2 : سطح شدت خطای هر ماژول
جدول3-3 : تعداد سطرهای جدول احتمال شرطی فاکتورهای تست
جدول3-4 : انتساب مقدار عددی به اندازههای کیفی در صفتهای سه حالته
جدول3-5 : بازههای تبدیل میانگین به اندازههای کیفی در صفتهای سه حالته
جدول3-6 : نمونه سطری از جدول احتمال شرطی فاکتوراحتمال ابتلا به خطای ماژول، سه حالته
جدول3-7 : سطری از جدول احتمال شرطی احتمال ابتلا به خطای ماژول با سه ویژگی فرعی
جدول3-8 : نمونه سطری از جدول احتمال شرطی فاکتوراحتمال ابتلا به خطای ماژول، سه حالته
جدول3-9 : اندازه درصد احتمال حالتها در فاکتورها بدون مشاهده ویژگیهای فرعی، سه حالته
جدول 3-10: اندازه ویژگیهای فرعی در یک پروژه نرم افزاری نمونه
جدول4-1: تعداد خطای شناسایی شده توسط موارد تست با توجه به زمان کل هر مورد تست
جدول4-2 : نتایج ارزیابی از نسخه های مختلف برنامه تحت تست
جدول4-3 : تکنیک های اولویت بندی استفاده شده در این ارزیابی
فهرست تصاویر و نمودار
شکل2-1:گراف متریک های کلی نرم افزار
شکل2-2 : شبکه بیزی قلمرو دستگاه آژیر
شکل3-2 : ارائه مفاهیم ساختاری به دو صورت معمول
شکل4-2 : جواب به درخواست با محاسبه عبارت بهینهتر
شکل5-2 : الگوریتم حذف متغیر
شکل6-2 : الگوریتم نمونهگیری با رد کردن
شکل7-2 : الگوریتم نمونهگیری وزندار
شکل8-2 : الگوریتم نمونهگیری وزندار
شکل3-1 : ماژول های یک سیستم ساده نرم افزاری
شکل3-2 : یک پیاده سازی عمومی برای چارچوب مبتنی بر شبکه های بیزی
شکل3-3 : گراف شبکه بیزی تست کارآمد نرم افزار
شکل3-4 : پیاده سازی مدل تست کارآمد نرم افزار با استفاده ازنرم افزار Netica
شکل3-5 : شبه کد پر کردن جدول احتمال شرطی برای اهمیت ماژول با دو ویژگی فرعی
شکل3-6 : شبه کد پر کردن جدول احتمال شرطی برای تعداد خطاها با سه ویژگی فرعی
شکل3-7 : جدول احتمال شرطی تعداد موارد تست
شکل3-8 : جدول احتمال شرطی تعداد خطاها
شکل3-9 : جدول احتمال شرطی اهمیت ماژول
شکل3-10 : جدول احتمال شرطی کارآمدی نهایی تست نرم افزار
شکل3-11 : پیاده سازی مدل تست کارآمد نرم افزار بروی سیستم مدیریت پرونده های قضایی
شکل4-1 : نمودار نرخ شناسایی خطا با روش BN برای اولویت بندی موارد تست
شکل4-2 : نمودار نرخ شناسایی خطا با روش Orginal برای اولویت بندی موارد تست
شکل4-3 : نمودار نرخ شناسایی خطا با روش Random برای اولویت بندی موارد تست
شکل4-4 : نمودار مقایسه نتایج روش پیشنهادی با دو روش دیگر در نرخ شناسایی خطا