What is Waterfall Model in software testing and what are advantages and disadvantages of Waterfall Model
What is Waterfall Model?
Waterfall Model is also known as Liner Sequential Life Cycle Model. Waterfall Model followed in the sequential order and so we move to next step of development or testing if the previous step completed successfully. Waterfall Model is very successful approach for the small projects and if the requirements are very clear. In Waterfall Model, testing starts at the end when development work is completed. The name Waterfall describes that testing or development is carried out in downward mechanism like water falls towards down. Waterfall Model is very popular strategy for SDLC. Once Waterfall Model is followed and if any step completed and next step has been started in development process, we can’t revert back to the previous step to redevelop or perform any change. Waterfall Model concept first introduced in 1970 by Winston W. Royce.
Phases in Waterfall Model-
Requirements: This is the first phase of development where all the requirements gathered and documented.
Analysis: In this phase we analyze all the gathered requirements whether the requirements are valid or invalid.
Design: In this phase all the system design is analyzed and specified like hardware, system configuration and architecture or the system.
Implementation: In this phase all the development works are performed and development components or units handed over to testing team.
Testing: Once the development completed, testing phase starts and in this phase we test the each unit or component and make sure the developed components are working as expected. All the testing activities are performed in this phase.
Deployment: Once testing is completed and make sure there is no bug or defect or any kind of issue, then project is deployed to production. Once product is deployed to production the end users start using the product.
Maintenance: We always keep eye on the product and provide all the necessary bug or issue fixes if occurs in production or reported by end users. Also time to time we keep updated the product with new updates or patches if developed or available.
Advantages of Waterfall Model:
- Very good approach for small projects.
- Easy to use and follow.
- Cost effective.
- Each phase completely developed.
- Development processed in sequential manner so very less chance to rework.
- Easy to manage the project.
- Easy documentation.
Disadvantages of Waterfall Model:
- Not very useful for the large project.
- Less effective if requirements are not very clear at the beginning.
- Very difficult to move back to change on the previous phase.
- Testing starts once development completes, so more and more chances of bugs to be found.
- High risk.
- Less flexible.
When Waterfall Model should be followed:
- If project is small and requirements are very clear.
- For low budget projects.
- When changes in the project are stable.