نمایشگر دسته ای مطالب

بازگشت به صفحه کامل

استفاده از روش‌های هوشمند در آزمون نرم افزار

استفاده از روش‌های هوشمند در آزمون نرم افزار

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

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

در پژوهش صورت گرفته توسط آقای وحید رافع و همکاران ایشان ضمن معرفی یک روش جدید برای آزمون استقامت در سطح مدل، مجموعه­ای از معیارهای پوشش شامل گونه جدیدی از روابط تداخل داده­ای مابین قوانین در تولید آزمون به کار گرفته شده است. همچنین یک الگوریتم ممتیک آگاه از هزینه برای تولید آزمون از توصیفات تبدیل گراف ارائه شده است. علاوه بر این، به منظور آزمایش سیستم تحت آزمون در شرایط مختلف از جمله حالات غیرمنتظره در اثر ورودی­های نامعتبر، سه روش آزمون مبتنی بر پوشش شامل آزمون­های نرمال، استقامت و ترکیبی مورد بررسی قرار گرفته است. برای ارزیابی قدرت تشخیص خطای آزمون حاصل از معیارهای پوشش پیشنهادی و روش­ تولید آزمون، روشی جدید برای تحلیل جهش در سطح مدل ارائه شده است. راهکارهای پیشنهادی در ابزار متن باز GROOVE پیاده سازی شده است. نتایج ارزیابی بر روی تعدادی مطالعه موردی حاکی از این است که 1) آزمون ترکیبی از نظر قدرت تشخیص خطا از کارایی بهتری نسبت به آزمون­های نرمال و استقامت برخوردار است، 2) آزمون استقامت از نظر هزینه عملکرد بهتری نسبت به آزمون­های نرمال و ترکیبی دارد و 3) الگوریتم ممتیک پیشنهادی کارایی بهتری در پوشش اهداف آزمون نسبت به روشهای تکاملی موجود در این زمینه دارد.

نتایج حاصل از این تحقیق در نشریه بسیار معتبر Artificial intelligence review با ضریب تاثیر ۸/۱۳۹ به چاپ رسیده است.