DevOps for Testers
DevOps is a way of working in which development (including testing) and operations share one goal: deliver changes to users quickly and safely, and keep the product healthy once it is live. The ISTQB Foundation syllabus v4.0 describes it as an organisational approach that needs a cultural shift, supported by team autonomy, fast feedback, integrated toolchains and practices such as continuous integration and continuous delivery.
For example, instead of testers checking a finished feature a week later and an operations team installing it on a release night, a DevOps team ships the feature as small changes. Each one is built and tested automatically within minutes of the commit, deployed with a health check and watched in production.
Why it matters
When the people who build, test and run a product work in silos, changes pile up into large, risky releases, feedback on a defect arrives days after the code was written, and production problems reach the team through unhappy users.
For a tester, DevOps changes the job rather than removing it. Releases come too often for a full manual regression pass each time, so repeated checks must be automated and trustworthy, while exploratory testing and risk analysis matter more, because automated checks only find what someone thought to check. A tester who understands the pipeline, production signals and delivery metrics can show where quality is lost and argue for a fix with data.
A culture first, then a set of practices
The word joins development and operations. The point is not a job title or a tool but removing the wall between the people who change a system and the people who keep it running. The whole team shares responsibility for the product in production, treats failures as something to learn from rather than a reason to blame, and improves its way of working in small steps, as you saw in the Kanban lesson. Some teams summarise the idea as CALMS: culture, automation, lean thinking, measurement and sharing.
- Version control for everything: code, tests, pipeline definitions, configuration and infrastructure.
- Small batches: many small changes instead of a few big releases, each easy to test and to roll back.
- Continuous integration and delivery: an automated pipeline builds, tests and prepares every change for release (the subject of the next lesson).
- Infrastructure as code: environments are built from scripts, so a test environment can match production.
- Monitoring and blameless post-incident reviews: every incident becomes an improvement.
The DevOps loop: testing in every stage
Teams often draw DevOps as an endless loop: plan, code, build, test, release, deploy, operate, monitor. It is a common picture, not a standard, but it shows that "test" is one stage while testing activities happen in all of them.
In plan, you question acceptance criteria and agree how each change will be tested and monitored. In code and build, the unit tests developers write and static analysis give feedback within minutes. In test, automated regression and API tests run while you explore what is new. In release, test results and known risks feed the quality gate (a checkpoint where a change must meet agreed criteria before it moves on). In deploy, smoke tests (quick checks that the main functions work after a deployment) and health checks confirm the new version against agreed rollback criteria. In operate and monitor, incidents and production signals show what testing missed, and each finding returns to the next plan as a new test.
- 1PlanQuestion acceptance criteria; agree how each change will be tested and monitored
- 2CodeDevelopers write unit tests with the code
- 3BuildUnit tests and static analysis give feedback within minutes
- 4TestAutomated regression and API tests run while the tester explores what is new
- 5ReleaseTest results and known risks feed the quality gate
- 6DeploySmoke tests and health checks against agreed rollback criteria
- 7OperateIncidents show what testing missed
- 8MonitorProduction signals such as latency and error rates
Throughout steps 1–8 Testing activities happen in every stage, not only in Test.
Back to step 1 Each finding returns to the next plan as a new test
A common way to draw DevOps, not a standard: teams name and split the stages differently.
How QA fits: automation, fast feedback, monitoring
The ISTQB syllabus lists what DevOps gives testing, including fast feedback on code quality and regressions, stable test environments, more attention to performance and reliability, and less repetitive manual testing. It also names risks and challenges: the delivery pipeline must be defined and set up, CI/CD tools must be introduced and maintained, and test automation needs extra resources and can be hard to establish and maintain. Manual testing, especially from the user’s perspective, is still needed. The tester’s contribution falls into three areas.
- Automation: agree with the team which checks run on every change and at which level (mostly unit and API tests, few end-to-end journeys), and keep them reliable. A flaky test, one that passes or fails at random on the same code, teaches the team to ignore red builds.
- Fast feedback: a check that fails five minutes after a commit is fixed by the developer who just wrote the code; the same defect found two weeks later costs a context switch, a bug report and a retest. Martin Fowler’s description of continuous integration stresses keeping the build fast.
- Monitoring: only production has real users, data and load. Learn what the team watches (Google’s SRE book recommends four golden signals: latency, traffic, errors and saturation) and ask for checks that would have caught recent incidents, such as a synthetic login every few minutes.
Try it: Regression Scenario Generator Try it: API Health Checker Try it: Response Time Analyzer
DORA metrics: signals of delivery quality
DORA (DevOps Research and Assessment), a research programme run by Google Cloud, describes delivery performance with five metrics: three for throughput, how quickly changes reach users, and two for instability, how often they hurt them. A slow or flaky test suite lengthens lead time; gaps in testing show up as failed deployments. Read the metrics as signals about the whole delivery system, never as scores for testers, and measure one application or service at a time against its own trend.
- Change lead time (throughput): the time from commit to running in production. It starts at the commit, so it is shorter than the request-to-delivery lead time many Kanban teams track.
- Deployment frequency (throughput): how often changes reach production.
- Failed deployment recovery time (throughput): how long recovery takes after a deployment that fails and needs immediate intervention.
- Change fail rate (instability): the share of deployments that need immediate intervention afterwards, such as a rollback or a hotfix; the closest delivery-level signal of escaped defects.
- Deployment rework rate (instability): the share of deployments that are unplanned and caused by an incident in production.
Worked example: a month of delivery data
A team running an online shop brings its delivery data to the monthly retrospective, comparing weeks 5–8 with the four weeks before.
| DORA metric | Weeks 1–4 | Weeks 5–8 | Change |
|---|---|---|---|
| Deployment frequencythroughput | 12 | 16 | more often |
| Change lead time (median)throughput | 2 days | 3 days | slower |
| Failed deployment recovery time (median)throughput | 45 min | 3 h | slower |
| Change fail rateinstability | 1 of 12 (8%) | 4 of 16 (25%) | worse |
| Deployment rework rateinstability | 1 of 12 (8%) | 3 of 16 (19%) | worse |
- got worse
The team deploys more often, but instability rose and recovery slowed, so the extra speed is no improvement. A metric shows where to look, not why, so the tester examines the four failed deployments and the longer lead time.
- Two payment failures: the pipeline tested only against a mock of the payment provider, and the provider had changed a field in its API. Action: a nightly API test against the provider’s sandbox.
- A database migration timed out on production-sized data. Action: rehearse migrations in staging on an anonymised copy of that size.
- A wrong discount, reported by customers hours later; failures found this way pushed recovery time up. Action: a post-deployment smoke test that places a test order and checks its total.
- Lead time grew because changes queued for a manual regression pass held twice a week. Action: automate the stable checks and keep exploratory sessions for changed areas, the wait-time thinking from Kanban.
Text version
Online shop, production deployments Weeks 1-4 Weeks 5-8
Deployment frequency 12 16
Change lead time (median) 2 days 3 days
Failed deployment recovery (median) 45 min 3 h
Change fail rate 1 of 12 (8%) 4 of 16 (25%)
Deployment rework rate 1 of 12 (8%) 3 of 16 (19%)Common mistakes
- Treating DevOps as a tool or a job title while testers, developers and operations still hand work over a wall.
- Believing automation replaces testers, when automated checks confirm only what someone thought to check.
- Re-running red builds until they pass. Every unexplained failure is a defect or a flaky test, and both need an owner.
- Stopping at the deployment instead of asking what is monitored and how you would know that a release failed.
- Using DORA metrics to rank teams or people, or chasing one metric alone: more deployments with a rising change fail rate is not progress.
The QA perspective
On a DevOps team your work spans the whole loop. In refinement you ask how a story will be tested and how the team will know it works in production. During development you agree which checks belong in the pipeline and review each change’s results instead of waiting for a test phase. Before a release you speak up when the gate is green but a risk is untested; afterwards you check the smoke results and dashboards.
For every failed deployment or incident, record what failed, how it was detected, how long recovery took and which test or monitor would have caught it earlier, and bring that list to retrospectives with the DORA trend. Ask for access to logs and dashboards: you cannot test what you cannot see.
Practice exercise
Read a week of deployments
A team deploys a food-ordering API. Using the one-week log below, calculate the five DORA metrics, propose for each failed deployment one test or monitor that would have prevented it or shortened recovery, and say what one week of data cannot tell you.
Food-ordering API: production deployments, one week
Lead time = from commit to production
# Deployed Lead time Result
1 Sun 10:00 20 h OK
2 Mon 11:00 18 h OK
3 Mon 16:00 75 h Login returns 500 when two-factor sign-in is on;
rolled back at 16:50
4 Tue 12:00 26 h OK
5 Wed 09:30 16 h Receipts show prices without the currency;
a customer reports it at 12:00
6 Wed 13:30 1 h Hotfix for #5 (unplanned); receipts correct
7 Thu 14:00 28 h OK
8 Thu 18:00 55 h OK- Count the deployments and find the median change lead time.
- Find the deployments that needed immediate intervention and their recovery times.
- Find the unplanned deployments.
- Propose one check or monitor per failure and name its stage in the loop.
Show the model answer
Deployment frequency: 8 in the week (7 planned, 1 hotfix). Change lead time: sorted, 1, 16, 18, 20, 26, 28, 55, 75 hours; median (20 + 26) / 2 = 23 hours. Ask why #3 and #8 took so long.
Change fail rate: #3 (rolled back) and #5 (hotfixed), 2 of 8 = 25%. Recovery: 50 minutes for #3 and 4 hours for #5 (09:30 to the hotfix at 13:30); with only two failures, report both values. Deployment rework rate: #6, 1 of 8 = 12.5%.
#3: an automated API test of login with two-factor sign-in on and off (test stage), plus a synthetic login with an alert on login errors (monitor stage). The 50-minute recovery shows the rollback worked.
#5: a check of the receipt format, including the currency, in the regression suite (test stage), and a post-deployment smoke order that inspects the receipt (deploy stage). A customer found it after 2.5 hours, so monitoring missed it.
One week and 8 deployments are too few for a trend, the numbers do not say who is to blame, and they cannot show defects no user has noticed yet.
Frequently asked questions
Do I need to learn programming to work on a DevOps team?
You need enough to read and maintain automated tests, read pipeline results and logs, and run simple scripts; you do not need to be a full-time developer. Teams value testers who can work with developers on test code and who understand what each pipeline stage checks. The automation modules later in the roadmap build these skills.
Is DevOps the same as CI/CD?
No. CI/CD is a set of practices and tools that DevOps teams rely on. DevOps is the wider way of working that also covers culture, shared responsibility, monitoring and learning from incidents. The next lesson explains continuous integration, continuous delivery and continuous deployment.
Are DORA metrics test metrics?
Not directly. They measure the whole delivery system, not the test team. Testing strongly influences them, though: suite duration is part of change lead time, and defects that escape testing raise the change fail rate. Use them next to test metrics such as defect escape rate, not instead of them.
Does DevOps mean testing in production instead of before release?
No. Testing before release stays essential. DevOps adds monitoring and checks in production because some problems only appear with real users, data and load. Shift-right practices such as canary releases are covered in the lesson on shift-left and shift-right testing.
References
- ISTQB Certified Tester Foundation Level (CTFL) v4.0The foundation syllabus of software testing: test levels and types, test design techniques, test management and tools.
- DORA's software delivery performance metricsThe DORA delivery metrics — change lead time, deployment frequency, failed deployment recovery time, change fail rate and related measures — grouped by throughput and instability.
- Monitoring Distributed Systems — Site Reliability Engineering (Rob Ewaschuk)Google's SRE guidance on monitoring: black-box versus white-box monitoring and the four golden signals — latency, traffic, errors and saturation.
- Continuous Integration (Martin Fowler)The widely referenced description of continuous integration: integrate often, keep the build self-testing and fast, and fix a broken build immediately.
Practise with Mutqan tools
Check several API health endpoints at once and get status, latency and a pass/fail summary.
Test REST endpoints with full control over method, headers and JSON body, then assert on status, headers and JSON paths.
Quickly check that an API endpoint is reachable: status, response time, size, content type and TLS.
Measure an endpoint's response time over several samples: min, max, average, median and p95.
Generate regression scenarios from a change description and a list of affected and related modules.
Go deeper
- Test Metrics That Drive DecisionsFlow and delivery metrics: the DORA metrics
- CI/CD TestingWhat a tester does in CI/CD
- Deployment Verification TestingMonitoring signals to watch
- Flaky TestsWhat makes UI tests flaky — timing, shared state, data, environment, third parties — how to diagnose them, and a sane retry and quarantine policy.
Your progress on this topic
Not started
Mark the topic complete when you have studied it and done the exercise.
Sign in to track your progress
Mark topics complete, continue where you left off and unlock specialisation exams.