Implementation testing installation testing is a kind of quality assurance work in the software industry that focuses on what customers will need to do to install and set up the new software successfully. The testing process may involve full, partial or upgrades install/uninstall processes.
This testing is typically done by the software testing engineer in conjunction with the configuration manager. Implementation testing is usually defined as testing which places a compiled version of code into the testing or pre-production environment, from which it may or may not progress into production. This generally takes place outside of the software development environment to limit code corruption from other future releases which may reside on the development network.
The simplest installation approach is to run an install program, sometimes called package software. This package software typically uses a setup program which acts as a multi-configuration wrapper and which may allow the software to be installed on a variety of machine and/or operating environments. Every possible configuration should receive an appropriate level of testing so that it can be released to customers with confidence.
In distributed systems, particularly where software is to be released into an already live target environment (such as an operational website) installation (or software deployment as it is sometimes called) can involve database schema changes as well as the installation of new software. Deployment plans in such circumstances may include back-out procedures whose use is intended to roll the target environment back if the deployment is unsuccessful. Ideally, the deployment plan itself should be tested in an environment that is a replica of the live environment. A factor that can increase the organizational requirements of such an exercise is the need to synchronize the data in the test deployment environment with that in the live environment with minimum disruption to live operation. This type of implementation may include testing of the processes which take place during the installation or upgrade of a multi-tier application. This type of testing is commonly compared to a dress rehearsal or may even be called a “dry run”.
Features of Installation Testing
The importance of installation testing – in software development life cycle (SDLC) -can be understood from the above explanation. However, the significance of this process is not limited to these aspects only, and it can be further elaborated into following features:
- It is an activity based testing.
- This type of testing is executed during Operational Acceptance Testing.
- Performed by software testing engineers, along with the configuration manager.
- Identifies and detects bugs and issues during software installation.
- Helps deliver optimum user experience.
- Its process may include partial or full upgrade installation.
- Installation testing is executed during the last stage of software testing life cycle (STLC).
Prerequisites for Installation Testing
Before initiating the process of installation testing, it is important for the team to be prepared with all of its prerequisites, which can simplify the testing and ensure its correctness. Therefore, here is a list of prerequisites required before installation testing.
- Software installations of today proceed with questions targeted at the user based on configuration and user choices. So it will be useful to create a tree path of all the options available to the user at the time of installation which will cover all the unique paths to an installation.
- Flow diagrams are a handy tool in installation testing. These will be used in automating the test scripts.
- Checking if the installation product is dependent on any patch
Conducting Installation Testing
Since the importance of installation testing is immense in SDLC, it is vital for the team to ensure that it is executed accurately, to further validate the correctness of the installation process. This can be achieved with the assistance of the following points:
- First and foremost, it product needs to be checked for any other version already available on the target machine.
- The application has to be verified for installation according to the correct folder path as specified by the user, as also, the user should be allowed to choose the default folder.
- Instructions on the installer should be displayed correctly.
- The product should be verified for ease of installation over the internet.
- Since different file systems require space requirements, the software needs to be verified for disk space on systems such as FAT 32 or NTFS as the case maybe.
- Break the installation process in the middle, i.e. any time before it gets completed. This is to check if the system returns to its original state without any hitches.
- Checking for disk space: This first involves doing a manual check to find out the available disk space and the subsequent checking of installer script’s calculated disc space.
- The installer package needs to have its behaviour monitored for low disk space.
- It is necessary to test the facility in the installer package for allowing a guest user to work as an administrator for working on repairs.
- On complete installation, the registry changes need to be verified with the expected user list of changes
- Testing for uninstallation is important to check if all the system files have been deleted in the event of uninstalling the application.