Waterfall Model – SDLC
The waterfall model is a sequential design process.
The first activity while working with waterfall is to gather information in regards to requirements and analysis of the system. These are usually obtained from the users and there are many ways these can be elicited, such as directly asking the questions or asking users to fill out forms; checking high level requirements from these users; It is also useful to check mock-up screens and use cases (if available); and finally, what users expect to achieve with the system.
Is important to make sure that all requirements are covered and that are not conflicting between them and they must be very clear on the documentation as well.
The next phase consists in designing how the system will be built; from verifying the architecture the software will use, the interface which will be presented to the user, and which kind of data structure it will use (such will it store data on a DB or will it store/retrieve data from a webservice). At this point the system design is usually shown in the form of an entity relationship diagram.
Once the design phase is completed, then Development Team can start coding based on the Software Architecture documentation generated at this stage.
Depending on which test strategy / methodology, the test related tasks might happen during the development or after the development was finished:
Tests written directly by the developers, to test specific portions of the code (return codes, expected parameters, known errors, and so on).
Similar to unit testing, but grouping individual units and testing them as a group. Usually done by developers as well.
Responsibility of the test team, usually driven by the system requirements documentation.
Might consist of acceptance testing from the system provider or acceptance testing by the client. In both cases, it is performed by the test team. It is common practice to also train users on the product.