Article Preview
TopIntroduction
Every software industry is expected to deliver quality products to satisfy their customers and to compete in the market. Software testing is one of the ways of improving software quality. As per 40-20-40 principle, software development devotes 40% of aggregate time for project analysis and design, 20% for programming and the remaining 40% for testing (Pressman, 2005).
According to IEEE, software testing is defined as the process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspects of the system or component (IEEE Standard 610.12-1990). Which clearly indicates that a better testing approach ought to be emulated by the industries for producing better products. The quality of testing depends on the design of effective test cases.
The testing process is a time consuming one because it involves human resources more and more. Even though several testing tools are available in the market; the industries still continue the traditional manual writing test cases for the attainment of expected goal. So, the industries are in need to perform testing effectively within reasonable time.
The researchers usually preferred the evolutionary algorithm and swarm-based algorithm to find the solution for real world optimization problem- especially NP hard problems. Test case generation can also be non-deterministic (NP-hard) problem (Karaboga & Gorkemli, 2014). Hence this paper proposed a novel methodology for automatic generation of test data by using quick Artificial Bee Colony algorithm (qABC) which extends the functionality of the ABC algorithm.
Artificial Bee Colony (ABC) algorithm is a population based Swarm Intellgence (SI) algorithm designed by Karaboga (2014). ABC simulates the behaviour of foraging and waggle dance of the honeybees in nature (Karaboga & Basturk 2008). This algorithm consists of three types of artificial bees namely employed bees, onlooker bees and scout bees. ABC algorithm produces better results in many applications such as decision making, transportation problem etc. It is also used in test case generation. It generates the test cases effectively. (DJ Mala, 2017),
However, the proposed qABC improves the ABC algorithm in terms of generating effective test cases within a short period. qABC utilizes three bees as in ABC for generating test cases. The changes are introduced in Onlooker bees’ behaviour and redundancy removal techniques are applied which is not available in basic or traditional ABC. In this way, ABC generates the test cases faster and accurately. Because coverage-based metrics will reveal errors effectively here, path coverage and mutation score are taken as test adequacy criteria. In this paper, qABC algorithm is explained in detail and then its performance is assessed by evaluating it on a set of test problems. Also, the performance of qABC is compared with other evolutionary algorithms. The results show that its performance is better than other evolutionary algorithms.
TopBackground
This section briefs the definition relevant to the key terms used in the proposed approach.