ارائه روشی جهت تشخیص بهینه مسیرهای آزمون نرم‌افزاری با استفاده از الگوریتم‌های فراابتکاری

نوع مقاله : مقاله پژوهشی

نویسندگان

1 دانشجوی کارشناسی ارشد دانشگاه امام حسین(ع)

2 دانشگاه جامع امام حسین (ع)

3 دانشگاه جامع امام حسین(ع)

چکیده

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

کلیدواژه‌ها


عنوان مقاله [English]

Providing a Method for the Optimal Detection of Software Testing Paths Using Meta-Algorithms

نویسندگان [English]

  • Davood Akbari 1
  • Sadeq Bejani 2
  • Mohammad Reza Hassani Ahanghar 3
1 -
2
3 -
چکیده [English]

Throughout the history of software engineering, the existence of software defects at the heart of a system and lack of proper treatment before operational use has always led to serious personal and financial      disasters. A test that can provide an appropriate coverage at the code-level of software can prevent many of these incidents. The basis path test is considered as the strongest coverage criterion in the white software box test. The prerequisite for a basis path testing is to have a set of test paths. The greater the number of test paths to be scanned, the greater the amount of software source code that will be covered and so more software holes will be discovered. As a result, a basic challenge before running a software path test is to produce the maximum test paths that can be scrolled. So far, some work has been done to maximize the number of scrollable test paths, including the GSO method, but the results indicate that the number of test paths can be greater than currently achieved. In this paper we have proposed a method to achieve this goal by a hybrid solution based on two evolutionary genetic and birds algorithms. The results of evaluations show that using the proposed solution has led to an increase in the number of scrollable test paths up to 91% comparing with the GSO method.
 

کلیدواژه‌ها [English]

  • Software basis path
  • Genetic algorithm
  • Particle swarm optimization
  • EGSO algorithm
S. Saurabh Srivastava, “Optimal Path Sequencing in Basic Path Testing,” International Journal of Advanced Computational Engineering and Networking, vol. 1, no. 1, pp. 2320-2106, 2013##.
A. Moheb and R. Girgis, “Automatic Data Flow Test Paths Generation using the Genetical Swarm Optimization Technique,” International Journal of Computer Applications, vol. 1, pp. 975 – 8887, 2015##.
D. Sanjay Singla, “A Hybrid PSO Approach to Automate Test Data Generation for Data Flow Coverage with Dominance Concepts,” International Journal of Advanced Science and Technology, vol. 37, 2011##.
Z. Li, “Breading software test data with Genetic-Particle swarm mixed Algorithms,” Journal of computers, pp. 258-265, 2010##.
C. Juang, “A hybrid of genetic algorithm and particle swarm optimization for recurrent network design,” IEEE transactions on systems management and cybernetics, pp. 997-1006, 2004##.
W. F. Lammermann, “Using evolutionary algorithms for unit testing of object oriented software,” ACM, 2005##.
Y. Dong, “Automatic Generation of Software Test Cases Based on Improved Genetic Algorithm,”       IEEE-International Conference on Multimedia Technology, pp. 227-230, 2011##.
J. Kennedy, “Particle Swarm Optimization,” in IEEE International Conference on Neural Networks, 1995##.
A. S. Ghiduk, “Automatic generation of basis test paths using variable length genetic algorithm,” Information Processing Letters, no. 114, pp. 304–316, 2014##.
Y. Srivatsava, “Optimal test sequence generation using firefly algorithm,” Swarm and Evolutionary Computation, pp. 44-53, 2013##.
Y. XS, “Firefly algorithms for multimodal optimization,” in Proceedings fifth symposium on stochastic algorithms, foundations and applications, 2009##.
R. Srivastava, “An Approach of Optimal Path Generation using Ant Colony Optimization,” IEEE, 2009##.
S. Andreas Windisch, “Applying Particle Swarm Optimization to Software Testing,” in Proceedings of the conference on Genetic and evolutionary computation, 2007##.
P. Srivastava, “Path Generation for Software Testing: A Hybrid Approach Using Cuckoo Search and Bat Algorithm,” Nature-Inspired Computing and Optimization, pp. 409-424, 2017##.
 
M. Ahmed and S. Ghiduk, “Using genetic algorithms and dominance concepts for generating reduced test data,” Informatica, pp. 377–385, 2010##.
G. Michael, “Generating software test data by evolution,” IEEE Trans. Softw. Eng., pp. 1085–1110, 2001##.
M. Pargas, “Test data generation using genetic algorithms,” J. Softw. Test. Verif. Reliabil, pp. 263–282, 1999##.
M. Girgis, “Automatic test data generation for data flow testing using a genetic algorithm,” J. Univers. Comput. Sci., pp. 898–915, 2005##.
J. Diza, “A tabu search algorithm for structural software testing,” J. Comput. Oper. Res., pp. 3052–3072, 2008##.