Skip to content
Recommender System for Test Routine Automation with Natural Language Processsing
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

alt text

Natural Test Routine

License: GPL v3

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 (


  • 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


Technical Overview

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.

You can’t perform that action at this time.