Marcus Keenton

Technology

Without Shared Techniques, You Cannot Really Review a Test Suite

  Marcus Keenton

Code review is a solved habit on most teams. Test review, oddly, is not. People review each other's application code line by line and then wave through the tests attached to it, or skip reviewing tests altogether. Part of the reason is that reviewing tests well requires a shared vocabulary for what good testing looks like, and without named techniques to point at, test review collapses into a vague and useless "did you test it enough."

You cannot review what you cannot name

A good review asks specific questions. In code review, you can ask why a function is structured a certain way or whether an edge is handled, because there is shared language for those things. Test review stalls because the equivalent language is missing on most teams. "Did you test this properly" is not a reviewable question. It has no criteria, no yes or no answer, and no way for the author to respond except to insist they did. Reviewing tests requires being able to name what should have been done, and that is exactly what most teams lack when they look at a pull request full of test cases.

Techniques are the missing vocabulary

This is a quietly important role that software testing techniques play, separate from their use in writing tests. They give a team shared, specific terms to review against. Instead of "did you test it enough," a reviewer can ask whether boundary values were covered on this input, whether the negative cases were considered, whether this feature that is really a state machine got transition coverage or just a couple of happy path checks. Each named technique turns a vague worry into a concrete, answerable question. The techniques are not just methods for producing tests. They are the language that makes the tests discussable.

A concrete question changes the whole review

The difference in practice is large. When a reviewer can say this endpoint takes a range and I do not see boundary cases, the author has something specific to act on, and the gap gets closed. When the best a reviewer can manage is a general unease that the testing looks thin, nothing actionable happens, and the tests ship as written. Named techniques convert reviewer intuition into requests an author can actually fulfill. That conversion is the whole difference between test review that improves coverage and test review that is theater.

Shared vocabulary raises the whole team

There is a compounding effect once the language is shared. A junior engineer who keeps getting asked in review whether they applied equivalence partitioning learns to apply it before submitting, because they know the question is coming. The review does not just catch the gap this time, it teaches the pattern for next time. Over months, the questions a team routinely asks in review become the habits its engineers develop, and the general level of test design rises without anyone running a formal training. The vocabulary is the mechanism by which one reviewer's knowledge spreads to everyone whose work they review.

Without it, review defaults to trust

When a team has no shared technique vocabulary, test review defaults to trusting the author, because there is no basis for anything else. Trust is fine until it is misplaced, and it offers no path to improvement, because you cannot get better at something you cannot articulate. Teams in this state tend to either skip test review entirely, treating tests as the author's private business, or run a hollow version where tests are glanced at and approved. Both leave test quality entirely dependent on each individual, which is exactly the fragility that shared practice is supposed to remove.

Start with a small shared set

You do not need the whole catalog to fix this. A team benefits enormously from agreeing on even a handful of techniques everyone knows by name and expects to see applied where relevant. Boundary analysis, equivalence partitioning, negative path coverage, and state transition testing are enough to make most test reviews concrete. The point is not exhaustive coverage of every named method. It is a common language large enough that reviewer and author can have a specific conversation about whether the right kinds of cases exist. A small shared vocabulary, actually shared, beats a large one that lives in one person's head.

Where this leaves me

Techniques are usually taught as ways to write better tests, and they are. But their quieter value is that they make tests reviewable, and reviewable tests are how a team keeps quality from depending on individuals. If your test reviews consistently amount to "looks fine," the problem is probably not that people do not care. It is that they have no shared language to be specific in. Agree on a handful of techniques, expect them in review, and test review turns from a rubber stamp into the same kind of genuine quality check that code review already is.

Source:
Click for the: Full Story