Affiliations 

  • 1 College of Computer Sciences and Mathematics, University of Mosul, Mosul, Iraq
  • 2 School of Computing, Faculty of Engineering, Universiti Teknologi Malaysia, Johor, Malaysia
PLoS One, 2020;15(11):e0242812.
PMID: 33253281 DOI: 10.1371/journal.pone.0242812

Abstract

Path testing is the basic approach of white box testing and the main approach to solve it by discovering the particular input data of the searching space to encompass the paths in the software under test. Due to the increasing software complexity, exhaustive testing is impossible and computationally not feasible. The ultimate challenge is to generate suitable test data that maximize the coverage; many approaches have been developed by researchers to accomplish path coverage. The paper suggested a hybrid method (NSA-GA) based on Negative Selection Algorithm (NSA) and Genetic Algorithm (GA) to generate an optimal test data avoiding replication to cover all possible paths. The proposed method modifies the generation of detectors in the generation phase of NSA using GA, as well as, develops a fitness function based on the paths' prioritization. Different benchmark programs with different data types have been used. The results show that the hybrid method improved the coverage percentage of the programs' paths, even for complicated paths and its ability to minimize the generated number of test data and enhance the efficiency even with the increased input range of different data types used. This method improves the effectiveness and efficiency of test data generation and maximizes search space area, increasing percentage of path coverage while preventing redundant data.

* Title and MeSH Headings from MEDLINE®/PubMed®, a database of the U.S. National Library of Medicine.