تولید اتوماتیک مسیر تست با استفاده از الگوریتم ژنتیک با طول متغیر
چکیده
مسیر تست مهمترین معیار در تست سفید[۱] می باشد.یافتن مسیر هدف یک کلید چالشی مهم در مسیر تست میباشد. الگوریتم ژنتیک در بسیاری از فعالیتهای تست نرم افزار از جمله تولید داده تستی انتخاب موارد تست و موارد تست دارای اولویت با موفقیت استفاده شده است.در این مقاله ، یک الگوریتم ژنتیک جدید برای تولید مسیر معرفی می نماییم.در این الگوریتم طول کروموزومها از تکرار به طول دیگر مطابق تفاوتها در طول مسیر تغییر میکند.مطابق الگوریتم پیشنهادی ،ما تکنیکی جدید در تولید اتوماتیک یک مسیر تستی روندی یا سنتی اساسی که بتواند به عنوان مسیر تستی در هر متد مسیر تستی دیگر استفاده شود معرفی می کنیم.. تکنیک پیشنهادی از متدی برای اثبات غیر وابستگی مسیر تستی تولید شده استفاده میکنند که مسیر اساسی تست را معرفی نماید.
به علاوه این تکنیک متدی را برای چک کردن انعطاف پذیری مسیر تولید شده به کار میگیرد .همچنین تعاریف جدیدی از مفهومهای کلیدی الگوریتم ژنتیک مثل نمایش کروموزوم ،عملکردمتقاطع[۲] ، جهش[۳]، تابع برازندگی[۴]، که بامسیر تولید شده سازگار باشد معرفی شده است.به علاوه یک مورد مطالعه ی تجربی برای نشان دادن کارایی این تکنیک ارائه داده ایم .ما یک مجموعه از تجارب را برای ارزیابی تاثیر مسیر تولیدی پیشنهاد شده ارایه میدهیم.نتایج نشان میدهد که تکنیک پیشنهادی باعث کاهش قابل توجهی در تلاشهای تولید مسیر تستی شده و GA پیشنهادی موثر در تولید مسیر تستی می باشد.
مقدمه
تست ساختار یافته احتیاج به یک مجموعه از مسیر تستی در برنامه زیر تست دارد.تولید این مجموعه مسیر یک وظیفه حساس است و می تواند هزینه فعالیت تستی را تحت تاثیر قرار دهد .
علاوه بر این اتوماسیون و کاهش این وظیفه به شدت جهت ساده سازی و روند تست مطلوب میباشد.مسیر تستی اساسی[۵] قدرتمند ترین و ساختار یافته مسیرتستی است.مسیر تستی اساسی به تعدادی از مسیر تستی برابر با پیچیدگی Cyclomatic برنامه احتیاج دارد[۱].که مانند هر مسیر دیگری یک مسیر غیر وابسته باشد و همه مرزهای جریان کنترلی گراف[۶] توسط این مسیر پوشانده شود.
به علاوه یک مسیر که در مسیر اساسی شامل نمیباشد میتواند توسط ترکیبی خطی از مسیر در این مجموعه ساخته شود.تکنیکهای تحقیقاتی مانند باز پخت تدریجی فلزات[۷] الگوریتم ژنتیک و برنامه سازی موروثی در بسیاری از فعالیتهای مهندسی نرم افزار فراهم شده است.مانند چرخه نرم افزار از احتیاجات [۲]-نقشه پروژه و تخمین هزینه ها [۳,۴] تست [۵-۱۲]اتوماتیک کردن نگهداری [۱۳] سرویس گرایی مهندسی نرم افزار [۱۴]کامبایل بهینه [۱۵] و کیفیت ارزیابی [۱۶] .اخیرا هارمن [۱۷] یک دوره ی کاملا از تحقیقات مهندسی نرم افزار پیشنهادد کرد.
این کار گرایش های تحقیقاتی و ارتباطات بین تکنیک در تحقیقات فراهم میشود را مشخص مینماید که مسیر برای تحقیقات بیشتر را نمایان میسازد.اگرچه لیستی از برنامه های کاربردی که بستر تحقیقاتی تکنیکهای بهینه سازی میتواند در فعالیتهای مهندسی نرم افزار فراهم گردد ،مشخص میسازد.[۱۷]
بیشمار مسایل بهینه سازی مختلف و تکنیکهای جستجو معرفی شده اند. بیشترین مورد استفاده در جستجوهای محلی میباشد.]۱۸[ باز پخت شبیه سازی شده [۱۹]،الگوریتم ژنتیک [۸-۱۲,۲۰]و برنامه سازی ژنتیک .
هدف اصلی این مقاله به شرح زیر است .این مقاله یک طول متغیر الگوریتم ژنتیک جدید را معرفی مینماید.در این الگوریتم طول هر کروموزوم مطابق طول مسیر از تکراری به تکرار دیگر تغییر میکند. براساس الگوریتم فوق مقاله تکنیکی جدید را برای تولید اتوماتیک یک مجموعه از مسیر تستی اساسی ارائه میدهد.این مقاله تعاریف جدیدی برای عناصر کلیدی الگوریم ژنتیک از جمله نمایش داده[۸]، عملگر تقاطع، جهش ارائه می دهد که با مسیر تولیدی مورد نظر سازگار باشد. علاوه براین از متدی جهت اثبات عدم وابستگی[۹] مسیرهای تولیدی جهت اضافه کردن آنها به مسیر اساسی ایجاد شده استفاده میکند.
تکنیک فوق بر مشکل حلقه ها در CFG غلبه کرده است.علاوه بر این مقاله یک مورد مطالعه برای نشان دادن موثر بودن الگوریتم ارایه کرده است .بررسی تجارب این دو مورد مطالعه برای ارزیابی تاثیر جواب دو سوال۱- الگوریتم ما در تولید مسیر تست اساسی چه مقدار تاثیر داشته است و ۲- اینکه تکنیک ما چقدر در تولید مسیر انعطاف پذیر [۱۰]موثر بوده است ارزیابی میگردد.
نتایج نشان میدهد که تلاش در تولید الگوریتم ژنتیک مورد نظر موثر بوده است.
ادامه مقاله بر اساس زیر سازمان دهی شده است:بخش ۲ :بحث و مقایسه کاربرد های مرتبط بخش ۳ :معرفی مشکل فرمولی بودنبخش ۴: ارائه بعضی از تعاریف و مفاهیم اساسی بخش ۵: نشان دادن استراتژی مطرح شده ما بخش ۶: معرفی یک مورد مطالعه برای متد مطرح شده بخش ۷: توصیف مطالعه هایی[۱۱] که برای ارزیابی استراتژی مطرح شده توسط ما و ابزارهایش اجرا میشود بخش ۸: نتیجه گیری
[۱] White test
[۲] Crossover
[۳] Mutation
[۴]Fitness Function
[۵] Basis Test Path
[۶] CFG(Control Flow Graph)
[۷] Simulated annealing
[۸] Represention
[۹] Independence
[۱۰] Feasible
[۱۱] Empirical
Automatic generation of basis test paths using variable length genetic algorithm
Abstract
Path testing is the strongest coverage criterion in white box testing. Finding target paths is a key challenge in path testing. Genetic algorithms have been successfully used in many software testing activities such as generating test data, selecting test cases and test cases prioritization. In this paper, we introduce a new genetic algorithm for generating test paths. In this algorithm the length of the chromosome varies from iteration to another according to the change in the length of the path. Based on the proposed algorithm, we present a new technique for automatically generating a set of basis test paths which can be used as testing paths in any path testing method. The proposed technique uses a method to verify the independency of the generated paths to be included in the basis set of paths. In addition, this technique employs a method for checking the feasibility of the generated paths. We introduce new definitions for the key concepts of genetic algorithm such as chromosome representation, crossover, mutation, and fitness function to be compatible with path generation. In addition, we present a case study to show the efficiency of our technique. We conducted a set of experiments to evaluate the effectiveness of the proposed path generation technique. The results showed that the proposed technique causes substantial reduction in path generation effort, and that the proposed GA algorithm is effective in test path generation.
لینک مقاله اصلی :
https://www.sciencedirect.com/science/article/pii/S0020019014000180
لطفاً براي ارسال دیدگاه، ابتدا وارد حساب كاربري خود بشويد