Model-driven metamorphic testing

Gotten

Generic MDE framework fOr meTamorphic TEstiNg

Domain-specific Languages mrDSL + fowDSL

Define processors, metamorphic relations, and follow-up test cases generation strategies in a domain-independent way.

Domains Cloud, Video, Autonomous Vehicles and Finite Automata

Reusable ideas demonstrated on cloud simulators, video streaming APIs, autonomous vehicles and finite automata.

Workflow Model domain and metamorphic relations → Perform testing → Analyse results

Support the MT lifecycle from domain modelling to evaluation and reporting.

Why Gotten

Designed for research-grade experimentation and practical tool support.

Define metamorphic relations

Describe domain meta-models, input features, output features, processor data, and MRs in mrDSL.

Generate follow-up test cases

Use fowDSL to search for source-to-follow-up input test cases transformations with configurable limits and objectives.

Compare domains consistently

Apply the same MT ideas to different domains while keeping the environment tailored to each domain model.

Use cases

Four example domains already showcased in the site.

Cloud simulators

Evaluate performance-related relations across data centre models.

Explore relations involving CPU, storage, network, memory, energy consumption, and execution time.

Open the cloud example
Video streaming APIs

Model searches and updates over platforms such as YouTube and Vimeo.

Validate search order, radius, date ranges, result sets, and update behaviour across processors.

Open the video example
Autonomous vehicles

Model autonomous vehicle test scenarios.

Validate autonomous driving controllers varying nominal speeds, numbers of obstacles, and waypoint configurations.

Open the autonomous vehicles example
Finite automata

Model finite automata and word-processing scenarios.

Validate acceptance and rejection behaviour, final-state relations, and transformed-word consistency across automata.

Open the finite automata example
Get started

Choose the entry point that fits your workflow.

Documentation

Read the framework overview, DSL examples, installation options, and links to publications.

Read the overview

Installation

Install Gotten through the Eclipse update site or use the standalone package.

Open the update site

Source code

Browse public repositories and project assets maintained under the Gotten GitHub organisation.

Browse repositories