Here's a testing challenge for you: Six years ago, I wrote a little Windows
program that for use as an exercise in my testing class. I still use the program
today. I give students 15 minutes to test it. If I gave you only 3 minutes to
evaluate it and tell me if it's good enough, what would you do?
I have four different answers to this challenge. Each seems equally valid.
I might choose one or the other depending on my mood, or I might try to give
all four, if I'm trying to convince the client that I have imagination.
- Invoke "No Risk No Test" Heuristic: If you wrote it as a testing
exercise and you've continued to use it for six years, it sounds like you're
happy with it. I suspect that no testing is necessary, because testing is
about risk. Offhand there seems to be no risk. Except, possibly, the risk
that it won't be compatible with some future hardware or operating system.
If that's acceptable to you, then don't test. Now, what will I do with the
next two and a half minutes?
- Suggest Something that Can Be Done Within the Constraints: In three
minutes, there's not much I can do to evaluate this program, but I'm happy
to try a couple of things and report what happens.
- Suggest Something Worth Doing that Requires Suspension of Constraints:
It seems that to test a program used to train testers we would need to know
how the program relates to your training goals. If you really want this tested,
we need to talk about that. That's going to take more than three minutes.
- Check whether the work has already been done: Are there already tests
for this that are built-in or automated? Is there pre-existing test data?
Do you happen to know how to test this to your satisfaction in three minutes?
If so, tell me how to do it.
-- James Bach