Test Data Generation and Selection Using Levy Flight-Based Firefly Algorithm

Test Data Generation and Selection Using Levy Flight-Based Firefly Algorithm

Abhishek Pandey, Soumya Banerjee
Copyright: © 2021 |Pages: 17
DOI: 10.4018/IJSI.2021040102
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

This article discusses the application of an improved version of the firefly algorithm for the test suite optimization problem. Software test optimization refers to optimizing test data generation and selection for structural testing criteria for white box testing. This will subsequently reduce the two most costly activities performed during testing: time and cost. Recently, various search-based approaches proved very interesting results for the software test optimization problem. Also, due to no free lunch theorem, scientists are continuously searching for more efficient and convergent methods for the optimization problem. In this paper, firefly algorithm is modified in a way that local search ability is improved. Levy flights are incorporated into the firefly algorithm. This modified algorithm is applied to the software test optimization problem. This is the first application of Levy-based firefly algorithm for software test optimization. Results are shown and compared with some existing metaheuristic approaches.
Article Preview
Top

Introduction

Swarm intelligence based optimization algorithms have been used in diverse applications in research and engineering fields (Wei, Wang, Si, & Tan, 2021). Its capability of inherent parallelism and distribution properties can be potential factors for global optimization (Sun, Tang, Zhang, Huo, & Shu, 2020).

Swarm intelligence (SI) based optimization algorithms are successfully applied to many engineering problems ranging from diverse fields of science and technology (Sadhu, Konar, Bhattacharjee, & Das, 2018). SI is based on the collective behavioral patterns of group (swarms) which are individually incapable otherwise such as ants, worms, birds, firefly etc. Swarms behaves as a self adaptive decentralized multi agent system. These group behavioral patterns are mimicked in swarm intelligence based optimization algorithms. Mimicking the self organized pattern of swarm of fireflies, Yang proposed a population based, stochastic, metaheuristic based algorithm popularly known as firefly algorithm (Yang, 2010). Firefly algorithm depicts the balance between exploration and exploitation in the search space. This could be further improved when randomization parameter is tuned with levy flights. In this paper levy flight based firefly algorithm is used for test suite optimization problem of software testing. This approach is further validated using a case study based approach. Bio inspired algorithms are applied to various areas of software testing and optimization (Pandey & Banerjee, 2021).

Software testing is time consuming so is costly activity (Myers, Sandler, & Badgett, 2011). According to a study, overall testing cost of software, hardware, and services were likely to exceed 120 billion dollars and the same trends may continue (Mayes, 2014). Automating at least some activities can result in tremendous reduction of cost (Archie et al., 1991). Software testing activities includes test case design; test scripting, test execution and test reporting among others. Very often many activities within software testing requires to make decisions that are conflicting in nature. As an example a question of generating test cases that could increase the coverage criteria of testing. Here its worth noting that this problem is by trivial nature falls into a class of NP hard problem. This is because the number of test cases increases exponentially with the increase in program complexity. Here complexity refers to the various terms in this case its cyclomatic complexity. Cyclomatic complexity is measure metric used for program testing.

Various optimization algorithms are successfully applied for NP hard problems. These algorithms are good in modelling the nonlinear real world problems precisely. Test data generation problem within software testing is NP hard problem. In this paper, a modified version of firefly algorithm is used for test data generation and selection problem. Levy based swarm intelligence algorithms are recently developed optimization algorithms. Various studies observed that various insects and swarms exhibit motion that is levy in nature. Various small movements followed by few long movements in the search space depict this phenomenon.

Software testing that is automated saves time, increases test coverage, and improves error detection. Model-Based Testing (MBT) is a testing technique that automates the execution of test cases created from a model of the system's actions. Model creation and discovery, as well as test case generation and execution, could be parallelized to boost MBT's scalability to handle complex systems. Agent-Oriented Software Testing (AOST) is a concept that describes the use of intelligent agents to automate complex testing tasks. By providing a high degree of decomposition, freedom, simultaneous activation, intelligence, autonomy, sociality, versatility, and adaptation, AOST may enhance the testing process (Ramírez-Méndez, Quesada-López, Martínez, & Jenkins, 2021). Optimization of test data generation problem through firefly and genetic algorithm is found in the recent research work (Pandey & Banerjee, 2019).

Search based approaches (SBAs) are successfully explored for various software testing tasks including mutation testing and test data generation, design, effort estimation, software change prediction, and requirements analysis (Harman et al., 2012; Silva et al., 2017; Malhotra & Khanna, 2018; Malhotra, Khanna, & Raje, 2017). Test data generation problem is the most widely studied topic within search based software testing (SBST). Search based software testing is a relatively new testing paradigm which aims to solve testing problems using search based intelligent algorithms. Due to emergence of new technologies in the form of new algorithms and engineering techniques it is necessary to revisit test data generation problem within the new framework.

Complete Article List

Search this Journal:
Reset
Volume 12: 1 Issue (2024)
Volume 11: 1 Issue (2023)
Volume 10: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2021)
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing