Testing workflow, branching and tags
In order to make things as easy as possible for both developers & QA the
E2E test suite must follow the same branching strategy as the product code.
Workflow:
main -> create feature/ | quickfix/
-> E2E authoring & running on the branch
-> approval for main merge
main <- merge all features (this is release)
main <- ready to release
main <- tag with version number
main -> create release/{tag} branch
release/{tag} <- quickfix(es) are merged into release branch
main branch
This branch represents a test suite covering and matching the same state
as the respective product main branch. The test suite must cover the
features on the main branch and be ready for the feature or quickfix
branches to be created.
Feature & Quickfix branches should be merged to main after the feature has been approved and fully tested, one by one. This will propagate and merge the changes in steps allowing for testing at each point.
feature|quickfix branch
Feature or Quickfix branch is dedicated to a specific feature on the
product side. Having feature branches on the E2E side allows us to
independently develop tests for multiple features while keeping the
main test suite ready.
Feature branches must have feature/*** or quickfix/*** naming
format in order to be deployable.
version tag/branch
When the release happens for the product the test suite main branch
shall be tagged with the same version tag.
This allows us to run the test suite retrospectively for each release.