Maintaining a suite people trust
This is the lesson the whole automation half of the course has been building toward. A test suite is not a thing you finish; it is a thing you keep. Left alone, every suite decays — tests go flaky, they fall behind the app, they slow down, and one day people stop believing the red. A test suite nobody trusts is worse than no suite at all, because it costs effort and catches nothing anyone acts on. Maintaining trust is the ongoing discipline that keeps a suite alive and worth its cost. This lesson is how.
Trust is the whole asset
Everything a test suite is for depends on one thing: that when it goes red, people believe it and act. The moment they do not — because it is flaky, or slow, or cries wolf — the suite stops protecting anything, no matter how many tests it has. So the real asset is not the number of tests; it is the trust that a failure means a bug. Every practice in this lesson protects that trust, and every threat in it erodes it. Hold that frame and the rest follows.
The threats, and how a suite decays
Suites do not fail suddenly; they rot, in recognisable ways:
- Flakiness creeps in. A few tests start failing intermittently (timing, shared data, environment). Each flake teaches people to re-run instead of investigate, and once "just re-run it" is the habit, real failures get re-run too — and ship. This is the number-one killer (the flaky-tests lesson).
- The suite falls behind the app. Features change; tests are not updated; they test the old behaviour or break on the new. Stale tests either fail spuriously or, worse, pass while checking the wrong thing.
- It gets slow. More tests, more UI tests, and the suite takes an hour, so it runs less often and feedback comes late — defeating the point (the pyramid lesson).
- Coverage gaps hide. Bugs escape in areas no test covers, and confidence in the green build turns out to be misplaced.
Each of these erodes trust a little, and unattended they compound until the suite is background noise.
The practices that keep trust
Maintaining a suite is a set of habits, most of which this course has already taught — here assembled into the ongoing discipline:
- Treat every flaky test as a priority bug. Fix it or quarantine it now; never let a known-flaky test keep failing in the trusted suite. This is the single most important maintenance habit, because flakiness compounds fastest (the flaky-tests lesson).
- Update tests with the code. When a feature changes, its tests change in the same change — a PR that alters behaviour and leaves its tests failing is not done. Tests are part of the feature, not an afterthought.
- Keep the pyramid healthy. Resist the drift toward more slow UI tests; push checks down to API/unit, keep the UI layer thin (the pyramid lesson). This keeps the suite fast enough to run every change.
- Keep it fast. A suite that runs in minutes gets run; one that takes an hour gets skipped. Parallelise, push checks down, remove redundancy — speed is a feature.
- Prune and refactor. Delete tests that no longer earn their keep (duplicated, testing removed features); refactor with page objects and helpers so the suite stays maintainable as it grows (the page-objects lesson). A smaller, sharper suite beats a bloated one.
- Add a test for every escaped bug. When a bug reaches production, add a test that would have caught it, so it can never return silently — the highest-value test you can write, because it guards a proven-real risk (the what-to-automate lesson).
- Watch coverage honestly. Use coverage to find untested important areas — but do not chase 100% (the metrics lesson, next): a high number over trivial tests is not confidence, and important-but-untested paths matter more than the percentage.
None of these is exotic; together they are the difference between a suite that stays trusted for years and one that quietly dies.
Ownership: a suite is a shared responsibility
A final, cultural point. A suite maintained by one person while everyone else ignores it will rot — the maintainer cannot keep up, and the rest do not treat a red build as their problem. A healthy suite is shared: developers own the unit/integration base and fix the tests they break; QA owns the API and end-to-end layers and the overall health; and whoever breaks a test fixes it (or reverts). A QA's job here is as much advocacy as engineering — making the case that a green build is everyone's responsibility, that tests ship with features, and that flakiness is not tolerated. The suites that survive are the ones the whole team owns.
The one sentence to remember
If you take a single idea from this whole course, take this: a test — manual or automated — is only valuable if a failure means something and someone acts on it. Everything else — good test design, user-facing locators, waiting for conditions not clocks, the pyramid, CI, reporting — serves that one end. Build suites people trust, keep them trustworthy, and testing does its job: catching the bugs that matter before they reach the people who would be hurt by them.
Check your work
Trust is the asset. A suite works only if a red build is believed and acted on; lose that (to flakiness, slowness, staleness) and the suite protects nothing regardless of test count. Every practice protects trust.
How suites rot: creeping flakiness (the top killer — "just re-run it" becomes the habit, then real failures ship), falling behind the app (stale tests fail spuriously or pass wrongly), getting slow (runs less, feedback late), hidden coverage gaps. They compound if unattended.
Practices that keep trust: fix/quarantine every flaky test now (most important); update tests with the code (tests ship with the feature); keep the pyramid healthy and the suite fast; prune and refactor (helpers/ page objects); add a test for every escaped bug; use coverage to find gaps without chasing 100%.
Ownership is shared: a one-person suite rots; developers own the base, QA owns API/E2E and overall health, whoever breaks a test fixes it. A QA advocates that a green build is everyone's job.
The one sentence: a test is valuable only if a failure means something and someone acts on it — everything else serves that.
Practice
- Explain why "a suite nobody trusts is worse than none", using the "just re-run it" habit.
- List the four ways a suite decays and one practice that counters each.
- Argue why a flaky test is a higher priority to fix than writing a new test.
- Describe how you would handle a PR that changes a feature but leaves its tests failing.
- Explain the value of adding a test for every escaped production bug.
- Make the case to a sceptical team that maintaining the test suite is a shared responsibility.
Official documentation
- Google Testing Blog — Flaky tests — Why flakiness must be fought to keep a suite trusted.
- Martin Fowler — Self-testing code — Keeping tests alongside the code they check.
- Playwright — Best practices — Keeping a suite fast, stable and maintainable.
Next: the working-as-a-QA module — collaboration, risk-based testing and the metrics that matter.
Stuck on this lesson?
Being stuck is part of it — but being stuck alone for three days is not. Our internship programme pairs this curriculum with code review and one-to-one help from working developers, and it is free.
About the internship