  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 amount
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. Moreover, this
can 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). After compiling an initial pool
of 95 papers, we conducted a systematic voting, and our final pool included 67
technical papers. Results: This review paper provides an overview of the
contribution types presented 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. Some key results we have detected are: (1) only four
of the 38 tools (11%) presented in the papers are available for download; (2) a
larger ratio of the papers (30 of 67) provided a shallow exposure to the NLP
aspects (almost no details). Conclusion: 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 utilizing the existing
NLP-based techniques; this in turn reduces the cost of test-case design and
decreases the amount of human resources spent on test activities. After sharing
this review with some of our industrial collaborators, initial insights show
that this review can indeed be useful and beneficial to practitioners.
