Friday, March 27, 2009

Everything I know about Software Testing can fit in a Crock Pot

My wife put a pot roast in the crock-pot this morning in anticipation of a get together this evening. She told me she had set the timer for 9 hours, had pressed 'Start' and that it was cooking. Even though we were running late, I would not leave until I observed the timer change from 09:00 to 08:59. Despite her protestations that she had set it up correctly, I remained skeptical of the device. We had experienced failures with these things before.

What if the clock was set, not the timer? To me, the only visible difference between a clock and a timer is that one runs forward, the other runs backwards. While trying to prove her point by repeatedly pressing the 'Start' button, I observed no visceral feedback that said "Hey! I'm starting!" other than some LCD words that I had no reason to believe weren't always there before. No beeps. No buzzes. I was almost ready to assume that the bright red light was an indication that it was cooking, but I wasn't around to observe what state would cause the light to be off. I had in mind the risk of this device failing, namely that if it failed we would not eat and our party spirits would be dampened severely. This was too great a risk to not conduct a simple 1 minute test.

Mind you, the device could still fail in innumerable ways - heating element failure, electrical outage, etc. In fact, I thought about how I would be able to confirm power at home while I'm at work. I kind of wish our house had an old school answering machine and a land line telephone. But this 1 minute test would have to suffice as we had to leave ( read: push the pot roast into production ).

Please understand that my wife, so far as I can tell, does not share air with a tyrannical overlord who seeks opportune moments to hold a kind of tester's entitlement over her head. I give her honor where honor is due and ensure that our relationship flourishes in honesty and respect; she is in no small way my Queen. It is precisely because of how highly I value our relationship that the thought of her party plans being ruined compels me to protect her from the ways that technology lulls us into a false sense of security.

As we drove to work, I thought about how this epitomizes my experience in software testing.


William Echlin said...

This article really put a smile on my face. It nails that tester way of thinking that is very difficult to leave behind when you leave work each day.

I have similar conversations in my head when I'm driving a car. I have thoughts along the lines of "I really like the way that indicator control works" (sounds daft when you say it out loud). In a car where the usability has been well thought out and tested, a lot of small, simple ideas go together to make a user experience that far exceeds your average driving experience.

I'm sure a lot of people, even outside the testing arena, have the same thought process. It's just that testers take it to the extreme.

William Echlin

Victoria Clark said...

I do the same thing. All the time.

To me, this real-life testing of the devices we rely upon is an act of consideration and caring, even love. Like you said, you were protecting your wife from a potential party disaster.

Testers see how things can potentially go wrong and try to avoid that to the best of their ability. We testers need to continue to do this and make the best of (on average, I believe I'm speaking for my people here) not being born optimists.