نام پژوهشگر: فایقه جوادی

تولید خودکار داده های تست بر پایه روش های جستجو
پایان نامه وزارت علوم، تحقیقات و فناوری - دانشگاه صنعتی اصفهان - دانشکده برق و کامپیوتر 1391
  فایقه جوادی   عبدالرضا میرزایی

یکی از مهم ترین روش های بررسی کیفیت نرم افزار، تست نرم افزار است. برای بدست آوردن اطمینان از درستی عملکرد نرم افزار در محیط اجرایی مشخص شده، تست نرم افزار ضروری است. تست نرم افزار یکی از فرآیندهای پرهزینه و زمان بر است و پژوهش-های زیادی با هدف تسهیل این عملیات و انجام آن به صورت خودکار صورت گرفته است. یکی از روش های تست نرم افزار تولید داده تست است. تولید داده تست در فرآیند تست برنامه عبارت است از مشخص کردن مجموعه ای از داده های تست که معیار تست را برآورده می کند. برای حل مسئله تولید داده تست، آن را به مسئله بهینه سازی تبدیل می کنند بدین ترتیب می توان از روش های بهینه سازی برای حل این مسئله بهره برد. روش های جستجوی فرامکاشفه ای از رویکردهای موفق در این میان بوده اند که در سال-های اخیر بیش از پیش مورد استفاده قرار گرفته است که به کارگیری ابزارهای مختلف از جمله روش های هوش مصنوعی منجر به پیشرفت در راستای تست خودکار نرم افزار شده اند. روش های جستجوی فرامکاشفه ای با استفاده از مکاشفه به جستجوی راه حل برای مسائل ترکیبی با هزینه محاسباتی معقول می پردازد. الگوریتم های تکاملی یکی از پرکاربردترین روش های جستجوی فرامکاشفه ای می باشند و امروزه در بسیاری از مسائل دنیای واقعی کاربرد دارند. یکی از کاربردهای الگوریتم های تکاملی تولید خودکار داده تست است. در این پایان نامه هدف تولید داده تست با استفاده از الگوریتم های تکاملی با در نظر گرفتن معیار کیفیت پوشش شاخه می باشد. روش جستجویی که در این تحقیق مورد استفاده قرار گرفته است مدل تکاملی یادگیر (lem) می باشد. این روش ترکیبی از الگوریتم های تکاملی و روشهای یادگیری ماشین است. از روش های یادگیری برای بدست آوردن دلیل خوب بودن افراد بهره می گیرد. این دلایل به صورت فرض های استقرایی بیان شده و از آن ها برای تولید جمعیت نسل بعدی فاز تکاملی استفاده می گردد. همین خاصیت باعث شده است که مدل تکاملی یادگیر نسبت به بسیاری از روش های تکاملی مانند الگوریتم ژنتیک کارایی بالاتری داشته باشد. به علاوه این پژوهش از دانش بدست آمده از مراحل پیشین به منظور افزایش سرعت مسئله بهره گرفته است. بنابراین از lem استفاده شده تا بتوان از دانش در قالب فرضیه بهره برد. به بیان دیگر ایده مورد نظر بدین صورت است که فضای اولیه جستجو کاهش می یابد تا جستجو سریعتر انجام گردد. همان طور که گفته شد، مسئله تولید داده تست یک مسئله بهینه سازی تبدیل است. پیش از حل کردن مسئله بهینه سازی، هیچ اطلاعی در مورد نحوه قرار گیری نقاط بهینه سراسری در دسترس نیست. در صورتی که جمعیت اولیه به صورت یکنواخت در تمامی فضای جستجو پخش شوند،کل فضای جستجو به طور مساوی بررسی می شود و نقاط مناسبی برای ادامه جستجو انتخاب می گردند. بنابراین در روش پیشنهادی از آرایه های متعامد برای تولید جمعیت استفاده شده است تا حدالامکان از قرار گرفتن در بهینه محلی جلوگیری گردد. برای بررسی کارایی روش پیشنهادی تعدادی از توابع تست که در پژوهش های مشابه وجود داشته است انتخاب شده اند. روش پیشنهادی به منظور تولید داده تست کمتر و پوشش حداکثر شاخه های برنامه ارائه شده است که آزمایش انجام شده گویای این مطلب است. برای بررسی عملکرد روش پیشنهادی نتایج بدست آمده با سایر روش ها مقایسه شده است که نشان می دهد روش پیشنهادی عملکرد بهتری نسبت به سایر روش-ها دارد.