| testing.com > Testing Craft > Techniques (Test Design Tips) > The Environment Always Changes |
In early November, 1999, I installed Internet Explorer 5.0 on my NT laptop. I needed it to make an old version of Visual C++ work. (Don't ask.) It revealed an amusing bug in my backup program. (Well, it's amusing now.)
This backup program comes with a scheduler that allows you to schedule unattended backups. That scheduler is to be used on NT only if the NT Task Scheduler isn't on the machine. At the time I installed the backup program, it wasn't. So I used the backup program's scheduler.
When I installed Internet Explorer, backups stopped working, but that's not the bug we're concerned with here. I fixed it with only an hour's worth of trouble and one lucky guess.
After getting the program to do a manual backup, I invoked the scheduler. It sometimes gets confused when backups fail. (That's also not the bug we're concerned with.) I wanted to check whether my recent problems had messed it up. If it had, I expected to fix it in the usual way, by deleting and reentering scheduled backups.
The bug we are concerned with is that I couldn't invoke the scheduler. I got this popup when I tried:

Apparently, the NT Task Scheduler had tagged along with Internet Explorer.
Notice my problem. I am supposed to use a different scheduler, but I can't enter the old scheduler to turn it off. I won't continue with the gory details. Suffice it to say that I now get two backups per day, one from each scheduler, at least until the next time the backup program's scheduler gets confused.
What's the mistake the developers made? They assumed, implicitly I'm sure, that either the NT Task scheduler was not installed and never would be or the backup program's scheduler was irrelevant and always would be. They failed to anticipate that a crucial piece of the environment might be different the next time it was important. Whenever a developer writes code to check something in the environment, she should always ask two questions:
Testers should ask the same questions, but in a less speculative way. They should ask them by changing the environment, seeing what actually happens, and comparing that to what a reasonable person would expect to happen.
Be the first person to add a comment in the
Wiki Forum at page TheEnvironmentAlwaysChanges.
(The Forum is explained in its FrontPage.)
In this spot, the author of this page will occasionally summarize the discussion in the Forum.