Navigation bar
  Start Previous page
 4 of 5 
Next page End  

Software Testing in Iterative Model
QAI-STC 2006
12
5 General Observations
After understanding the test process in the above three approaches, the following
common observations are made. These observation can be considered while planning for
the iterative projects:
1. For products developed from scratch (new product developments), accumulated set of
test cases are run for each integration, to reduce the risk of dependency breaks and
integration issues.
2. For maintenance or enhancement releases, a regression suite is run instead of
accumulated set of test cases as the chances of dependency breaks and integration
issues are less.
3. Test automation is critical and a must for new product developments as accumulated
sets of tests are repeated in each of the iterations.
4. Iteration size gradually reduces towards the release time to cater to the following:
a. Need for frequent defect fixation/regression
b. Release pressures.
c. Scope changes.
5. Additional iterations are introduced or existing iterations extended to cater to major
design changes or arrival of new requirements.
6. For the maintenance or enhancement projects, test efforts are almost same as classical
waterfall or V model (as only regression tests are run for every iteration), but product will
get tested along with the coding phase, that is, the code is almost tested at any given
point of time.
7. Strict adherence to schedule is expected, as all the planned activities need to be
completed with in the given iteration, which is a very short duration.
6 Best Practices
The teams followed some of the best practices, which helped a quicker release yet with
quality. The practices can be generic in nature and can be easily adopted during the product
development process.
1. A practice called Test Based Development was followed to reduce the defects found
during UT.
2. Defect Prevention was achieved by 
a. Peer reviews
b. Test team involvement in design discussions and design reviews
c. Rigorous test execution
3. Use of freely available test automation frame works like Jtest®, which can be used
during iterations to plug-in required tests.
4. Regular process health checks through post iteration analysis meetings to identify areas
of improvement and improvement plans.
Software Testing in Iterative Model
QAI-STC 2006
13
5. Planned buffer iterations to cater to new requirements arrival and clearing of long lasting
bugs.
6. Use of Adaptive test planning methodology. In the cases where the software is not
ready for a given iteration, instead of waiting for the development team to release the
code, you can execute the tests that can be executed on the current software but were
planned for the later release due to the test criticality or time availability. This will create
buffer for test activities of future iterations.
7 Challenges and Suggestions
Challenge 1:
Paradigm shift: Difficulty in adapting to a new model.
Suggestions:
Training on the iterative model and its applicability
Incremental migration towards the new model and realizing the benefits of the new
model.
Buy-in and support from the management team
Challenge 2:
Test repetition is more, especially regression tests and integration tests
Suggestions:
Automate the tests that need to be run repeatedly.
Have a dedicated iteration after every 3-4 iterations, which focuses on regression tests
and extends integration tests, which can test the integration of the components from the
past iterations.
Challenge 3:
Overcoming the paradox that SIT cant participate in the iterative model, as the software is
released in pieces, and system integration testing has to be done on the partially built
software.
Suggestion:
Need to redefine system integration testing.
SIT can test the system parameters like performance, scalability, and reliability from the
initial stages. Its always better to test early and get defects early and fix them.
If it is really not worth for SIT to test the software produced during some of the iterations,
follow the adaptive test planning approach (which is detailed in the section 6), or regress
the defects, or use the time for test automation. 
Software Testing in Iterative Model
QAI-STC 2006
14
8 Testing Benefits in the Iterative Model
Shift from the paradox that Test team always work under pressure as testing is the
last phase of a product release.
Product testing does not get compromised as testing will happen along with product
development as compared to conventional models, where usually testing gets
compromised as it is needed to absorb the delays from the product development phase,
that is, trade time (ship now but buggy) against testing (ship late).
Early defect detection and fixation ensures better product design or architecture.
Detailed and exhaustive testing; as the product undergoes rigorous testing at each of the
iterations
Low burden on testing during intermittent release (Alpha release, beta release etc.)
because at any point of time, the product is usable, testable and tested with all the
critical features/requirements implemented.
9 Conclusions
The nature of the tester's role changes in iterative projects. We are no longer the high-profile
victims, we are no longer the lonely advocates of quality; we are merely (!) competent
service providers collaborating with a group that wants to achieve high quality. 
Quality and efficiency are best served by testing software as early as possible in the life
cycle. Its up to us to tailor the test process to the best suited way and participate as early as
possible in the product development life cycle.
Iterative model concepts can be applied to any project independent of size, type, and
duration, to avail the benefits of agile methodologies.
Software Testing in Iterative Model
QAI-STC 2006
15
References
Software Testing and Software Development Lifecycles 
- IPL Information Processing Ltd
XP, Iterative Development, and the Testing Community - Stickyminds
- Cem Kaner
Iterative development Testing approaches 
-Bryan Campbell
Iterative Software Lifecycle Process
-
objective software
Jtest® - Tool for Java unit testing and code complience.
Click to Convert - Powerful PDF Converter and HTML Converter. Previous page Top Next page