The “V” symbolizes two branches of the model. Here, the development phase is situated across from the corresponding quality assurance phases. The left arm of the letter V contains the tasks for designing and developing the system. The right arm encompasses related quality assurance measures. Located in the middle of both these arms, embedded between the development phases and quality assurance phases, is the implementation of the product. In the case of a software project, this would be software programming.
Whether the designed software architecture has been correctly implemented is checked via unit tests. During these tests, the software’s individual modules are scrutinized in-detail to assess whether they perform the required functions and actually deliver the expected results. In order to avoid errors, these module tests are usually run in parallel to development where possible.
Situated across from the system design are the integration tests, which are in place to check if the separate components work together as planned, and whether, for example, all processes yield the expected results. Erroneous results at this point can indicate problems with the interfaces, among others.
The system test checks whether the system’s general requirements – which were defined when the system architecture was designed – have been met. These tests normally take place in a test environment, which readjusts the actual conditions for users as accurately as possible.
At the end of the project, the requirements analysis of the overall system is performed. In the model, this is placed across from the acceptance of the finished product. During the final acceptance, the customer checks whether the software meets the requirements of routine operation. Here, the software behavior is normally tested on the surface, i.e. to the extent that a customer would use it on a day-to-day basis. One also refers to this as an acceptance test.