A Taxonomic Review of Adaptive Random Testing: Current Status, Classifications, and Issues

by   Jinfu Chen, et al.

Random testing (RT) is a black-box software testing technique that tests programs by generating random test inputs. It is a widely used technique for software quality assurance, but there has been much debate by practitioners concerning its failure-detection effectiveness. RT is argued to be possibly less effective by some researchers as it does not utilize any information about the program under test. Efforts to mainly improve the failure-detection capability of RT, have led to the proposition of Adaptive Random Testing (ART). ART takes advantage of the location information of previous non-fault-detecting test cases to enhance effectiveness as compared to RT. The approach has gained popularity and has a large number of theoretical studies and methods that employ different notions. In this review, our goal is to provide an overview of existing ART studies. We classify all ART studies and assess existing ART methods for numeric programs with a focus on their motivation, strategy, and findings. The study also discusses several worthy avenues related to ART. The review uses 109 ART papers in several journals, workshops, and conference proceedings. The results of the review show that significant research efforts have been made towards the field of ART, however further empirical studies are still required to make the technique applicable in different test scenarios in order to impact on the industry.



There are no comments yet.


page 8


A Taxonomic Review of Adaptive Random Testing for Numeric Programs

Random testing (RT) is a black-box software testing technique that tests...

VPPS-ART: An Efficient Implementation of Fixed-Size-Candidate-Set Adaptive Random Testing using Vantage Point Partitioning Strategy

As an enhanced version of Random Testing (RT), Adaptive Random Testing (...

A Survey on Adaptive Random Testing

Random testing (RT) is a well-studied testing method that has been widel...

NLP-assisted software testing: a systematic review

Context: To reduce manual effort of extracting test cases from natural-l...

Identification of Failure Regions for Programs with Numeric Inputs

Failure region, where failure-causing inputs reside, has provided many i...

A Case Study on Automated Fuzz Target Generation for Large Codebases

Fuzz Testing is a largely automated testing technique that provides rand...

A Hint-Based Technique for System Level Model-Based Test Case Prioritization

Test Case Prioritization (TCP) techniques aim at proposing new test case...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.