NLP-assisted software testing: a systematic review

by   Vahid Garousi, et al.

Context: To reduce manual effort of extracting test cases from natural-language requirements, many approaches based on Natural Language Processing (NLP) have been proposed in the literature. Given the large number of approaches in this area, and since many practitioners are eager to utilize such techniques, it is important to synthesize and provide an overview of the state-of-the-art in this area. Objective: Our objective is to summarize the state-of-the-art in NLP-assisted software testing which could benefit practitioners to potentially utilize those NLP-based techniques, benefit researchers in providing an overview of the research landscape. Method: To address the above need, we conducted a survey in the form of a systematic literature mapping (classification) and systematic literature review. After compiling an initial pool of 57 papers, we conducted a systematic voting, and our final pool included 50 technical papers. Results: This review paper provides an overview of contribution types in the papers, types of NLP approaches used to assist software testing, types of required input requirements, and a review of tool support in this area. Among our results are the followings: (1) only 2 of the 28 tools (7 available for download; (2) a larger ratio of the papers (23 of 50) provided a shallow exposure to the NLP aspects (almost no details). Conclusion: We believe that this paper would benefit both practitioners and researchers by serving as an "index" to the body of knowledge in this area. The results could help practitioners by enabling them to utilize any of the existing NLP-based techniques to reduce cost of test-case design and decrease the amount of human resources spent on test activities. Initial insights, after sharing this review with some of our industrial collaborators, show that this review can indeed be useful and beneficial to practitioners.



There are no comments yet.


page 1

page 2

page 3

page 4


What we know about software testability: a survey

Software testability is the degree to which a software system or a unit ...

Software-testing education: A systematic literature mapping

Context: With the rising complexity and scale of software systems, there...

A Systematic Literature Review of Test Breakage Prevention and Repair Techniques

Context: When an application evolves, some of the developed test cases b...

Natural Language Processing (NLP) for Requirements Engineering: A Systematic Mapping Study

Natural language processing supported requirements engineering is an are...

The Cost of Training NLP Models: A Concise Overview

We review the cost of training large-scale language models, and the driv...

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

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

A Systematic Literature Review of Automated Techniques for Functional GUI Testing of Mobile Applications

Context. Multiple automated techniques have been proposed and developed ...
This week in AI

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