Testing software upgrades
Carol A. Woods
Amy G. Robison
Intergraph Mapping and Geospatial Systems
241 Disk Drive
Madison, Alabama 35758
Testing is a critical component of successful software upgrades. Before proceeding with
upgrade testing, the following questions must be answered:
-
How often will the software be upgraded?
- What will be the extent of the changes?
- Which processes will the upgrade affect?
If numerous upgrades are anticipated, installing a permanent testing environment can be
cost effective. Understanding the extent of the changes will also help determine the type
of testing and the parties responsible for testing.
Introduction
New technologies and increased competition contribute to the ever-changing
environment of today’s company. To keep up with these needs, software developers are
releasing new products and upgrades with shorter intervals between releases. Because
the intervals are short, testing becomes even more critical.
The definition of an “upgrade” is: a major revision to a software application, usually
designated by a version number, and very often sold to new and existing customers at
varying prices. A "patch" or "bug fix" release is usually intended to fix problems and is
almost always offered at no charge. (Burnham 1999)
Ideally an upgrade would not require testing; the software would be expected to work in
all situations. However, that is not typically the case. Interfaces, specialized
configurations, and legacy software introduce many variables in software quality. This
paper focuses on software upgrades. It examines the test environment, the types of tests
needed, and the responsible personnel by asking questions such as: How often will
upgrades occur? What has changed? What processes will the upgrade affect?