To work effectively with CI/CD, QA engineers need to understand the difference between Continuous Integration and Continuous Delivery/Deployment, and how typical pipeline stages are structured. With this understanding, you can place the right tests in the right stages.
Core CI/CD Concepts and Stages
Continuous Integration focuses on integrating code frequently and running fast checks, while Continuous Delivery/Deployment is about automatically promoting builds through environments once they are proven safe. Pipelines are usually made of stages like build, unit tests, integration tests, UI tests and deploy.
# Simplified multi-stage pipeline
stages:
- build
- unit_tests
- integration_tests
- e2e_tests
- deploy
build:
stage: build
script: ./scripts/build.sh
unit_tests:
stage: unit_tests
script: ./scripts/run-unit-tests.sh
integration_tests:
stage: integration_tests
script: ./scripts/run-api-tests.sh
e2e_tests:
stage: e2e_tests
script: ./scripts/run-ui-tests.sh
As a QA engineer, you help define which tests are part of the CI safety net and which belong in slower, deeper CD stages or nightly jobs.
Common Mistakes
Mistake 1 β Treating CI and CD as the same thing
This blurs responsibilities.
β Wrong: Using βCI/CDβ as a single buzzword without understanding the differences.
β Correct: Recognise that CI focuses on change-level checks and CD focuses on release and environment-level checks.
Mistake 2 β Ignoring pipeline stage boundaries
This hurts feedback loops.
β Wrong: Throwing every test into one giant stage.
β Correct: Design stages so that fast, cheap tests run first and expensive tests run later.