Let me tell you about the folks at Meridian Flight Academy, a cheerful little flight school that needed a scheduling app almost as badly as it needed fuel. Three instructors and one part-time developer — Priya, who also happens to be a commercial pilot — kept the thing alive, and they had a test suite nobody trusted. Their way out was TestOps: running automated tests like a small production service that deserves monitoring, budgets, and honest bookkeeping. On paper the school already had a safety net, four hundred automated checks covering bookings, aircraft reservations, and instructor availability. In practice, release day felt like a checkride nobody had studied for. The suite failed constantly, sometimes for reasons nobody could name, and the team had quietly stopped believing its verdicts.
The Quarter Everything Went Wrong
It started with a booking bug reaching a real customer. A Cessna 172 got double-booked for a Saturday cross-country, and two students stood around the ramp arguing while the airplane sat smugly on the line. The post-mortem was humiliating in a specific way: the automated suite had passed the code that caused the mess. Worse, it had failed eleven times that same week on unrelated nonsense, so its green light carried no information at all. Priya put it plainly in the retro: “We don’t have a testing problem. We have a trust problem.”
TestOps Habit One: Count Instead of Guessing
The first move was embarrassingly simple. Priya stopped deleting old results and started keeping every attempt, tagged with the code revision and a run number. Within two weeks the logbook told a story nobody expected: most “failures” were the same handful of tests, and the main branch itself was fine. Their real baseline was a handful of genuinely broken checks surrounded by a fog of coin-flip results. You cannot manage what you never wrote down, and the team had never written anything down.
TestOps Habit Two: Burn-In Before Gating
With evidence in hand, the team adopted a rule borrowed from flight training: no new test gates a release on its first day. Just as a student pilot flies dual before carrying passengers, a fresh test first proves itself over a stretch of runs — a burn-in period. The reasoning is sobering: research on large industrial suites has found that the clear majority of flaky tests, on the order of three-quarters, are flaky from the moment they are written. Waiting a few days catches most of them before they can torch somebody’s merge.
From there, every check at Meridian lived on a small, honest ladder: prove itself in burn-in, earn gating rights, fall under suspicion when it misbehaves, sit in quarantine while a fix is arranged, and — if nobody claims it — get deleted. Deletion was the hardest habit. An instructor on the team kept proposing to “keep it around for reference,” until Priya asked what a reference to a test that lies is worth.
Fake Passengers, Real Data
The subtlest problem was test data. Two tests sharing a student record would trample each other, and the failure looked like a product bug every single time. The fix followed a simple airline rule: every passenger brings their own ticket. Each test now creates the records it needs through the app’s own setup routines, marks them uniquely for that run, and clears them out on the way home. When real-shaped data was unavoidable, the team used a masked slice of production-style records — never the whole database, which would have been both a privacy problem and a slow one. Collisions stopped, and with them went a third of the mystery failures.
Ninety Days of Small TestOps Steps
Looking back, the quarter split neatly into three sprints of a month each:
- Days 1–30: keep every attempt with its revision tag, and measure how often the suite lies. Nothing else. The count alone changed behaviour.
- Days 31–60: a public registry of quarantined checks — each with an owner, a tracking ticket, and an expiry date — plus burn-in for newcomers.
- Days 61–90: split the long suite across machines so the full pass shrank from fifty minutes to twelve, set a simple target for how trustworthy the verdict should be, and delete the tests nobody had defended in a year.
Nothing on that list required new hardware or a purchase order. It required treating the suite as a thing with an owner, like the aircraft themselves.
What Priya Tells Other Teams
She spoke at a local meetup last month, and her slides were mostly photographs of whiteboards. The message was unfussy: your test suite is a crew member, and crew members need checkrides. If you want the full map of this discipline — the stage budgets, the quarantine etiquette, the metrics — the Ops Atlas entry on TestOps is the best single page she has found, and it costs nothing to read over coffee.
The aviation part of her brain supplied most of the metaphors, which is no accident. If you are building hours toward a career, you already know the mindset from our guide to building flight time: accumulate deliberately, log everything, review the record honestly. The same logging instinct powers good weather study habits — small observations, collected daily, beat one heroic glance at the sky. And when the Meridian team finally wrote their testing rules down for new hires, the result read a lot like our flight school admission checklist: plain items, in order, each one checkable.
The double-booking bug never came back. The suite still fails sometimes, as any honest instrument does — but when it speaks now, everyone listens. That is the whole product: a verdict, delivered fast, that deserves the confidence you put in it.

