Installation is the first and foremost interaction of the end-user with the application. And it is one of the phases of the STLC (Software Testing Life Cycle).
Businesses will lose their customers if their software fails to proper installation and is prone to malfunctions. So, as a product or software owner, you should not give this bitter experience to your users if you want to retain them and reap profits for your business.
That is why installation testing in software testing is indispensable.
Let’s first understand…
What is installation testing?
Installation testing is also known as implementation testing. It checks whether the software is installed properly in the system with all its data and operating perfectly as it is intended to or not.
This installation testing is executed as a part of the operational acceptance testing. And it is carried out at the last stage of STLC by the configuration managers and software testers.
Types of installation or implementation testing:
Installation can be performed in various ways depending upon the application you developed. The following are the various types of testing.
1. Silent installation:
In a silent installation, the software program is installed without the need for user interaction. It is a simple way to speed up the installation of a desktop application. Also, in case of silent installation messages won’t appear on the console but saved in a log file.
Example: If any shortcut of an application needs to be placed on the desktop, silent installation is used.
2. Attended installation:
In the attended installation, the user involvement is required to provide input/selection of options.
Example: Accepting EULA (End-user License Agreement) and entering a password.
3. Unattended installation:
In unattended installation, user interaction is not required in product installation. If it is required, the entire installation is done through an answer file in which the user specifies all of the parameters that are required for installation.
Example: the OS installation of the Windows XP.
4. Network installation:
Network installation is also called headless installation. In this type of installation, a monitor or console or user involvement is not required. The product installation is performed on targeted computers that are linked to a machine on the network. This type of installation occurs in large companies where a product must be put
Example: Installing a product on hundreds of systems at a time.
5. Clean installation:
A clean installation means the product is being installed for the first time and no previous version of it is present.
Example: OS installation
6. Automated installation:
In this, the administrator schedules the product’s installation based on specified prerequisite factors.
Examples: Installing PPE (Password Policy Enforcer) on many computers. And the software distribution through internet or CD.
The quality assurance experts can analyze exactly which type of installation your app or product requires.
Features of the installation testing:
Features are what describe the attributes of something that has. The following are the features that describe the implementation testing process.
- It is the last step of STLC.
- It is activity-based testing.
- It is executed as part of the operational Acceptance testing.
- It identifies errors and bugs that arise throughout the installation procedure.
- There are no other stages of software testing that is aimed to find bugs that occur during the installation process.
- It ensures that software can be deployed in a variety of environments — both default and alternative sites.
- It helps in delivering optimum UX
- Installation testing is performed by software testing engineers in collaboration with the configuration manager.
- Its procedure may comprise either a partial or complete update installation.
- After validating the app installation testing, QA personnel examine uninstall process to find out security vulnerabilities or residual files.
Challenges of installation testing:
Sometimes, installation can be difficult. That is the reason many testers come across various challenges. The following are the most common challenges while performing installation testing in software development.
- Installing the application in all systems with different configurations.
- Testing the product or software on various configurations. It is time-consuming.
- The software installation process needs to be validated for various systems and their platforms. It increases the number of validation conditions to test for.
- Lack of well-defined test models, test coverage criteria, tools, etc.
However, it can be overcome if the QA professionals use automated workflows and automation testing tools for repetitive test cases.
Pre-requisites to carry out installation testing:
These are the pre-requisites a tester needs to check before starting the installation testing process. Ensure smooth and simplified testing by following these detailed installation testing checklists.
- Verify whether the software is easy to install from a variety of sources such as a CD, the internet, over the network, etc.
- Check the disc space manually
- Check that the installation has a display with instructions.
- Options for software installation are many depending on various system configurations and user preferences that create unique pathways to an installation. So, create a path of all the options accessible to the user during installation.
- Having flow diagrams for installation testing help automate the test scripts.
- Check whether the installation product is reliant on any patches.
Test cases for installation testing:
We need to create as many test cases or test scripts as possible based on the application use case. A list of some major test cases and their description are tabulated as shown below.
|Test cases to be written for||Description|
|Memory Disk space||· to ensure that the software installer computed the disc space and the required disk space correctly |
· to calculate the disk space before installation
· to calculate the disk space after installation
. to check for the software reactions when the disc space is low
or if it has insufficient memory (RAM)/disc space.
· to validate the response of the software for low disc space.
|Installation path (Location)||· to check the path of the previous version of the product installed (because the new product must be installed in the same path)|
· to choose the default or custom installation path
· to validate whether the software is installed in the location you specified (if you choose a custom location).
· to check the path of extraction of software
|The registry||· to check whether expected changes are reflected in registry files after installation. |
· to verify all the registry modifications throughout the installation.
|Versions of the product||· to ensure the software installer verifies all existing software versions.|
· To compare all the files and packages on the system to the previous installation package version.
|Forced stop of installation (negative test case)||· stop the installation process in the middle and check if the system returns to its original state or not.|
|Time||· to calculate the time is taken for|
extraction of files · to calculate the time is taken for installation · to calculate the time is taken for uninstallation
|Log files||· to check all the activities of installation.|
|Flashing messages/error numbers||· To check whether messages are flashing for various reasons during and after installation (e.g. flash error message for low disc space, successful completion of installation/uninstallation, when the recent version is installed on the system, etc.)|
|Workflows||· It will be based on the requirement|
|Security||· To test the app when the firewall is on|
|Network and connectivity||· To check LAN connectivity and network speed.|
|Update installation/ Patch installation||· To check the update and patch installation options are working properly or not.|
· To verify software installation without giving administrative privileges.
|Uninstallation||· uninstallation needs to be executed on different platform combinations.|
· to check whether the user can uninstall the application without any errors.
· to test how uninstallation behaves when we uninstall after stopping uninstallation in the middle.
· to make sure all the files and registry entries are removed after the uninstallation of the product.
· to check whether the uninstallation is impacting other working features of the system that are working well previously.
Pros & Cons of Implementation Testing:
Every tool will have both advantages and disadvantages as a coin has two sides.
Let us know its pros and cons.
- It’s a quick and easy way to check the software version.
- The output of installation testing helps the developer to improve the quality of software or application.
- It validates app and software designs on a basic level of test performance.
- It’s a critical component of STLC that contributes to the standard’s upkeep.
- The outcome is entirely dependent on the test case driven.
- It is a tedious and time-consuming process
- when failures occur as a result of external factors and bugs in code
- when test cases are executed during installation testing.
Installation testing in software testing holds a significant role in the success of software or product. So, make sure you choose the expert tester who can identify the installation requirements, build test cases/scripts, execute, log errors, and retest as needed. Ensure the smooth installation and earn brand credibility.
Give our specialists a call right now to get the most out of installation testing in software development.