Skip to content
/ nater Public

Recommender System for Test Routine Automation with Natural Language Processsing

License

Notifications You must be signed in to change notification settings

rosevoul/nater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (rosevoul@gmail.com)

Features

  • 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

Screenshots

Technical Overview

The high-level design diagram shows the main concept of the recomender system.

Installation

Although the engine can run on other systems, it was developed and validated using:

  • Ubuntu 16.04 (Xenial)
  • Python 3.5.2

Dependencies

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.