User:P jyoti/Sandbox

This article is about Installation testing. Some of the inputs have been taken from Wikipedia: Installation testing, itself.

INTRODUCTION:

Installation testing is also known as Implementation testing or Setup testing. This is a kind of testing that focuses on what users of the application will need to do to Install the new software successfully. This testing is performed to ensure that all necessary components of application are installed. This is performed to ensure that all Install features and options function properly. This testing process involves all or few of following cases: Complete Install/Uninstall, Partial Install, Upgrade from one version to another and Upgrade from one edition to another.

PROCESS OF INSTALLATION:

This testing is typically done by software testing Engineer in coordination with Configuration Manager (CM). CM uploads/ deploys a compiled version of code into the QA or pre-production environment. This deployment environment is generally outside of the software development environment, so as to limit code corruption from other future releases which may reside on the development network. At times, the CM may deploy the software in shared networks or drives. Software testing Engineer is updated about this installation through email communication from CM. Software testing Engineer extracts the executable file from the folder containing install program. This folder should also contain Readme file that updates about the latest version of code. The install program uses a setup program which acts as a multi configuration wrapper and which may allow the software to be installed on a variety of platforms (Operating systems)

PREREQUISITES TO INSTALLATION TESTING:

Before commencing Installation testing, it is required to know: - The different system configurations, - The different versions of the software, - The different versions of the Operating systems, Where the feasibility of the application has to be tested. Now these requirements form a part of the Business Requirements Document. Apart from the tedious manual method of configuring machines as per different sets of requirements, following two processes can be used: - Use software’s like Norton Ghost for creating exact images of operating systems quickly - Use Distributed testing environment. Here a master machine is created that drives different slave machines on network. Installation can be started simultaneously on different machine from the system. Now Installation testing is performed. If the testing is successful, the software is released to the customer

TYPES OF INSTALLATION TESTING:

Installation testing may include all or few of the following cases: -Complete/fresh install -Partial/custom install -Upgrade -Uninstall

In Complete installation process, the install program is tested for various installation types like: -Installation on computers that have minimum hard drive -Installation on computers that have minimum RAM required -Installation on removable drives (Zip and Jazz) -Installation on drives other than the default drive -Installation on clean systems (no other software installed) -Installation on old systems (other soft wares installed) -Installation involving different security options Custom installation should provide the user with modify and repair options. The user should be able to customize the installation of the application as per needs. Installation testing also involves testing the upgrade of the application from one version to another. This upgrade should update the version of the application to the newer one. Installation testing also involves testing the upgrade of the application from one lower edition to higher edition. Again this should be reflected after the upgrade. Installation testing involves Uninstallation testing, as well. Uninstallation process should be clean. It should ensure that all the independent/shared executables and dlls are removed.

AUTOMATING INSTALLATION TESTING:

Installation testing can be automated to reduce time spent and effort involved. Some of the scenarios that can be automated are as follows: -Verifying correct installation of files to be written on disk. -Verifying registry changes on successful updates. -Verifying correct versions of screens and .dlls -Verifying disk space checking

CONCLUSION:

Once the Install program passes the Installation test successfully, it is released in the production environment for further testing. Installation testing should not be confused with Sanity testing. Installation testing occurs before deployment of code in production while Sanity testing is after code release. Installation testing is a gate check for the software release. A software can be released only when it passes the installation testing. Though ignored, it forms an important part of testing; as most of times, critical issues related to Operating systems, .dlls version are figured.