Talking About Testing

Frequently, both online and in face-to-fact conversations, testers express reservations to me about making a clear distinction between testing and checking when talking to others. It’s true: “test” is an overloaded word. In some contexts, it refers to a heuristic process: evaluating a product by learning about it through experiencing, exploring and experimenting; that’s what testers refer to when they’re talking about testing, and that’s how we describe it in … Read more

Premature Formalization

Formal Bow Tie and Shirtfront

“The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.” -Donald Knuth, The Art of Computer Programming Most of the time testing shouldn’t be too formal — unless you want to miss lots of bugs. To test something formally means … Read more

Testing Deep and Shallow (3): Determination

After almost a year of the blog lying fallow, it’s time to continue the series on Testing Deep and Shallow that begins here. (Shallow testing (not an insult!) is testing that has a chance of finding every easy bug. Deep testing maximizes the chance of finding every elusive bug that matters.) Premise 6 of Rapid Software Testing is about cost and value. “We commit to performing credible, cost-effective testing, and … Read more

Testing Deep and Shallow (2): “Shallow” is a feature, not an insult!

When we talk about deep and shallow testing in the Rapid Software Testing namespace, some people might assume that we mean “deep testing” is good and decent and honourable, and that we mean “shallow” to be an insult. But we don’t. “Shallow” is not an insult. Depth and shallowness are ways of talking about the thoroughness of testing, but they’re not assessments of its value. The value or quality or … Read more

Testing Deep and Shallow (1): Coverage

Many years ago, I went on a quest. “Coverage” seemed to be an important word in testing, but it began to occur to me that I had been thinking about it in a vague, hand-wavey kind of way. I sensed that I was not alone in that. I wanted to know what people meant by coverage. I wanted to know what I meant by coverage. In the Rapid Software Testing … Read more

“What Tests Should I Automate?”

Instead of asking “What tests should I automate?” consider asking some more pointed questions. If you really mean “how should I think about using tools in testing?”, consider reading A Context-Driven Approach to Automation in Testing, and Testing and Checking Refined. If you’re asking about the checking of output or other facts about the state of the product, keep reading. Really good fact checking benefits from taking account of your … Read more

Testing Doesn’t Improve the Product

(This post is adapted from my recent article on LinkedIn.) Out there in the world, there is a persistent notion that “preventing problems early in the software development process will lead to higher-quality products than testing later will”. That isn’t true. It’s untrue, but not for the reason that might first occur to most people. The issue is not that addressing problems early on is a bad idea. That’s usually … Read more

Alternatives to “Manual Testing”: Experiential, Attended, Exploratory

This is an extension on a long Twitter thread from a while back that made its way to LinkedIn, but not to my blog. No one ever sits in front of a computer and accidentally compiles a working program, so people know — intuitively and correctly — that programming must be hard. But almost anyone can sit in front of a computer and stumble over bugs, so people believe — … Read more

“Manual Testing”: What’s the Problem?

I used to speak at conferences. For the HUSTEF 2020 conference, I had intended to present a talk called “What’s Wrong with Manual Testing?” In the age of COVID, we’ve all had to turn into movie makers, so instead of delivering a speech, I delivered a video instead. After I had proposed the talk, and it was accepted, I went through a lot of reflection on what the big deal … Read more

Suggestions for the (New) Testers

A friend that I’m just getting to know runs a training and skills development program for new testers. Today he said, “My students are now starting a project which includes test design, test techniques, and execution of testing. Do you have any input or advice for them?” Here’s my reply. Test design, test techniques, and execution of testing are all good things. I’d prefer performing tests to “test execution”. In … Read more