What is Spiral Model in software testing and what are advantages and disadvantages of Spiral Model
What is Spiral Model?
Spiral Model in software testing is the testing strategy which works on incremental and prototype technique. Generally Spiral Model strategy is followed for the large and complicated projects where risks are high and development and testing goes on incremental basis. Spiral Model is also known as Spiral Lifecycle Model. The Spiral Model was introduced by Barry Boehm in 1985. This model is quite old but still very useful for the large projects development and testing.
There are five phases in Spiral Model-
- Planning of each phase and next phase.
- Risk Analysis
Testing and development starts from planning phase and carries up to evaluation phase. All the requirements are collected in the planning phase itself. In the risk analysis phase we assume all the risks could be occurred during testing and development. In engineering and execution phase we start executing the test cases which are planned and identified and finally we move to the evaluation phase where we review the progress of the project. The reason of success of Spiral Model is that analysis and engineering both carried out in each phase of the project.
Advantages of Spiral Model:
- Best approach for testing and development for complex and large project.
- Cost effective.
- Better risk analysis and management.
- Better requirement analysis.
- Fast and easy development.
- Better time management.
- Easy to change requirements and documentation if any change happens in the middle of development.
Disadvantages of Spiral model:
- Difficult to follow strategy for small projects.
- Not much useful for low risk projects.
- Need more experience resources as process is bit complex.
- Large documentation.
When Spiral Model should be followed:
- For large and big projects.
- For high risk projects.
- If requirements are more complicated.
- If frequent changes required in the project.
How will the spiral started and stopped , if only the first three of the top-10 risks be taken?
DOES SPIRAL MODEL REQUIRE A SEPARATE TESTER OR THE CODER WILL HIMSELF TEST THE MODULES..
My opinion is that coder will need to cook up unit test to ensure unit-level functionality and tester would do more of white-box or black box testing activities. I guess development process should align with the continuous testing strategy for every iteration / cycle.