ABC-CAG: Covering Array Generator for Pair-wise Testing Using Artificial Bee Colony Algorithm
Journal Title: e-Informatica Software Engineering Journal - Year 2016, Vol 10, Issue 1
Abstract
Testing is an indispensable part of the software development life cycle. It is performed to improve the performance, quality and reliability of the software. Various types of testing such as functional testing and structural testing are performed on software to uncover the faults caused by an incorrect code, interaction of input parameters, etc. One of the major factors in deciding the quality of testing is the design of relevant test cases which is crucial for the success of testing. In this paper we concentrate on generating test cases to uncover faults caused by the interaction of input parameters. It is advisable to perform thorough testing but the number of test cases grows exponentially with the increase in the number of input parameters, which makes exhaustive testing of interaction of input parameters imprudent. An alternative to exhaustive testing is combinatorial interaction testing (CIT) which requires that every $t$-way interaction of input parameters be covered by at least one test case. Here, we present a novel strategy ABC-CAG (Artificial Bee Colony-Covering Array Generator) based on the Artificial Bee Colony (ABC) algorithm to generate covering an array and a mixed covering array for pair-wise testing. The proposed ABC-CAG strategy is implemented in a tool and experiments are conducted on various benchmark problems to evaluate the efficacy of the proposed approach. Experimental results show that ABC-CAG generates better/comparable results as compared to the existing state-of-the-art algorithms.
Authors and Affiliations
Priti Bansal, Sangeeta Sabharwal, Nitish Mittal, Sarthak Arora
NRFixer: Sentiment Based Model for Predicting the Fixability of Non-Reproducible Bugs
Software maintenance is an essential step in software development life cycle. Nowadays, software companies spend approximately 45% of total cost in maintenance activities. Large software projects maintain bug repositorie...
Model Driven Web Engineering: A Systematic Mapping Study
Background: Model Driven Web Engineering (MDWE) is the application of the model driven paradigm to the domain of Web software development, where it is particularly helpful because of the continuous evolution of Web techn...
Efficiency of Software Testing Techniques: A Controlled Experiment Replication and Network Meta-analysis
Background. Common approaches to software verification include static testing techniques, such as code reading, and dynamic testing techniques, such as black-box and white-box testing. Objective. With the aim of gaining...
Malicious JavaScript Detection by Features Extraction
In recent years, JavaScript-based attacks have become one of the most common and successful types of attack. Existing techniques for detecting malicious JavaScripts could fail for different reasons. Some techniques are t...
Construction of Variable Strength Covering Array for Combinatorial Testing Using a Greedy Approach to Genetic Algorithm
The limitation of time and budget usually prohibits exhaustive testing of interactions between components in a component based software system. Combinatorial testing is a software testing technique that can be used to de...