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