Friday, March 14, 2008

Absolutist Elegance

We hear all the time about testers who break things...

"I broke login!"
"What'd you do, break it again?"
"I thought I fixed that! How'd you break it?"

But testers don't really break things. They merely expose breakages that are already there.

That sounds like a pretty good notion (I should note that I was inspired by a recent DevelopSense post, from which I lifted the theory.). It really is shorthand for "don't blame the tester". It's an elegant way to say that this situation is not my fault.

I have a problem with that argument. The abdication of tester responsibility bothers me. Saying that the breakage is never the tester's fault seems too broad.
We've officially entered a grey area. And this is where context is everything. Sometimes it's truly a bug and in that case, the tester didn't cause the bug; he merely identified the bug. But sometimes the tester is dong things in a truly unsupported way, and in that case, she may have broken it.

When the tester didn't break it:
  • When it's really a bug.
  • When the tester performed an action that users could be expected to do
When the tester actually did break it:
  • When he used an internal function unavailable to customers incorrectly
  • When he checked in test code that broke the test (and the underlying product is fine)
  • When the tester performed an action that users are specifically warned not to do
So let's avoid the absolutist statements, no matter how good they sound. Even better, let's forget about fault and concentrate on fixing it.

* Disclaimer: I'm not really sure if "absolutist" is a word, but it gets the point across and, hey, English is a living language!

No comments:

Post a Comment