Nater is an open-source recommendation engine for automating a test routine using natural language processing techniques. It is based on the word embeddings generated from software documents in order to employ a recommender system which guides the creation of automated test scenarios and the tracing of covered requirements. In addition, it adopts association analysis re-ranking to improve the provided recommendations based on the user activity.
This engine addresses test engineers working with Model-Based Testing, where building blocks can be teamed to implement an automated test. The user can create a test scenario that will transform into a test ready to run and supports automatic requirement tracing.
Experiments conducted in the European Space Agency’s Ground Segment test scenarios demonstrate the ability of this domain-specific tool to produce results close to human thinking and ease testing procedures.
Created by: Fei Voulivasi ([email protected])
- supports understanding of specific-domain context and semantics
- easily tunable to fit the needs of different domains
- provides spell checking functionality
- exploits information of massive volumes of software documentation
- reduces the time and effort taken to derive automated tests
- improves the test coverage of the software requirements
The high-level design diagram shows the main concept of the recomender system.
Although the engine can run on other systems, it was developed and validated using:
- Ubuntu 16.04 (Xenial)
- Python 3.5.2
The required python modules can be found in the requirements.txt file.
Important modules:
- pandas (data manipulation and analysis)
- gensim (vector space modeling and topic modeling)
- orange3-associate (association rules and frequent itemsets mining)
- nltk (human language data processing)
The dependecies can be installed using the command:
$ pip install -r requirements.txt
Make sure that you have already installed the pip command line.