1> install successfully according to the instructions;
2> check the disk space after installation;
3> check if the installed software is working or not;
4> change conditions such as directing to the non-existing folder to check if installation continues;
5> remove some necessary files in the installation package to check if the installation continues;
6> cancel the installation when installation is progressing to check if the installation stops and the installed files are cleaned up;
7> uninstall the application normally
8> cancel the uninstallation half way when it is in progress; then again try to uninstall normally (uninstallation should be successful)
9> reinstall the application (after successful uninstallation).
10> uninstall the application (after successful reinstallation).
These are just some test cases. you may get more test cases as u give a little bit of more thought.
Guys plz add more test cases. lets see what out of box can u think off.
Thanx for those test cases, I want to add fewmore to this when an insataller has to add a website to the IIS and if the installer have to Install few window services,
11> Check if the website is created in the selected or expected structure by the installer.
12> Check if the installer updates the correct version of the .net Frame work version correctly as expected(.Net Application )
13> Check if the Credentials are given as expected.
14> Check if the Windows services are Installed as expected.
1. Support of the different platforms and configurations needed?
2. Does Installation in “clean state” working?
3. Does the installer is able to calculate needed disk space?
4. Does the installer capturing the baseline free space before launching the installer?
5. Does the amount of space the installer claims it needs for the various type of installation is actually taken up or is
there any discrepancy?
6. How much disk space is used by the installer if the installation is quit midway (this would help gathering
information on temp files that’s deleted on quitting).
7. Does the installation recover in case an error is met during the installation?
8. Does the installer able to Repair any corrupt installation?
9. If the application installed properly fro each type of installation (for typical, custom and complete)?
10.Does Installation over network working?
11.If any file association is made during installation, upon uninstallation, does the association is removed and the base file association is returned to the files?
12.Does running the installer, followed by launching the program to run some tests, and then running the uninstaller, also return your machine to the base state?
13.Does uninstallation leave any registry entry, data files in the system?
14.If there exists a version of the app to be installed already on the machine, does the installer identify that?
15.Does the installer identify if some needed components (such as, MSDE etc.) are already installed on the system?
16.Does running two instances of the installer should prompt a message to the user that an installation setup is already running?
17.If the user logged in, doesn’t have write permission for the machine, how installation reacts to this?
18.What happens if the installer tries to install to a directory where there is no write access?
19.Is the installation path configurable/non configurable?
20.Check to ensure that when installing the product, it should provide a browse button which enables the user to install at any folder, and it should provide by default folder (For ex: C:\program files)
21.Is the registering and un-registering the components (dlls) on installation and uninstallation is occurring properly?
22.Are all the files installed in the respective folders and path?
23.Whether all the files/registry values/services are installed properly.
24.Check whether the shortcuts are installed properly and also the PATH (any other ENV variables) is updated properly.It can be CURRENT USERS profile or All Users profile based on your requirements).
25.Does the installation support, 'UnInstall', 'Modify', 'ReInstall' options?? If yes, does it work?
26.If the installer is supporting upgrade feature, does it preserve all the necessary settings (mostly user preferences)?
27.Check for the user privileges before starting installation. (In most of the cases, installer requires ADMIN privileges).
28.Check the uninstaller entry in add-remove programs. (Check for display string, Display icon and Support information etc.).
29.Does running the installer, and then running the uninstaller, return the machine to the base state?
30.Reinstallation should, apart from identifying previous versions, also should give an option to Remove and Repair.
31.Check to ensure that license key is properly stored in Windows Registry library.
32.Check to ensure that if an evaluation version is installed, then a proper message should be displayed when the date of period is expired for evaluation version with proper error message.
33.Check to ensure that, if Windows Services are installed then it should install in the Services folder of windows directory.
34.Check to ensure that if any product is installed and it is dependent on some other product, then it should give proper message as "The Product is not installed and it should exit". Check for dependencies.
35.If the product to be installed uses any third party dll and if it is already installed by some other product confirm that the current installation doesn’t un-register/tamper it and uses the existing one.
36. If the dll is already there in the system how does the installation work?
37. And also while uninstalling, check should be made as to whether that the shared dll is left without affecting other product.
38.“Usability” consideration of the installer.
If u needs more information mail me to this id: firstname.lastname@example.org
Understanding what is Software Installation testiing:
Software Installation testing is to validate that all Installer features and options function properly and also verifies that all necessary components of the application are, installed. Its goal is to demonstrate that the installation functions and behaviors work correctly.
The goals of software installation validation are to answer the following questions:
Can the software be properly installed on all specified system configurations
On the specified system configuration environment, can the software be successfully installed under each of
the validated running conditions?
Does the software demonstrate that its installation functions and behaviors behave correctly
Installation test process lifecycle: Phase 1:Understand, identify, and document all of the system configurations and possible environment
settings Phase 2:Understand, identify, and document all of the system installation conditions for each
configured system environment Phase 3:Plan software installation testing by:
– Identifying and selecting the right test standards and test criteria
– Defining tasks and a working schedule Phase 4:Identify and design installation test cases Phase 5: Execute the specified installation tests and report results
A precise of the current practice in the real world is:
• Install Testing is done just using various ad-hoc approaches
• Lack of well-defined test models, standards, and test coverage criteria
• Test Cases are designed using an adhoc approach without models and criteria
• Most test executions are done manually including file checks
• Only GUI-based executable test scripts are generated in ad-hoc approach
• Installation test is just carried out using a inhabited or jumbled plan
Conversion to a process Oriented Installation Testing:
A detailed analysis of Software Installation testing as discussed below enables to identify a systematic approach for Installation testing. A. Identify System configurations & Conditions:
To start installation validations one has to first decide on how many different system configurations need to be tested. In such cases flow diagrams can help out in identifying the basic system configuration and simplify the conditions for different environments. Attached flow diagram would simplify the task of identifying the scenarios at first shot. Please find the attached flow diagram.
These identified system configurations thus contribute the scenarios for the proposed testing and mark the end of Phase 1 & Phase 2 in the Lifecycle.
Common Scenarios of InstallationTesting include:
Installation on different OS (Win 98, NT, Windows 2000, XP,VISTA,UNIX, LINUX)
Installation from diskettes, CD, DVD Internet patches etc.
Installation over older versions
Multiple installations to separate directories to have multiple network drives
Multiple installations for different product Licenses
Installation by user levels and admin
Try to install the software without administrative privileges
Try installing on system having noncompliant configuration such as less memory / RAM / HDD
B. Test Plan and Test Case Design:
Installation Plan -Phase 3 includes defining the scope of the test, entry and exit criteria, installation schedule, backup procedure like restoring of files after they have been accidentally deleted or corrupted, installation test procedures, assumptions, dependencies and Risks and resource requirements.
In many cases, engineers don’t have enough time and resources to cover adequate sets of installation test
In many cases on all of the identified configurations and installation conditions. Hence it is very much required to identify the test sequences and plan the validation sequence.
The validation sequences should be identified to cover,
Diverse system environment configurations from the most important one to the least important one or an
Different system running conditions from the most common one to the rarely encountered one
Various system installation function tests
C. Installation Testing coverage & checklist:
Once the validation sequences relevant to the software product are identified, the test case design phase (Phase 4) starts. Test cases should be designed in such a way to cover the major checklist items as listed below.
Installation should start automatically when the CD is inserted
Verification for install of dependent software/patches say Service packs, crystal reports, .Net Framework etc
while installing the Software
Version Check for the same product, ensuring older version not been over installed on the newer version
Installer should give a default installation path say “C:\programs\.”
Installer should allow user to install at location other then the default installation path
Check for Online Installation if supported by the product
Check if the product can be installed over the Network Check for Patch Installation
Database connectivity Checking on Installation
Shared DLL installation
Uninstallation should give the Remove/Repair options
When uninstalling, check that all the Registry keys, Files, DLL’s, Shortcuts, Active X components are
removed from the system
D. Test Case Template:
The Installation Test Case Template can be used to create, execute and gather metrics for Installation Test Cases. The template can be broken into two sections Installation and Build Verification Test Cases.
The Template is meant to be a guideline and hence adding or modifying of sections can be done appropriate to the project.
Please find the attahched test case template.
E. Extended Installation Testing:
Routinely Installation testing stops with the test for the application install or the components install due to time constraints of meeting the deadlines. In order to achieve an extended coverage of testing, Installation testing should focus more on file system, registry keys, DLL’s, shortcuts, ActiveX Components etc and shareware utilities enable you to verify the same.
File comparison utilities would help to identify the updated/enhanced functions of the application with a comparison of the previous version and the current version of the software. Shareware utility programs like WinMerge are useful for determining what has changed between versions and then merging changes between versions. Batch files can be written to verify the registry changes on successful installation.
A practical implementation of file comparison study and identifying the major functionalities of focus have proved in the increased count of Installation bugs in the previous projects.
Build Verification Test which is a set of tests run on each new build of a product before the build is released into the hands of the test team exercises the mainstream functionality of the application software. Thus build test gains its importance as it lets developers know right away if there is a serious problem with the build, and they save the test team’s time and frustration by avoiding test of an unstable build.
Automation of such identified Build verification test sets can overcome the time constraints of the Installation testers.
F. Installation Issues & Challenges: Performing Installation testing also includes handling of errors, some common and unexpected installation issues include:
Windows Installer errors
Database runtime coexistence
SQL Server connectivity
Unusual application performance
Though Installation testing observes its own importance, industry identifies the following challenges in software installation validation:
Installation failures leave the user’s system badly damaged. User might require reinstalling the full operating
The software product should be installed on a diverse system environment with many different
The software product installation should be validated under various system running conditions
Software installation testing needs to be performed under a very tight schedule and lack of well-defined
test models, test criteria, and tools
Major concern of installation testing is Time! It requires lot of time to even execute a single test case. The
complexity increases when it’s a lifesize application to be tested with many test cases on different