Installation testing is a testing activity which is performed to evaluate whether all the necessary components related to the software are installed properly and working as per the software requirements. The process is carried out in an artificial environment to verify if the software product has been installed correctly or not and whether it is functioning the way it is supposed to be. It is considered to be the most important type of testing and also the most ignored one at the same time. The reason why it is considered to be the most important type of testing in the software life cycle is that the installation process is the first interaction between the user and the software, which simple means that the process should be satisfactory. Successful installation process leads to happy customers which further increases the software installation rate and its success rate. If the installation process fails, this failure may cause system instabilities injecting many files that may affect the functioning of other installed software applications.
When do we perform Installation Testing?
- Software version has been upgraded or downgraded
- Re-installed an application to remove the encountered problems
- A new application is launched that is related to a family of applications
- Removal of an existing application
- New version of the application environment is installed
Success of a product largely depends upon the installer being used. This is the reason why companies make an investment of time and money for a stable installer. Testing is performed on various system configurations on different platforms ensuring that the installer would successfully get installed on user’s system. After the successful completion of installation testing, several companies that are product based release the beta version of their products instigating the users to download their products free of cost, enabling them to run it on their systems & then asking for their feedback.
In today’s digital era, owing to different ways of distributing the software, complexity of installation testing has increased tremendously. Previously, a software was distributed by means of disks. But, nowadays, it has become easy to install the software from internet, or any network location. Therefore, installation testing needs to consider the following factors, platforms & operating systems supported by the software including the way software is being distributed. Installation testing aims at finding the defects that cause an application’s installation fail. It checks different installation scenarios and prerequisites.
Types of Installation
- Clean: This is the installation where the application is being installed for the first time and old version has never been installed on the system before.
- Silent: This type of installation shows no messages on console during its installation process. Messages related to installation get saved in a log file.
- Automated: In this type of installation, the installation of product is scheduled by the administrator on certain conditions.
- Attended: Being the most common type of installation, it requires the complete involvement of user who gives the input of his/her choice. User performs certain tasks such as accepting end-user license agreement, selection of directory place etc.
- Unattended: This type of installation does not require user involvement.
- Network/Headless: In this type of installation, console is not needed and installation is directly made on targeted computers that are connected via a machine on network. It does not involve users at the targeted computers.
Installation testing makes use of installers for testing process. Most of the installers work by questioning and modifying the installation configuration depending upon user responses. A unique tree structure must be created to cater all the possible options that are available to the users, thereby covering all possible paths of installation process. Software testers must know in advance what to look for or expect after the completion of installation. Various tools are available to compare the file systems and registry DLLs to ensure that the installation process resulted in no issues and is complete. There may be the cases when the installation process depends upon server or database, in order to address this, test cases are to be written specifically.
We, at BugRaptors, not only focus on the positive scenarios but also consider the negative scenarios such as memory run-out, insufficient space etc. while performing installation testing. We keep in mind while testing that valid messages should be displayed to the users in case any failure occurs during installation, and the users should be able to continue with the installation after freeing up memory, space which aborted the installation process.