Iterative life cycles

A common feature of iterative approaches is that the delivery is divided into increments or builds with each increment adding new functionality. The initial increment will contain the infrastructure required to support the initial build functionality. 

The increment produced by iteration may be tested at several levels as part of its development. Subsequent increments will need testing for the new functionality, regression testing of the existing functionality, and integration testing of both new and existing parts. 

Regression testing is increasingly important on all iterations after the first one. This means that more testing will be required at each subsequent delivery phase which must be allowed for in the project plans. This life cycle can give early market presence with critical functionality, can be simpler to manage because the workload is divided into smaller pieces, and can reduce initial investment although it may cost more in the long run. 


Also early market presence will mean validation testing is carried out at each increment, thereby giving early feedback on the business value and fitness-for-use of the product.




Figure 1: Iterative Development Model

Incremental Development Models:
  • RAD (Rapid Application Development)
  • RUP (Rational Unified Process)
  • Protyping
  • Agile Development


Irrespective of the life cycle model used these are some of the good testing characteristics to adhere to:
  • for every development activity there is a corresponding testing activity
  • each test level has test objectives specific to that level
  • the analysis and design of tests for a given test level should begin during the corresponding development activity
  • testers should be involved in reviewing documents as soon as drafts are available in the development cycle




Comments

Popular posts from this blog

Types of Review

Roles and Resposibilities for a Formal Review

Phases of Formal Review