Optivem Journal

Optivem Journal

Continuous Delivery

Modern Pipeline - Release Stage

After your automated System Level Tests have passed, it's time to go through QA & UAT Testing, and prepare for releasing to Production!

Valentina Jemuović's avatar
Valentina Jemuović
Aug 15, 2025
∙ Paid
5
4
3
Share

🔒 Welcome to the premium Optivem Journal. I’ll help you apply TDD to escape the nightmare of Legacy Code. Join our paid community of 160+ senior engineers & leaders for support on your TDD journey, plus instant access to group chat and live Q&As:


In the previous article, Modern Pipeline - Acceptance Stage, we verified whether our System works correctly, by running automated System Level Tests. Within the Acceptance Stage, it deployed the System to the Acceptance Environment, ran Health Checks, Smoke Tests, Acceptance Tests, External System Contract Tests, and E2E Tests.

Since the Acceptance Stage assured us that our System satisfies Acceptance Criteria, i.e. that it works correctly from End User facing perspective, we’re now ready to make the System available to humans, most importantly:

  • Release the System to QA Environment, so that QA Engineers can test it

  • Release the System to Production Environment, so that Users can use it

Note: We’re not limited to just the QA Environment. We’ll see some additional environments below.

Note II: The Acceptance Stage covers only functional testing, but it does not cover non-functional testing. You can consider having additional stages, e.g. Load Test Stage, Stress Test Stage, Soak Test Stage, Security Test Stage, Resilience Test Stage, etc. To summarize, to perform automated non-functional testing, you need to add additional stages to the Pipeline.

QA Stage

In the Acceptance Stage, we had automatic verification that the System works correctly, that it satisfies functional requirements.

For a version of the System that passed the Acceptance Stage, we need to make it available for humans for both functional and non-functional testing, involving:

  • Exploratory Testing

  • Usability Testing (UX Testing)

  • Visual Testing (Cross-browser & Cross-device UI Testing)

  • Exploratory Security Testing

Note: QA Engineer should NOT perform Manual Regression Testing! Automated Regression Testing was already executed by the Acceptance Stage. It's important to note that here we’re referring to Functional Regression Testing, since that should be automated not done manually.

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2025 Valentina Jemuović, Optivem
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture