Why You Must Control Everything During Software Testing

We were testing a new version of the software before release to the users when they noticed it had become much more complicated than the prior tests. One of the women asked, “Why is it running so much interference in the name of security?”
The other tester replied, “It’s a software feature – something you didn’t ask for, and now that you have it, you don’t want it.”
It turned out that this “software feature” was a new set of security patches pushed down to the desktop computers everyone was working on and security permission restrictions set on the website itself as new access control limits.
Tight control of software code, environment and supporting software is essential for a successful software release. The reasons for this include but are not limited to:
1. Tracking what is done to ensure that what users have requested is actually done.
2. When one knows that it is installed, it can then be adequately tested. (Testing for functions that haven’t been installed may lead to false negatives while wasting everyone’s time.)
3. Ensuring that additional functions are not installed without being tracked and tested.
4. Documentation purposes to ensure the code is included in the master database for inclusion in future releases.
5. Using the same environment and software versions throughout the testing processes. Failing to do so renders results from the first portion of the testing obsolete.