An "installation verification program" or IVP is a procedure that
verifies that a software component or service is behaving as expected.
This helps detect errors introduced into that component by
maintenance. Ideally, an IVP should:
IVPs can also be useful in detecting problems in related components.
For example, the correct operation of an IVP for FTP also helps verify
that the supporting TCP/IP services are operational. If IVPs are run
on a regular basis, they can also help pinpoint when a problem first
- exercise the main functions of the software component without
requiring an inordinate amount of elapsed time to complete.
- verify the correctness of any output produced. For example, if a
file is being sorted, then it would be desirable to ensure that the
file is indeed in the expected sequence.
- detect environmental errors that might otherwise prevent a failure
from being detected. A test that fails silently is not helpful.
- check for expected messages indicating successful completion as
well as checking for unexpected error messages.
- produce repeatable predictable results. It should be easy to
determine if the IVP worked or not.
- be restartable after a problem is encountered. The IVP should
clean up after itself.
- verify that the component operates correctly for a typical user,
not the product installer or an administrator. While it may only be
possible to verify some functions from a privileged account, it is
also important to ensure that functions intended for use by users
that don't have special privileges continue to function as expected
for those users.
IVPs can incorporate knowledge gained as a result of previous
problems encountered with a software component, so that an
installation doesn't get hit twice by the same problem. A
well-designed IVP can also help avoid the first hit by detecting a
failing component before it is unleashed on users of that component.
For More Information
Visit Things that go Bump in the Night here.