Software Testing in Iterative Model
QAI-STC 2006
8
Test Design
Unit test cases iteration N are designed and baselined in N-1 or N iteration.
th
Component and integration tests for each of the iteration are designed as and when the
product architecture and the design documents for components are baselined.
This approach is followed as the product architecture and designs and the iteration scope
for each of the iterations are finalized during the initial iterations of the project.
System integration test cases for each of the iterations are designed as soon as the product
requirements, architecture documents, and iteration scopes are made available.
System integration test cases are more focused on system integration testing, security
testing, functionality testing, and a small scale testing for product performance and
scalability.
Another set of system integration test cases are also designed that are executed on the
complete system (during last iteration when the complete system is ready), to test the
following system parameters
Stress
Reliability
Scalability
Performance
Interoperability
These tests ensure that system integration testing dont lose sight of the forest for the
trees.
The regression suite for iteration N is identified in the same iterations and gets executed in
the next iteration.
Test automation
For UT, CT, IT and SIT - the test automation frameworks that are developed for the previous
release are reused.
Unit test automation for iteration N starts in the iteration N-1 or N.
The test automation tool required for iteration N (for CT, IT, and SIT) is developed and
integrated with the respective frameworks in N iteration it self
th
The development of the system integration test automation tool, needed to execute the final
system level test cases on the complete product is not inline with any of the iterations.
Test Execution and Defect Tracking
Unit testing for the software in iteration N is done in iteration N. The closure of the defects
found by unit testing is done in iteration N itself.
Component, integration, and system integration test execution for software in iteration N is
done in iteration N along with the execution of the regression test suite.
During the final iterations, the set of system integration test cases such as stress, reliability,
and scalability designed to run on the complete system are executed.
Software Testing in Iterative Model
QAI-STC 2006
9
4.3 Approach C
This is a small-scale project, where a major and independent component of a large
product is developed using the iterative model. Major requirements for the component are
the basic design changes and new features implementation. The main objective of selecting
this model are meeting these requirements with less time and less defects, as the
component is part of a critical product, which needs to be delivered in a short span of time
Project Characteristics
Product size: Small scale
Project duration: 6 months
Team size: 5 people
Iteration size: 2-8 weeks
Release type: Enhancement release
Geographical distribution: Component team at one geographical location
Project phase at which the model has been adopted: During architecture and design
phase.
Test Teams Participation
Entire test team - unit test team, component test team, integration test team, and system
integration test teams participate in the iterations
Test Design
Unit test cases for the iteration N are designed and baselined in iteration N-1orN.
Component test cases, integration test cases, and system integration test cases for the
iteration N are designed and baselined in iteration N itself
Another set of system integration test cases are also designed that are executed on the
complete system (during the last iteration when the complete system is ready), and tests the
system parameters such as:
Stress
Reliability
Scalability
Performance
Interoperability
The regression suite for iteration N is identified in the same iterations and gets executed in
the next iteration.
Test Automation
Most of the test execution is manual and no automation frame works are used. Simple and
independent scripts are written where automation is a must, that is, to execute stress,
reliability, scalability, and performance tests.
Unit test automation for iteration N is completed in the iteration N-1 or N.
The test automation scripts required for iteration N (for CT, IT, and SIT) are designed and
developed in the N iteration itself, by the respective test teams.
th
Software Testing in Iterative Model
QAI-STC 2006
10
For executing set system integration test cases designed to execute on the complete
system, the automation tools of previous release are used with required modifications and
enhancements.
Test Execution and Defect Tracking
Unit testing for the software of iteration N is done in iteration N. The defects found by unit
testing are resolved in the iteration N itself.
Component, integration, and system integration test execution for software of iteration N is
done in iteration N+1 along with the execution of the regression test suite.
In the last iteration, a set of system integration test cases designed to run on the complete
system such as stress, reliability, and scalability are executed.
Software Testing in Iterative Model
QAI-STC 2006
11
4.4 Summary of the Three Approaches