Upgrade Testing vs. Installation Testing
What Is Upgrade Testing?
Upgrade testing involves testing an upgrade to existing software. It's typically done to test that an upgrade can be installed on an existing user's machine.
Back to topWhat Is Installation Testing?
Installation testing involves testing a software release on a new user's machine.
Back to topUpgrade Testing vs. Installation Testing
Upgrade testing and installation testing are both important. If you only test an upgrade — without doing installation testing — your software might work for existing users, but fail to work for new users.
Developers might test upgrades on their machines — where they already have an older version of the software installed.
An Upgrade Testing Example
For example, I once worked with a developer who was troubleshooting a defect I found.
After failing to duplicate it, he said, "It works fine on my machine."
He was right. It did work fine. And he wasn't trying to avoid solving the problem.
But after working on it for some time, we discovered he had an older version installed that included a library file that was missing from the new version.
So, the program functioned properly when he ran it. But on a new install, it would fail.
Why You Need Both Types of Testing
This example shows the importance of testing from two standpoints:
- The existing user
- The new user
Upgrade Testing Is For Existing Users
Testing for existing users is important. So, for upgrade testing, you should test on a system that has a previous version installed.
You should also test on systems where the software was previously installed but has since been removed.
This ensures that all current users can successfully use the new version without issue.
Installation Testing Is For New Users
Testing for new users is equally important. So for installation testing, you should use a fresh machine where the software has never been installed before.
This will catch any issues — such as the one in the example above.
Back to topTest Everything Efficiently
Like other types of software testing, upgrade testing and installation testing are important. And so are all of the other tests you run in each release.
That's why it's important to effectively manage your testing efforts. And to do that, you need a test plan — and test case management.
How to Succeed at Test Case Management
Back to top