Installation testing is check that software application is successfully installed & it is working as expected after installation. This is testing phase prior to end users will firstly interact with the actual application. Installation testing is also called as “Implementation Testing”. This is most important as well as most interesting step in the Software testing life cycle.
Few points need to check in the prior to Installation testing:
- Verify the pre-requisites needed to software install the application if any.
- Installation should be run at default location & it should present to user with default location with user can able to change the default location.
- Verify that user should able to install software from different location like over network, online installation, installation from CD etc.
- Verify software installation without giving the administrative privileges.
- Verify to check working of Installer.exe is executing smoothly on clean state.
- Verify to check is the Installer.exe is calculating the disk space needed to successfully install the application prior to install the application.
- Verify the software installation on multiple platforms, before doing this need to confirm the supported list of platforms.
- Verify that successful “Silent installation”. In the Silent installation messages in the process of installation are not displayed on UI, all messages are added in log files and based on messages occurred is used as input in the installation process.
- Verify if the Interactive installation, GUI screen presented to user & user needs to provide input parameters in installation. This is majorly used in product installation.
- Verify that after successful installation of software is it working as per mention in specification document & meet user needs.
- Upon un-installation of software application check for the all previously installed files and registry entries are removed or not.
- Verify that is user able to uninstall or repair the software application.
Customer will happy on successful installation of software, Definitely yes. But you think of other way round if it fails to install. Upon failure of installation our software will not work but it might be possible that the data present on customers machine may affect badly. As a result, it makes bad impression on customer. This is due to the incomplete installer testing.
What all things you need to make good impression on customer?
The installation testing of software should be done on different platforms with manual or automated method. But to complete this time is the major concern. It is time consuming task & to execute a single test case on multiple platform might requires lots of time. And there are multiple test cases to execute. So we will see how to perform the manual Installer testing as well as automated process below:
Before starting the software installation test figure out on how many configurations installer needs to be supported. Make it one Hard Disk Drive (HDD) formatted. Install a new operating system on it. Add all pre-requisites required prior to install the software application. So it is ready to first install test on your newly prepared configuration. Wait, before going further make an image of your base HDD, so we will called as base image & it will be use for testing onward.
You can create a backup of base configuration (you can use Norton Ghost to make this copy, it’s easy & fast). The copy of this base configuration will be used in each time of testing, it will save time a lot. Let’s take a simple e.g. if 1 hour is required to make formatting of system & to make it new configuration. But by creating the image of base configuration will take hardly 10mins, here you are saving approximately 50 mins on each restoration of systemJ, so you can test it over multiple platforms with various scenarios in time.
Make sure that the un-installation scenario also needs to be executed on different platform combination.
Installation testing tips with some broad test cases:
To get Installation testing in step by step I have used flow chart diagram to explain in details:
1) Install Full Version Of Application: In case if you upgrading the application or previously installed a basic version now installing the full version on same path then system should allow you to install full version application without any error. Before installing newer version it should display a message on GUI saying old version is detected & do you want to continue.
2) Automate testing efforts: The flow chart below is useful to create the automated scripts, using this flow chart you can easily make out the automated script for installation testing.
3) After executing every test case use of disk image (created above) to be installing on dedicated machine which will save time.
4) Required Disk Space check in installation: This is most critical scenario in the installation testing. In the installation process check for “Is installer checking for minimum required disk space check prior to installation?” If for installing a software application the installer required space of 4MB then in the initial steps installer need to check whether the selected destination location have free space of 4MB at least to complete the installation. Also verify that the after successful installation, 4MB space is utilized by the installed system & if the more space is utilized then error should trigger.
The Disk space checking is done using automated and manual testing method. You can verify calculated disk space by installer is correct or not by using manually or automated tools.
5) On different file system format the disk space may vary like on NTFS, FAT32, and FAT16 etc. so this case should be grouped in multi-platform test cases.
6) Use of Distributed Testing Environment: To executing test cases effectively you can use of distributed testing environment, which will save your cost & time. Using such master & slave model will help to execute different installation test cases on different platform simultaneously. Using distributed environment master model simultaneously trigger to salves for different platform & consolidated execution result collected at center location in Master model.
7) Automate the check of files installed after installation: You can use of automated script to check the all required file are got installed successfully. So you can use this script for checking completeness of installed application.
In manual methods you can check free disk space available on drive before installation and disk space reported by installer script to check whether installer is calculating and reporting disk space accurately.
8) Confirm for registry changes after installation: You have to check for registry changes after the installation of software. This is to check whether expected changes are reflected in registry files. In the market many registry checking software’s are available for free.
9) Negative testing in Installation Testing: Intensely try to break the installation process to check the behavior of application under such condition. Such negative test cases should be executed on every step in Installation testing. The most important check is to confirm that state of system should change to original state.
Make it dedicated system for installation of software will help to save time & get testing complete in faster. Also check system behavior installation in low disk space conditions.
10) Uninstallation testing: You should also check for un-install testing to check whether the user is able to uninstall the application with out any error & removing the all folders & files relate to installation. Also need confirm that not impacting the other working features in the system which was previously working fine.Have you worked on performed software installation testing? If yes then how it was? Please share us with your experience in comments below. You can also ask your suggestions/tips/questions below in the comments section. Definitely, I will try to answer the questions as earliest.