NLP-assisted software testing: a systematic review

06/02/2018
by   Vahid Garousi, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/07/2018

What we know about software testability: a survey

Software testability is the degree to which a software system or a unit ...
research
03/08/2020

Software-testing education: A systematic literature mapping

Context: With the rising complexity and scale of software systems, there...
research
09/24/2019

A Systematic Literature Review of Test Breakage Prevention and Repair Techniques

Context: When an application evolves, some of the developed test cases b...
research
05/17/2022

The Use of NLP-Based Text Representation Techniques to Support Requirement Engineering Tasks: A Systematic Mapping Review

Natural Language Processing (NLP) is widely used to support the automati...
research
12/13/2020

Predicting Software Effort from Use Case Points: A Systematic Review

Context: Predicting software project effort from Use Case Points (UCP) m...
research
07/14/2022

Open Tracing Tools: Overview and Critical Comparison

Background. Coping with the rapid growing complexity in contemporary sof...
research
02/28/2023

Tainted Love: A Systematic Review of Online Romance Fraud

Romance fraud involves cybercriminals engineering a romantic relationshi...

Please sign up or login with your details

Forgot password? Click here to reset