The Waterfall model is one of the first models to be used for software testing. In this approach, the software development process is divided into separate phases. These phases typically include requirements specification, software design, Integration and test, and maintenance. Each phase cascades to the next. That is, one phase doesn't begin until the main goals of the previous phase is completed or signed-off.