What a Nose Swab Taught Me About Software Testing

I was three years into a QA career when the pandemic hit. Testing Manager at a tech startup, CS degree, the whole thing. You’d think I would’ve had a solid handle on what software testing actually was.

I didn’t. Not really.

I knew the definitions. I’d memorized them the same way I memorized Newton’s equations in school — plug the right words into the right context, sound like you know what you’re talking about, move on. But I couldn’t explain software testing to a five-year-old. I couldn’t explain why I was doing half the things I was doing at work. I just did them.

That changed in the shower.

The Shower Thought

Covid was everywhere in the news. I had a test coming up in a few days and I was grumbling about someone sticking a swab up my nose. And then, somewhere between shampoo and conditioner, it hit me.

What is the nurse actually trying to do?

They want to know if I have Covid. To figure that out, they need information — my temperature, my exposure history, whether the cells in my nose carry traces of the virus. They’re collecting data and comparing it against a known standard to make a decision about risk.

That’s… exactly what I do. Except with software.

I stood there long enough that the water went cold. I couldn’t stop pulling on the thread. School exams — teachers collecting information to figure out if students absorbed the material. Checking if chicken is cooked through — collecting information to decide if it’s safe to eat. Testing is everywhere. It’s just information collection with a purpose.

The specific definition I’d been carrying around — software testing is verifying and validating that software behaves as expected — wasn’t wrong. But it was too narrow. It told me what to do without telling me why. A later definition I picked up framed testing as risk mitigation, which was better. It gave my other work — writing test cases, talking to stakeholders, generating reports — a reason to exist. But it still felt too clinical. Too “professional” in a way that made it harder to think creatively, not easier.

The shower version was simpler: testing is collecting information. Software testing is collecting information about software. Everything else follows from that.

Why It Actually Changed How I Work

It’s been a few years since that shower. My day-to-day hasn’t changed much. But the way I approach unfamiliar problems has.

For example, if I were tasked with a load testing challenge for the first time today, I’d probably start by asking “what information do my stakeholders need?” and work from there. That’s not actually what happened — you can read my load testing origin story to see how I actually handled it.

That reframe — what information does someone need, and how do I collect it? — cuts through a lot of confusion. It doesn’t matter if it’s a type of testing you’ve never done before. The shape of the problem is the same.

Here’s the analogy laid out simply, since it helped me visualize it:

Covid TestingAcademic TestingSoftware Testing
Who’s testingNurseTeacherTester
What’s being testedPatientStudentSoftware
The methodNasal swabExamTest plan
What’s collectedNose fluid samplesAnswersTest cases
The outputCovid resultGradePass/fail rate

The column headers change. The shape doesn’t.

What This Is Actually About

If you’re new to QA and the jargon feels like a wall, this is the thing I’d hand you first. Not a textbook definition. Not a framework.

Testing is just collecting information. You’ve been doing it your whole life — you just didn’t have a job title for it yet.

  • April 19, 2023