%41تخفیف

دانلود پروژه: تولید تست اتومات در متدولوژی چابک مبتنی بر کلونی مورچه‌ها  

تعداد 65 صفحه در فایل word

کارشناسی ارشد رشته کامپیوتر نرم‌افزار (M.SC.)

 

تولید تست اتومات در متدولوژی چابک مبتنی بر کلونی مورچه‌ها

 

چکیده

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

کلمات کلیدی: الگوریتم بهینه‌سازی کلونی مورچه، تست نرم‌افزار، مسیر بهینه، تولید داده‌های تست، نرم‌افزارهای توسعه‌یافته مبتنی بر چابک

1 بیان مسئله

به علت پویایی محیط‌های نرم‌افزاری به‌کارگیری روش‌های توسعه نرم‌افزار چابک[1] به جای روش‌های سنتی اهمیت زیادی دارد از این جهت که می‌تواند به سرعت خود را با تغییرات فناوری و بازار انطباق دهد.

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

در نرم‌افزارهای توسعه‌یافته مبتنی بر چابک، به دلیل وقت‌گیر بودن و پر هزینه بودن تست دستی و تکرارپذیر بودن فرایندها و توانایی آن‌ها در سازگاری سریع با تغییرات، تست اتومات قانون بسیار مهمی در این نرم‌افزارها است [1][2]. یکی از روش‌های تست اتومات، تست مبتنی بر مدل است که می‌تواند همه‌ی انواع تست­ها مانند تست واحد، سیستمی و پذیرش را اتومات سازد و پوشش دهی بهتری از تست ارائه دهد. هدف از تست مبتنی بر مدل افزایش قابلیت اطمینان و کاهش هزینه‌های نرم‌افزار از طریق اتومات سازی نمونه‌های تست از رفتارهای رسمی مدل سیستم است. در تست مبتنی بر مدل، سیستم در حال تست با مشخصات یک سیستم در قالب یک مدل مقایسه می‌شود.

 در گذشته تولید اتومات داده‌های تست بر روی برنامه‌های ساده، با استفاده از معیار تست ساده‌ای به صورت تصادفی انجام می‌شد اما روش تصادفی بر روی برنامه‌های بزرگ و پیچیده کارایی خوبی نشان نمی‌دهد و نمی‌توان تأثیر پیچیدگی را نیز بر تولید داده تست ملاحظه کرد در حال حاضر هوش مصنوعی شیوه‌هایی برای تغییر ماهیت فرایند تست اتومات ارائه می‌دهد. مشکل دیگر در تست نرم‌افزار، تولید داده تست مناسب و بهینه برای پوشش مسیر است. تولید داده تست، فرایند شناسایی یک مجموعه از داده‌های تست است که معیارهای تست داده‌شده را پوشش می‌دهد. تولیدکننده داده تست ابزاری است که به برنامه‌نویس در تولید داده تست برای برنامه کمک می‌کند.

الگوریتم ژنتیک و روش بهینه‌سازی کلونی مورچه‌ها راهکارهای مناسبی را برای توسعه‌ی تولید داده‌های تست ارائه می‌دهند: همانند انتخاب مسیر مناسب با استفاده از قدرت موازی‌سازی، کاهش تأثیر پیچیدگی بر تولید داده تست و تولید داده‌های تست مطابق دیاگرام حالت UML [4].

 الگوریتم بهینه‌سازی کلونی مورچه‌ها وابسته به رفتار مورچه‌ها در پیدا کردن مسیرهای کلونی غذاست و در تولید توالی تست برای تست نرم‌افزارهای مبتنی بر حالت استفاده می‌شود اما مسئله اصلی در این الگوریتم عدم پوشش دهی کامل نرم‌افزار است [5][6].

به دلیل رقابت بالا در محصولات عرضه‌شده به بازار لازم است سازمان‌های نرم‌افزاری برای تولید محصول نرم‌افزاری باکیفیت بالا تلاش کنند از این رو پوشش کامل تست و کاهش هزینه‌ها ضروری و واجب است. در متدولوژی پیشنهادی (تطبیق روش‌های تست مبتنی بر مدل و الگوریتم بهینه‌سازی کلونی مورچه) پیش از نوشتن کد برنامه موارد تست طراحی‌شده و نرم‌افزار در تکرارهای مختلف پیاده‌سازی و بهبود می‌یابد و وارد مرحله‌ی جداگانه دیگری برای سرعت بخشیدن به تولید کدهای برنامه از روی مدل طراحی با تکنیک تولید کد خودکار می‌شود؛ بنابراین در هر زمان از توسعه به راحتی می‌توان تغییرات را به نرم‌افزار اعمال کرد. هدف نهایی از تطبیق روش‌های تست مبتنی بر مدل و الگوریتم بهینه‌سازی کلونی مورچه کاهش هزینه‌ها و افزایش میزان پوشش تست نرم‌افزارهای توسعه‌یافته مبتنی بر چابک و ارزیابی و مقایسه رویکرد پیشنهادی با تکنیک­های موجود است.

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

[1]– Agile

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...
enemad-logo