QA doesn't happen by accident.
Nine principles from fifteen years of shipping software. Each one cost somebody money to learn.
-
01
Quality is decided before anyone writes a test.
By the time a story reaches QA, the decisions that determine whether it can work are already made — in refinement, in the architecture call, in the acceptance criteria someone wrote in four minutes. Testing surfaces those decisions. It cannot reverse them. If you want a different outcome, you have to be in the room where the decision happens, and most QA teams are never invited.
-
02
Every bug your QA team catches is a bug your process allowed.
Finding it before release is the good outcome. It is also the last and most expensive place to find it. Something let that defect get written — an ambiguous requirement, a missing unit test, a review that rubber-stamped. Celebrate the catch, then ask what made it possible. Teams that only do the first half stay busy forever.
-
03
Testability is a design property, not a testing activity.
Hidden state, no seams, environments that cannot be reset, a database you can only populate through the UI — none of that is a testing problem. It was decided when the system was built, usually by someone nobody thought to ask. You cannot test your way out of an untestable design. You can rebuild it, or you can keep paying for it.
-
04
The defects that hurt most were never tickets.
The worst failures are not in your bug tracker, because nobody questioned the requirement that caused them. The feature worked exactly as specified. The specification was wrong. No test would have caught it — every test was written from the same assumption. Somebody has to challenge acceptance criteria before they become code, and that seat is usually empty.
-
05
A flaky test is worse than no test.
A test that fails at random teaches your team that red does not mean broken. Once they have learned that, your real failures arrive in the same colour as your noise and get the same shrug. Flakiness is not a nuisance to tolerate until someone has time. It is an active attack on the one signal your pipeline exists to produce.
-
06
You don't have a regression suite. You have a fossil record.
Tests get added when features ship and removed approximately never. After a few years the suite is a layered record of every architecture the product has ever had, checking things that stopped mattering, in ways nobody remembers choosing. It runs for an hour, fails unpredictably, and no one can say what it proves. Deleting tests is a senior skill.
-
07
A pipeline that needs a human to say "yes" has a gate made of mood.
If shipping depends on someone remembering to check, your release criteria live in a person's head — and they move with the day, the deadline and the pressure in the room. Write the conditions down, then make the pipeline enforce them. A gate that can be argued with is not a gate. It is a suggestion with a meeting attached.
-
08
If quality depends on one person's judgment, that isn't a process. It's a hostage situation.
Every organisation has someone who simply knows what will break. While they are there, quality looks fine. When they leave, it collapses, and the postmortem calls it a resourcing problem. Judgment that lives in one head is a single point of failure wearing a lanyard. The work is getting it out — into criteria, frameworks and gates that outlive the person who wrote them.
-
09
AI doesn't replace judgment. It makes being wrong cheaper, faster and much larger.
An agent will read every ticket, every diff and every test case without getting bored. That is genuinely valuable, and entirely separate from knowing what matters. Point one at a process with unclear acceptance criteria and it produces confident, well-formatted work built on the same bad assumptions — at a volume no human reviewer can absorb. The constraint was never reading speed. It was knowing which findings deserve someone's afternoon.
Read about real Senior QA responsibilities and activities.
If you are selecting invisible text on a QA consultant's website, you are exactly the sort of person I like working with.