Presenter: Sali Ben Mocha
Organization: SCE

Develop software or a system is a complex process that is prone to errors. Software defects occur during each stage of the development process, and should be identified, fixed, retested and delivered as soon as possible in order to prevent their spread in the system. The importance of software testing has grown with the adoption of agile development and continuous methodologies. These advanced methodologies should support quick changes, whereas the testing is one of the main activities in the development life cycle, which consume a lot of resources. Software testing is one on the main indicators for the project progress and quality, and it should be considered and supported in the implementation of the software development methodology.

The testing processes are usually derived from user stories. User stories are means of communication with end-users and customers and serve as the basis for developing system-related functions. One of the main goals of user stories is to describe the functionality of the software from the user point of view. Each user story is developed to at least one test rule and assigned to set of test cases that execute the required steps assuring that application or software under test is working properly, as expected.

This presentation presents the first part of a wider process that supports automation during the software testing. The objective is to shorten the run time of the testing that covers a set of user stories. A mapping process analyzes a user story and assigns it to the relevant testing scripts, using artificial intelligence (AI) algorithms, such as Natural Language Processing (NLP). This needs three analyses that use the LIPS algorithm proposed by Soeken and Drechsler: syntactic, semantic and pragmatic analyses. The outcomes of these processes provide the main part of the speech tagging, and suggest chains of words that are used to search the testing scripts files for maximum compatibility.