Decathlon / Decathlon/ara

Run Variants

Open
#68 0 comments 0 reactions 0 assignees View on GitHub
Feature Request P3
Dominant language
Java
Stars
80
Forks
17
PR merge metrics
No merged PRs in 30d

Description

# Run Variants

## Context

For a project with a Front/Back splitting, a country+testType couple can run several times for an execution because a front version is tested against several back versions (production, stabilization and development for example).

Before, a typical execution with such distinct runs:

* FR / Firefox
* US / Firefox

After, a more complete execution with such distinct runs:

* FR / Firefox / back-develop
* US / Firefox / back-develop
* FR / Firefox / back-production
* US / Firefox / back-production

## Expected

Add the concept of a "variant".
A project can decide to use the concept, or not.
Its meaning is project-dependant.
For a Front/Back split project, the "variant" will be "against which version of back we are testing the front".
Another example of variant is "Configuration" where a project is tested in a set of configurations that enable or disabled features that can be switched.

In an execution, two runs are now distinct with country+type+variant.

## Questions to keep in mind

* Country could become a variant too?
** A country should be optional too: do not force projects to define a fake unique country
** Or a country is not existing anymore: it is a deployment of platform, and a country can be a second variant...
* Allow a fixed set of 2 or 3 variants? Or an unlimited number?
* Currently, Country is a special variant: it can be attached to functionalities.
Allow variants to optionally be attached to functionalities?
* Could a variant have attached meta-data? Such as:
** back's version
** back's release
** back's version build date and time
*** should we?
*** could we filter on them?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by mapping how executions and runs currently represent country and test type, then trace where those values are used to distinguish runs. Resolve the open design questions about optional country, variant cardinality, functionality links, and metadata before identifying the affected models, APIs, and tests. Done means executions can distinguish runs by country, type, and variant without requiring projects to use variants.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.