Install testing is a non-functional testing method. When a user wants to access a new app or software, they do not expect to encounter errors in the download.
What is install testing? It’s a testing process that examines download procedures so testers can discover if the software performs as expected or not. This is important because what happens will affect how users perceive the product. Install testing aims to focus on and verify processes a user takes to install or uninstall software successfully.
After several rounds of quality assurance, testing, and fixes, the software product will be almost ready to be deployed. Once system and integration testing has taken place, install testing makes sure the installation process works as intended ahead of full implementation. Apart from considering the user’s expectations and obstacles, install testing will also check for any leaks in resource consumption which can slow the system post-installation.
The Install Testing Process
Install testing examines how software installs on different systems and devices. The software tested could include browser extensions, mobile apps, database servers, or applications selected by the client.
The Starting Point
Every developed software varies in terms of installation, and as testers, it is crucial to know the following before you plan the tests:
- Identify the type of installation supported by the software. The expected output of the tests depends a lot on the type of installation. From a tester’s perspective, here’s a list of some commonly used installation types. Being aware of these helps testers to define their test strategy.
- In Silent Installation, the process runs in the background, no message prompt appears, with log files providing tracking information.
- In Interactive Installation, the user interacts with the system during the setup, provides necessary input parameters, and then proceeds with using the software.
- In Automated Installation, the installation triggers automatically based on predefined conditions, for example, scheduled installation for a particular time.
- In Manual Installation, the user has chosen to manually instigate installation. An example of how this works is when an updated version of an app is available but won’t be installed until the user decides to do so. Testing must consider this aspect of this installation as well.
- Identify the available operating systems, browsers, devices, and other hardware requirements of the application and note expected differences in behavior on the various platforms.
- Understand whether the install is for distributed systems, servers, or consumer products. Knowing this helps testers to plan their testing efforts better by identifying applicable test scenarios.
How to Test
When it comes to functional testing, almost all testers know what and how to test. But when we are required to perform non-functional testing, the process becomes a little more challenging, so testers need to rely on developers. Similarly, for install testing, the installation package or installer, must be procured from the developers.
Along with the install package, the development team should provide the install manual, which is the document that guides the steps for installation. While going through the manual, the testers can identify the testable and the non-testable components. The scope of testing will then have been determined. The testers review the manual from a user’s perspective, and if anything is difficult to understand or missing, the development team is informed. The easier it is to understand the manual, the better outcome for developers. So, the objective is to create an easy to follow manual.
What to Test during Install Testing
This list summarizes a high-level checklist of what to include in Install Testing:
- Disk Space Checks – Before any installation can occur, the system must have available disk space for the installation process to be successful. As part of testing, including test scenarios to check if you have enough or too little available disk space is recommended. In this situation, the install process must notify the user of insufficient space and that the process will fail.
- Interrupted Install – Testing installation in abnormal conditions, including interruptions such as network failure, and forcibly canceling the install. Testing must include all negative testing scenarios to check the error handling cases.
- Installation with Security Protocols – Testing with the security protocols in place helps isolate any issues before a situation, rather than waiting to face a hit in realtime. Corrective measures like licenses or certificates can be acquired to rectify problems. As part of testing, it is advisable to check the installation process while the security is high and the firewalls are on.
- Update Installation – It’s rare that following a software installation, there are no updates. With software upgrades, the user needs to be sent updates from time to time to keep the software in optimal performance condition. As part of testing, the testers must ensure that the update runs flawlessly.
- Uninstallation – The last step of install testing needs to be testing the uninstall process. Testers need to verify that the software will uninstall without any errors. Upon uninstalling, all related files must be deleted, making the restored space available once again.
Install testing is one of the critical aspects of software testing, which, if skipped, can result in software malfunction. The scope of Install Testing is enormous and can lead to several challenges. The testing industry well understands the criticality but also knows that conducting install testing is not as straightforward as other forms of functional testing. Therefore, in some QA teams, the process is omitted from the test schedule to the disadvantage of the product’s overall quality.