Installation Testing
Testing Types - Purpose
Installation Testing is one of the most important part of testing activities. Installation is the first
interaction of user with our product and it is very important to make sure that user do not have
any trouble in installing the software.
It becomes even more critical now as there are different means to distribute the software. Instead
of traditional method of distributing software in the physical CD format, software can be installed
from internet, from a network location or even it can be pushed to the end user's machine.
The type if installation testing you do, will be affected by lots of factors like
What platforms and operating systems you support?
How will you distribute the software?
Installation testing for different platforms
Process of installing your software could be different for different platforms. It could be a neat
GUI for windows or plain command line for Unix boxes.
Usually installers ask a series of questions and based on the response of the user, installation
changes. It is always a good idea to create a Tree structure of all the options available to the user
and cover all unique paths of installation if possible.
Person performing installation testing, should certainly have information on what to expect after
installation is done. Tools to compare file system, registry. DLLs etc are very handy in making
sure that installation is proper.
Most of the installers support the functionality of silent installation, this also need thorough
testing. Main thing to look for here is the config file that it uses for installation. Any changes
made in the config file should have proper effect on the installation.
If installation is dependent on some other components like database, server etc. test cases should
be written specifically to address this.
Negative cases like insufficient memory, insufficient space, aborted installation should also be
covered as part of installation testing. Test engineer should make sure that proper messages are
given to the user and installation can continue after increasing memory, space etc.
Test engineer should be familiar with the installer technologies and if possible try to explore the
defects or limitation of the installer itself.
Installation testing based on the distribution
Apart from the sample cases covered above, special cases should be written to test how software
will be distributed.
If software is distributed using physical CD format, test activities should include following things
-
Test cases should be executed from ISO images, if getting physical CD is not possible.
Test cases should be present to check the sequence of CDs used.
Test cases should be present for the gracefully handling of corrupted CD or image.
If test cases are distributed from Internet, test cases should be included for
Bad network speed and broken connection.
Firewall and security related.
Size and approximate time taken.
Concurrent installation/downloads