Loading

Installation Testing


Installation Testing

Software deployment and installation are two most important tasks performed by the software engineers, after software development and testing. Since the importance of these two activities is such, it is vital for the team to ensure their accuracy and correctness. Installation testing assists the team to accomplish this goal by testing the installation process for any defects. Therefore, to elaborate more on the importance of installation testing, here is a detailed discussion on the same.

What is Installation Testing?

Installation testing is performed to check if the software has been correctly installed with all the inherent features and that the product is working as per expectations. Also known as implementation testing, it is done in the last phase of testing before the end user has his/her first interaction with the product.

Moreover, with the assistance of installation testing the team of testers are able to validate the quality as well as the correctness of the installation process and ensure that the users receive optimum user experience.

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:

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

How is Installation Testing Done?

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.

Relevance of Installation Testing:

From ensuring the proper installation of all the necessary components to validating their compliance with the requirements of the software product, installation testing plays a crucial role in software testing life cycle (STLC). Other reasons that define its relevance are as follows:

  • A smooth process for installation/uninstallation ensures that the system is free from any folders or modules that may have been left out due to incomplete uninstallation and take up space in the system memory.
  • Perfection in installation testing is necessary to ensure complete coordination of all the sub components inherent in a software.
  • A smooth installation creates a good impression on the prospective customer.

Challenges in Installation Testing:

While performing installations testing, the team of testers can come across numerous challenges that can impact the process of testing and make it hectic and challenging. Few of these challenges are:

  • The software product is required to be installed on a diverse system environment that has several configurations.
  • The team needs to validate the installation under numerous system running conditions.
  • Since the process of test case execution is time consuming in installation testing, it becomes challenging to test an application with multiple test cases on different configurations.
  • As it lacks well defined test coverage criteria, test models, tools, and more it can be challenging to implement installation testing.

Things to Consider During Installations Testing:

As test cases are an integral part of any software testing process, it is important for the team to prepare them accurately. Likewise, in installation testing too, testers need to consider few important points while preparing test cases, which will enable them to perform installation testing effectively. These points are:

Test Cases Installation/Testing/Uninstallation
1. Prepared on the basis of the requirements, test cases should cover all workflows.
2. It should be validated that a version of the product is installed or not. If so, the test case should be written to follow the same installation path. 2. Testing should be implemented to ensure proper messages are displayed when the latest or older version of the product is installed.
3. Prepare test cases to validate the disk space required for installation, to get proper error messages, to check disk space before and after installation, and to force stop the process of installation. 3. To ensure these aspects, testing should be done for insufficient disk space also.
4. Test cases can be created to compare previous versions of installer packages with latest versions. 4. Master machine can be used for installation of the product on multiple networks and machines. System administrator should not be used to test installer.
5. Test suites should be created to track changes and modifications in the registry. 5. GUI, Remove/Repair, or Install/Uninstall options should be visible if the setup for the pre-installed product is executed again.
6. A default & custom installation path should be included in the test cases. 6. Installation testing should also be done to test the extraction path of the software. This usually takes place in temp file. .
7. Write test cases for systems with insufficient RAM, as well as for log files that consists activities of installation. 7. When two similar software products are running simultaneously, installation testing should be implemented. It should also be executed when a product uses excessive RAM for its operation.
8. It is also crucial to perform concurrent installation of multiple test cases. 8. Installer should be tested by the team when the Firewall is working and the security of the system is at its peak. Also, test the speed of the network & LAN connectivity if net is being used by the installer for installation.
9. Test Cases should also be created to test all the scenarios of uninstallation. 9. Use Add/Remove programs to test product uninstallation as well as the installed program path. Files related with the product should be removed/deleted after its uninstallation.
10. Create test cases for product installation, where write option is disabled. 10. Enable installation testing by double clicking the setup file.

Conclusion:

Since installation is the first interaction a user has with an IT product, the significance of installation testing can never be overstated. A glitch free and smooth installation generates great confidence and a feeling of genuine customer satisfaction in a client which can cement an everlasting bond with the product company.