با بهینه سازی نظم اعداد موارد آزمون، شیوه های اولویت بندی مورد آزمایشی می توانند به طور موثری کارایی آزمایش نرم افزار را بهبود بخشد. اولویت بندی موارد آزمون، موضوعی مهم و ضروری در تحقیقات تست نرم افزار است. این مقاله با ترکیب الگوریتم ژنتیک با پوشش نقاط آزمایش، برخی نتایج تحقیقی معناداری را در اولویت بندی مورد آزمایشی به ویژه برای آزمایش کارکردی به دست می آورد. ابتدا، دو ارزیابی جدید اولویت بندی مورد آزمایشی APTC و اصلاحیه آن APRC-C را ارائه می دهد. همان طور که این ارزیابی ها در پوشش نقاط آزمایش متمرکز شده است، برای آزمایش جعبه سیاه مناسب است. سپس، یک روش اولویت بندی مورد آزمایشی براساس الگوریتم ژنتیک ارائه می دهد که نمایش، انتخاب، تقابل و جهش آن برای آزمایش جعبه سیاه طراحی شده است. در نهایت، روش پیشنهادی را با داده های آزمایشات بازبینی می کند. نتایج آزمایشگاهی نشان می دهند که روش پیشنهادی می تواند اثر مورد نظر را به دست آورد.
اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
18,500 تومانشناسه فایل: 8435
- حجم فایل ورد: 293KB حجم پیدیاف: 175.5KB
- فرمت: فایل Word قابل ویرایش و پرینت (DOCx)
- تعداد صفحات فارسی: 14 انگلیسی: 11
- دانشگاه:Beijing Institute of Tracking and Telecommunications Technology, Beijing, China
- ژورنال: Algorithms and Architectures for Parallel Processing (1)
چکیده
مقدمه مقاله
تست نرم افزار یکی از مهم ترین ابزار برای تضمین کیفیت نرم افزار است. آمار نشان می دهد که آزمایش نرم افزار، بطور کلی بیش از 50% هزینه کلی توسعه نرم افزار را در بر می گیرد (1). با افزایش پیچیدگی نرم افزار، آزمایش نرم افزار دشوارتر و هزینه برتر می شود. چگونگی انتخاب چند مورد آزمایشی از مجموعه عظیم موجود برای آزمایش نرم افزار، بطور موثری تبدیل به یک مسئله مهم شده است.
فناوری اولویت بندی موارد آزمایش [1] (TCP) یکی از مهم ترین دستورالعمل های تحقیق در مورد آزمایش نرم افزار است. بر اساس سطح اهمیت مبتنی بر برخی معیارهای خاص، TCP مورد آزمایشی را ترتیب داده و سپس آنها را به طور متوالی اجرا می کند. با بهینه سازی ترتیب اجرا برای موارد آزمایشی، TCP می تواند به طور موثر کارایی آزمایش نرم افزار را بهبود بخشد.
تحقیقات کنونی روی شیوه های اولویت بندی مورد آزمایشی بر پایه کد تمرکز دارند. معمولاً براساس توان پوششی برنامه (مانند عبارت، شاخه یا تابع) در هر مورد آزمایشی، وزن ها تعیین شده و روش گریدی[2] برای هدایت مرتب سازی آزمایش بکار می رود (2). برخی محققین سعی می کنند از روش های معمول فراگیری دستگاهی برای بهبود تاثیر اجرای فناوری TCP بهره گیرند که از این روش، جستجوی فرااکتشافی (3)، شبکه های بایسین (4) و تحلیل دسته (5) است.
با شبیه سازی فرآیند ارزیابی بیولوژیکی، الگوریتم ژنتیک (GA) راه حل بهینه را برای مسئله بهینه سازی جستجو می کند. GA یک مجموعه از راه حل های محتمل را درنظر می گیرد. این روش، بطور تصادفی در کل فضای جستجو نمونه برداری کرده و هر نمونه را براساس تابع انطباق آن ارزیابی می کند. در الگوریتم ژنتیک، برخی اپراتورها مانند انتخاب، تقابل و جهش بکار می روند که همواره تکرار می شوند (هر تکرار معادل یک چرخه از تکامل بیولوژیکی است) تا یک راه حل بهینه کلی یافت شود تا زمانی که شرط پایان چرخه برقرار شود.
در نسل داده های آزمایشی، فضای جستجوی GA دامنه ورودی نرم افزار و راه حل بهینه، برخی داده های آزمایشی برای تحقق اهداف آزمایشی مشخص می باشد. GA اغلب در آزمایش ساختاری با در نظر گیری مسیر حرکت به عنوان هدف بهینه بکار می رود (9-6). تحقیقات راجع به بهره گیری از GA در آزمایش کارکردی چندان زیاد نیستند، از جمله یک روش بر پایه یک مشخصه زبانی Z و روش مبتنی بر پیش شرط ها یا پس شرط ها (11). به دلیل هزینه بالای رسمی سازی، این روش ها برای سیستم های بزرگ روش های دشواری هستند.
این مقاله با هدف آزمایش عملکردی، یک ارزیابی جدید اولویت بندی مورد آزمایشی به نام درصد میانگین پوشش نقاط آزمایش [3] (APTC) و اصلاحیه آن APRC-C را پیشنهاد داد. سپس، با استفاده از APTC یا APTC-C به عنوان تابع انطباق، ما یک روش اولویت بندی موارد آزمایش مبتنی بر الگوریتم ژنتیک را پیشنهاد کردیم. در نهایت، روش خود را با بررسی های شبیه سازی بازبینی کردیم.
[2] greedy method
[3] Average Percentage of Test-Points Coverage
ABSTRACT Test Case Prioritization Based on Genetic Algorithm and Test-Points Coverage
By optimizing the execution order of test cases, test case prioritization techniques can effectively improve the efficiency of software testing. Test case prioritization is becoming a hot topic in software testing research. Combining genetic algorithm with test-points coverage, this paper obtains some meaningful research results in test case prioritization, especially for the functional testing. Firstly, presents two new test case prioritization evaluations APTC and its improvement APRC_C. As focused on test-points coverage, these evaluations are more suitable for black-box testing. Then, proposes a test case prioritization method based on genetic algorithm, whose representation, selection, crossover and mutation are designed for black-box testing. Finally, verifies the proposed method by experiments data. The experimental results show that the proposed method can achieve desired effect.
Introduction
Software testing is one of the most important means to ensure software quality. Statistics show that software testing accounts for more than 50% of the total cost of software development in general [1]. With the increasing software complexity, software testing is becoming more and more difficult and expensive. How to select a few of test cases from huge available collection to test software effectively has become an outstanding problem.
Test case prioritization technology (TCP) is one of the most important research directions of software testing. According to the importance degree based on some specific criteria, TCP sorts the test cases and then executes them sequentially. By optimizing the execution order of test cases, TCP can effectively improve the efficiency of software testing.
The current researches focus on code-based test case prioritization techniques. Usually based on the coverage power to program (e.g. statement, branch or function) of every test case, set weights and apply the greedy method to guide test ordering [2]. Some researchers try using typical machine learning methods to improve the effect of the implementation of TCP technology, such as meta-heuristic search [3], Bayesian networks [4] and cluster analysis [5].
By simulating the process of biological evolution, genetic algorithm (GA) searches the optimal solution for the optimization problem. GA maintains a population of potential solutions; it randomly samples in the entire search space, and evaluates each sample in accordance with its fitness function. In the genetic algorithm, some operators such as selection, crossover and mutation are used, which constantly iterates (each iteration is equivalent to one cycle of biological evolution) to search for a global optimal solution, until the termination condition is met.
In the test data generation, the search space of GA is the input domain of the software and the optimal solution is some test data to meet for the specified testing purposes. GA is more often used in the structural testing, taking running path as optimization goal [6-9]. Researches on using GA in the functional testing are not very extensive, including a method based on Z language specification [10] and the method based on pre / post-conditions [11]. Because of the high cost of formalization, these methods are difficult for large systems.
Aiming at the functional testing, this paper proposed a new test case prioritization evaluation, named Average Percentage of Test-Points Coverage (APTC) and its improvement APRC_C. Then, using APTC or APTC_C as fitness function, we proposed a test case prioritization method based on genetic algorithm. At last, we verified our method by simulation experiments.
- مقاله درمورد اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- اولویت بندی موارد آزمایش بر پایه ترکیب الگوریتم ژنتیک با پوشش نقاط آزمایش
- اولویت بندی موارد آزمون بر اساس الگوریتم ژنتیک و پوشش تست نقطه
- پروژه دانشجویی اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- اولویت دهی مبتنی بر الگوریتم ژنتیک و پوشش نقاط آزمایش
- پایان نامه در مورد اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- تحقیق درباره اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- مقاله دانشجویی اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA) در قالب پاياننامه
- پروپوزال در مورد اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- گزارش سمینار در مورد اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)
- گزارش کارورزی درباره اولویت بندی موارد آزمایش (TCP) مبتنی بر الگوریتم ژنتیک (GA)