Have you ever conducted Software Installation Testing? How was your experience? Well, Implementation Testing, also known as Installation Testing, is an exciting part of the Software Testing Life Cycle.
Think of Installation Testing as welcoming a visitor to your home. To make your new guest feel comfortable, they should properly be introduced to all the family members. Installing a new software is very similar.
Recommended IPTV Service Providers
- IPTVGREAT – Rating 4.8/5 ( 600+ Reviews )
- IPTVRESALE – Rating 5/5 ( 200+ Reviews )
- IPTVGANG – Rating 4.7/5 ( 1200+ Reviews )
- IPTVUNLOCK – Rating 5/5 ( 65 Reviews )
- IPTVFOLLOW -Rating 5/5 ( 48 Reviews )
- IPTVTOPS – Rating 5/5 ( 43 Reviews )
Imagine this, what if your installation is successful on the new system, surely the user would be happy. However, what happens if it does not go as you expected?
An installation failure might prevent the software from functioning on the system and could potentially damage the user’s system severely. Consequently, the user may have to reinstall the whole operating system.
In this scenario, would you make a good first impression on the user? Absolutely not! Your opportunity to create a loyal customer would be ruined due to a lack of complete installation testing.
So, what should you do to make a good first impression? You should accurately test the installer using a combination of manual and automated procedures on various devices with different configurations. A key concern with installation testing, however, is time. It takes a substantial amount of time to execute a single test case.
Consider the time needed to conduct many test cases on different configurations if you’re testing a large software installer.
We’ll delve into diverse methods for conducting manual installer testing, alongside some fundamental automation guidelines for the installation process.
To begin with Installation Testing, decide how many different system configurations you want to test.
Prepare an initial hard disk drive (HDD). Format this HDD with the most frequently used or default file system and install the dominant operating system (such as Windows) on it. After that, install a few essential components on this HDD.
Every time you design images of this base HDD, you can produce other configurations based on the base drive. Create a set of each configuration involving Operating system and file format to use in future testing.
Now, you may be wondering, how can we involve Automation in this process? Well, set aside some systems specifically for creating basic images (using software like Norton Ghost to swiftly make exact images of the OS) of the base configuration. This strategy will save you a great deal of time per test case.
For example, if it takes one hour to install an OS with a basic configuration, then each test case on a new OS will require more than an hour. However, creating an OS image will only take about 5 to 10 minutes, saving you approximately 40 to 50 minutes!
An Operating System can be used with multiple installation attempts. Each time uninstall the software and restore the system to its original state for the next test case. It’s crucial here to ensure that your uninstallation program has previously been tested and is functioning excellently.
Here are some Installation Testing Tips along with broad Test Cases:
#1) Employ flow charts for installation testing. Flowcharts make the job simpler.
Consider a simple flowchart for a standard installation testing test case.
Expand this basic flowchart by including more test cases. If your software isn’t the first release, try to add varying logical installation paths.
#2) If you’ve previously installed a condensed primary version of the software, install the full software version on the same path used for the compressed version during the subsequent test case.
#3) If you’re using a flowchart to test different data writing on the disk during installation, employ the same flowchart in reverse order to test uninstallation of all installed files on the disk.
#4) Use flow charts to automate the testing processes. It becomes very easy to transform diagrams into automated scripts.
#5) Examine the installer scripts used to calculate the required disk space. If the installer prompts the required disk space to be 1MB, ensure that exactly 1MB is being used or if more disk space is being utilized during installation. If it’s more, categorize this as an error.
#6) Analyze disk space requirements in different file system formats. For example, FAT16 will require more space compared to the efficient NTFS or FAT32 file systems.
#7) If feasible, dedicate a single system to creating disk images only. As mentioned previously, this will save you time during testing.
#8 ) Utilize a distributed testing environment to execute installation testing. This environment saves time and allows you to effectively manage all different test cases from a single system.
A good approach would be to construct a master system that will drive distinct slave systems on the network. You could concurrently initiate software installation on various systems from the master one.
#9) Attempt to automate the routine to verify the number of data files written to the disk. You could store this file list to be written on the disk in a spreadsheet and provide this list as input to an automated script that will inspect every path to confirm the correct installation.
#10) Avail of freely available software in the market to confirm registry changes after successful installation. Compare the registry changes with your expected change list post-installation.
#11) Intentionally interrupt the installation process halfway. Keep an eye on the system’s behavior and whether the system reverts to its previous state without any issues. This “installation break” can be tested at each step of the installation process.
#12) Disk space checking: This check is vital in the installation-testing scenario. You can choose between different manual and automated techniques to perform this check.
With the manual method, you can examine the free disk space available on the drive before installation and the disk space reported by the installer script to ensure the installer is accurately calculating and reporting disk space. After installation, double-check the disk space to confirm its correct usage.
Run a variety of combinations of disk space availability using tools that automatically fill up the disk space during installation. Monitor the system’s behavior during low disk space situations in installation.
#13) As you test for installation, you can also test for uninstallation. Prior to every new installation iteration, see to it that all data files transferred to the disk are removed after software uninstallation.
Sometimes, the uninstallation routine only removes files from the most recent upgraded installation, leaving the old version files intact. Also, check the option to reboot the system after uninstallation manually and forcibly resist rebooting.
I covered numerous aspects of the Manual as well as Automated Installation Testing process.
However, there are still numerous facets that you need to concentrate on, depending on the complexity of the software you’re installing. These crucial but unaddressed tasks include installation over a network, online installation, patch installation, database checking on installation, shared DLL installation and uninstallation, and more.
This guide hopefully offers a handy reference for those struggling to get started with Software Installation Testing, be it manual or automated.