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.

The DevOps loop from plan to monitor, with the testing activity in each of its eight stages and production findings returning to the next plan as new tests. Conceptual model
  1. 1PlanQuestion acceptance criteria; agree how each change will be tested and monitored
  2. 2CodeDevelopers write unit tests with the code
  3. 3BuildUnit tests and static analysis give feedback within minutes
  4. 4TestAutomated regression and API tests run while the tester explores what is new
  5. 5ReleaseTest results and known risks feed the quality gate
  6. 6DeploySmoke tests and health checks against agreed rollback criteria
  7. 7OperateIncidents show what testing missed
  8. 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.

An online shop’s weeks 5–8 against weeks 1–4: deployments rose from 12 to 16, but lead time, recovery time, change fail rate and rework rate all got worse.
DORA metricWeeks 1–4Weeks 5–8Change
Deployment frequencythroughput1216more often
Change lead time (median)throughput2 days3 daysslower
Failed deployment recovery time (median)throughput45 min3 hslower
Change fail rateinstability1 of 12 (8%)4 of 16 (25%)worse
Deployment rework rateinstability1 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%)

Try it: REST API Tester Try it: API Endpoint Tester

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

Your task

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.

Material
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
Steps
  1. Count the deployments and find the median change lead time.
  2. Find the deployments that needed immediate intervention and their recovery times.
  3. Find the unplanned deployments.
  4. Propose one check or monitor per failure and name its stage in the loop.
Show the model answer
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

Practise with Mutqan tools

Check several API health endpoints at once and get status, latency and a pass/fail summary.

API Testing

Test REST endpoints with full control over method, headers and JSON body, then assert on status, headers and JSON paths.

API Testing

Quickly check that an API endpoint is reachable: status, response time, size, content type and TLS.

API Testing

Measure an endpoint's response time over several samples: min, max, average, median and p95.

Performance

Go deeper

Your progress on this topic

Part of the QA Roadmap