STAMP Project Overview

Overall Concept

The founding concept behind the STAMP project is that applying automatic transformation, a.k.a test amplification, to testing assets that are usually written by hand can greatly improve testing effectiveness. The STAMP project was launched to develop test amplification tools that increase levels of automation in software testing.

STAMP focuses on test amplification in the context of DevOps and targets the early detection of regression bugs. 

Goals of testing amplification

The testing amplification tools developed by the STAMP project aim at helping DevOps to:

  • detect more regression bugs on continuous integration servers, before functional testing.
  • detect more scalability bugs, before going to production and experiencing bad behaviour (trashing, freezing) with high user load.
  • reproduce more production bugs in edge cases thanks to semantic logging.

Project methodology

The technological ambition of the project is to take research ideas and prototypes in test amplification to industry-strength tools at TRL 6. The project approach lies on three pillars: 

  • the development of innovative amplification technology 
  • the development of these technologies following a microservice architecture model
  • continuous feedback from use cases coming from five application domains

Project Objectives

The main objective of STAMP is to automatically transform existing test assets in order to detect regression bugs before production and drive down the cost of software testing.

Objective 1. Provide an approach to automatically amplify unit test cases when a change is introduced in a program. The result is a clear reduction of software defects in production.

Objective 2. Provide an approach to automatically generate, deploy and test large numbers of system configurations. This aims at reducing the costs of manual testing.

Objective 3. Provide an approach to automatically amplify, optimize and analyze production logs in order to retrieve test cases that verify code changes against real world conditions. By enabling application observation at runtime STAMP will help reduce the time that developers spend in re-creating test cases

Objective 4. Develop three test amplification microservices that can be integrated in different toolchains. This objective aims at developing a flexible architecture for test amplification services, leveraging a microservice approach.

Objective 5. Validate the relevance and effectiveness of amplification on 5 use cases. This objective has a dual dimension: validate the effectiveness of test amplification techniques; and validate the relevance of amplification beyond software production within specific application domain.

Objective 6. Disseminate and exploit the open source STAMP test amplification services. STAMP’s test amplification techniques are developed as open source software.

XWiki Enterprise 6.4.4