Purpose To top of page

The purposes of testing are:

  • To verify the interaction between objects.
  • To verify the proper integration of all components of the software.
  • To verify that all requirements have been correctly implemented.
  • To identify and ensure defects are addressed prior to the deployment of the software.

In many organizations, software testing accounts for 30 to 50 percent of software development costs. Yet most people believe that software is not well tested before it is delivered. This contradiction is rooted in two clear facts. First, testing software is enormously difficult. The different ways a given program can behave are unquantifiable. Second, testing is typically done without a clear methodology and without the required automation or tool support. While the complexity of software makes complete testing an impossible goal, a well-conceived methodology and use of state-of-the-art tools, can greatly improve the productivity and effectiveness of the software testing.

For "safety-critical" systems where a failure can harm people (such as air-traffic control, missile guidance, or medical delivery systems), high-quality software is essential for the success of the system produced. For a typical MIS system, this situation is not as painfully obvious, but the impact of a defect can be very expensive.

Well-performed tests, initiated early in the software lifecycle, will significantly lower the cost of completing and maintaining the software. It will also greatly reduce the risks or liabilities associated with deploying poor quality software, such as poor user productivity, data entry and calculation errors, and unacceptable functional behavior. Nowadays, many MIS system are "mission-critical", that is, companies cannot fulfill their functions and experience massive losses when failures occur. For example: banks, or transportation companies. Mission-critical systems must be tested using the same rigorous approaches used for safety-critical systems.

Relation to Other Workflows To top of page

The Test workflow is related to other core process workflows.

  • The Requirements workflow captures requirements in a use-case model, which is one primary input for identifying what tests to perform.
  • The Analysis & Design workflow describes how to develop a design; this is the other primary input for identifying what tests to perform.
  • The Implementation workflow produces builds of the implementation model that are tested by the Test workflow. Within an iteration there are several builds tested, first when the system is integrated, and last to test the whole system.
  • The Environment workflow develops and maintains supporting artifacts that are used during test, such as the Test Guidelines.
  • The Management workflow plans the project, and each iteration (described in an Iteration Plan).
 

Display Rational Unified Process using frames

 

© Rational Software Corporation 1998 Rational Unified Process 5.1 (build 43)