Wednesday, April 30, 2008

Installation Testing

Installation testing is a part of testing that is performed on every product. Though it is the basic testing that needs to be performed on every software most of the testers take this testing very casually. Some testers always look at the front end (ie the messages displayed during the installation) rather than the back end( ie files that are getting installed).

It is responsiblity of the tester to ensure that the files/registries created during the installation process are successfully removed during the un-installation. How do I know the list of files that are created during the installation? What are the registries that are created? Does my software depend on any of the system files(dll etc) which are delivered with the Operating system or any other software? Does my software make any modifications to any of the existing registries?

These questions arrived in my mind while starting the testing of a software product. Some times I use to encounter with Errors during Installation. These errors forced me to do reverse engineering for the product. This helped me to understand the software in detail. The process I started to understand the flow of the software is as follows:

Every setup file for Windows is delivered as MSI or EXE file. The MSI(Microsoft Installer) contains the installation information along with the files. To know the files that are packed with the MSI I started using the tool "Orca". This tool gives me the details of the files that are packed in the msi(name of the file, size of the file etc). The next method to know the files that are created with the MSI of the product is to perform Administrator install through command line. This method will extract all the files into the target directory and as a result, one can easily identify the files that are packed with the MSI along with the path of the installation.

An exe can be built with different programming languaes. The other way is an self extractor/self installer exe that is built with iexpress.exe(inbuilt tool) in Windows. This kind of exe can be simply unzipped using 7zip.

There are also couple of tools like Process Manager developed by Microsoft which keeps a track of all the registries and files that are accessed/created/deleted while a process is running. This tool helps to build the data flow of the entire product.

Using these tools the Installation testing(including uninstallation) can be performed in an effective and efficient way.

No comments: