Testing Life Cycle part three

This post is in contiunation with TESTING life cycle part two.

Program (Build/Construction)

Actual testing occurs during the construction stage of development. Many testing tools and techniques exist for this stage of system development. Code walkthrough and code inspection are effective manual techniques.

Static analysis techniques detect errors by analyzing program characteristics such as data flow and language construct usage. For programs of significant size, automated tools are required to perform this analysis.

Dynamic analysis, performed as the code actually executes, is used to determine test coverage through various instrumentation techniques. Formal verification or proof techniques are used to provide further quality control.

Test Process

During the test process, careful control and management of test information is critical. Test sets, test results, and test reports should be catalogued and stored in a database. For all but very small systems, automated tools are required to do an adequate job – the bookkeeping chores alone become too large to handle manually. A test driver, test data generation aids, test coverage tools, test results management aids, and report generators are usually required.


The process of placing tested programs into production is an important phase normally executed within a narrow time span. Testing during this phase must ensure that the correct versions of the program are placed into production; that data if changed or added is correct; and that all involved parties know their new duties and can perform them correctly.


A large portion of the life cycle costs of a software system are spent on maintenance. As the system is used, it is modified either to correct errors or to augment the original system. After each modification the system must be retested. Such retesting activity is termed regression testing. The goal of regression testing is to minimize the cost of system re validation.

Usually only those portions of the system impacted by the modifications are retested. However, changes at any level may necessitate retesting, re-verifying and updating documentation at all levels below it. For example, a design change requires design re-verification, unit retesting and subsystem retesting.

Test cases generated during system development are reused or used after appropriate modifications. The quality of the test documentation generated during system development and modified during maintenance will affect the cost of regression testing. If test data cases have been catalogued and preserved, duplication of effort will be minimized.


No comments:

Post a Comment