The purpose of this discipline is to:
-
Find and document defects.
-
Validate and prove the assumptions made in design and requirement specifications through concrete demonstration.
-
Validate that the software product works as designed.
-
Validate that the requirements are implemented appropriately.
A good test effort is based on the philosophy of test early and test often. In addition, it is driven by questions such
as:
-
How could this software break?
-
In what possible situations could this software fail to work predictably?
Testing challenges the assumptions, risks, and uncertainty inherent in the work of other disciplines, and addresses
those concerns using concrete demonstration and impartial evaluation.
The Test discipline is related to the other disciplines in the following ways:
-
The Requirements discipline captures requirements for the software product, which is
one of the primary inputs for identifying what tests to perform.
-
The Analysis and Design discipline determines the appropriate design for the
software product, which is another important input for identifying what tests to perform.
-
The Implementation discipline produces builds of the software product that are
validated by the Test discipline. Within an iteration, multiple builds will be tested - typically one per test
cycle.
-
The Project Management discipline plans the project and the necessary work in each
iteration. Described in an Iteration Plan, this artifact is an important input used when you define the correct
evaluation mission for the test effort.
-
The Configuration and Change Management discipline controls changes within the
project. The test effort verifies that each change has been completed appropriately. Test assets are kept
under configuration management.
|