Run Variants
- 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