What is Installation Testing?

testing is performed to ensure that all necessary components are installed properly and working as per the requirements of the software, post installation. Installation process may include partial, full or upgrade install. This is very important activity in the life cycle of software because installation is the first interaction of user with software and if user experience is satisfactory, then success of software and company go hand in hand.

Few points need to check in the prior to Installation testing:

  • Verify the pre-requisites needed to software install the application if any.
  • Installation should be run at default location & it should present to user with default location with user can able to change the default location.
  • Verify that user should able to install software from different location like over network, online installation, installation from CD etc.
  • Verify software installation without giving the administrative privileges.
  • Verify to check working of Installer.exe is executing smoothly on clean state.
  • Verify to check is the Installer.exe is calculating the disk space needed to successfully install the application prior to install the application.
  • Verify the software installation on multiple platforms, before doing this need to confirm the supported list of platforms.
  • Verify that successful “Silent installation”. In the Silent installation messages in the process of installation are not displayed on UI, all messages are added in log files and based on messages occurred is used as input in the installation process.
  • Verify if the Interactive installation, GUI screen presented to user & user needs to provide input parameters in installation. This is majorly used in product installation.
  • Verify that after successful installation of software is it working as per mention in specification document & meet user needs.
  • Upon un-installation of software application check for the all previously installed files and registry entries are removed or not.
  • Verify that is user able to uninstall or repair the software application.

Customer will happy on successful installation of software, Definitely yes. But you think of other way round if it fails to install. Upon failure of installation our software will not work but it might be possible that the data present on customers machine may affect badly. As a result, it makes bad impression on customer. This is due to the incomplete installer testing.

Type of Installation

  • Silent Installation: Installation that does not show messages during its installation on console. All messages of installation are normally saved in a log file in case of silent install.
  • Attended Installation: This is the most common form of installation in which involvement of user is necessary to give its input/selection of choice. Tasks that user performs in an attended installation:
    • Accepting end-user license agreement that is in short called EULA.
    • Selecting directory place to install
    • Entering password if software is asking for it example when we install mysql, during its installation configuration it asks for the password
    • User also helps in mitigating certain error like memory is not enough then installer asks for a new place for its installation. If installer is downloading its packages from internet during its installation and LAN is disconnected then it also gives error message “Check you internet connection “.
  • Unattended installation: User involvement is not needed in the installation of product and sometimes if user intervention is involved then whole installation is done through answer file in which user mentions all the parameters that are needed for installation. Installation of xp operation system is example of this.
  • Headless installation/Network Installation: In this kind of installation, Monitor or console is not needed and installation is made on targeted computers that are connected with a machine on network and in this user involvement is not needed at targeted computers for installation of product on each system. This kind of installation takes place in big organizations where product is to be installed on thousands of system all together.
  • Clean Installation: This is the installation where old version of product is not installed on system and product is being installed for the first time. Installation of OS is example of clean installation
  • Automated Installation : In this administrator schedules the installation of product on certain prerequisite conditions.

Typical test cases should be taken in to account for Installation testing

  • Test cases should be written for all work flows and this type of test cases come from requirements.
  • Test cases should be written that check the old version of product installed. If old version is installed, then test case should be written to install the product on the same path.
  • Test script should be written to check the required Disk Space for installation.
  • Test cases should be written for proper error message during installation.
  • Test cases should be written to check the disk space before installation and just after installation of disk space.
  • Test cases should be written to compare all the files and packages installed on system with the previous version of installer packages.
  • Installation on network, on multiple machines through Master machine.
  • Test script should be written to check the changes in registry.
  • Test cases should be written for forced stop of installation.
  • Default installation and custom installation path should be included in test cases for testing.
    Installation testing should also be done when some other software of same kind is running and this testing should also be done with the software that is using a lot of RAM for its operation.
  • Test cases should also be written for insufficient memory, here I am talking about RAM.
  • Testing should be done for insufficient disk space and a proper error message should flash for insufficient disk space or some error number should flash.
  • Testing of installer should be done when Firewall is on and security of system is high.
  • Network speed / LAN Connectivity should also be tested if installer is using net to download its package file for installation.
  • Concurrent installation of multiple product test cases is also most important.
  • Time taken for installation and extraction.
  • Testing should be to see the path of extraction of software and in general extraction of software takes place in temp file.
  • Test cases should be written for log files, that includes all the activities of installation.
  • Uninstallation of product should be tested through add/remove programs and also from the path of the installed program, where we could find a un-installation file.
  • On double clicking the setup file, installation should start.
  • Update installation and patch installation should also be tested.
  • Running setup of product that is pre-installed on system should show GUI that should ask for Repair/Remove option or un-install and reinstallation option of same product.
  • Test cases should be written to test how uninstallation behave when we uninstall after stopping uninstallation in midway
  • Testing should be done to show proper messages when recent version is installed on system and we are trying to install old version of same product.
  • Installer should be tested without having system administrator privileges.
  • A test case should also be written for installation of product in a folder where write option is disabled.
  • A test case should be written for successful uninstallation and all files should be removed after uninstallation of the product.

We are hoping that these articles can help you to improve your knowledge. If you have any more thought on this feel free to share with us.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>