V Model

According to the IEEE Standard Glossary of Software Engineering Terminology V&V is defined as the process of determining whether:

• Requirements for a system or component are complete and correct.
• Products of each development phase fulfill the requirements or conditions imposed by the previous phase.
• Final systems or components comply with specified requirements.

V-Model evolved from waterfall Model. Every phase must be completed before the next phase begins. Testing is done in all the phases. It is a structured approach to testing and brings high quality into the development of our products.

Stage containment:

The goal of stage containment is to identify defects in the system during development before they are passed to the next stage. This helps build quality into the system. Finding problems or errors in the stage they occur in is important because problems become more expensive and difficult to fix later in the project life cycle.

Requirement Analysis:

Business Analysts collect requirements from the customer and prepare a Business requirement specification (BRS) documents. Reviews are conducted to make sure that the requirements collected are accurate.

System Design:

Based on the BRS document, System engineers analyze and understand the business of the proposed system.Feasibility study is done on whether the requirements cab be implemented and is informed to the customer. System Requirements document containing the general system organization, menu structures, data structures, business scenarios, sample windows, reports for the better understanding and Other technical documentation like entity diagrams, data dictionary will be produced in this phase which serves as a blue print for the development phase. System testing documents are prepared in this phase

High Level Design:

A high level design document containing the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology details etc. The integration test plan is developed in this phase.

Module Level Design:

A Low Level design document containing detailed functional logic of the module, in pseudo code - database tables, with all elements, including their type and size - all interface details with complete API references- all dependency issues- error message listings- complete input and outputs for a module. The unit test plan is developed in this stage.

Unit testing

Unit testing is done based on Module level design document. A unit is the smallest testable software component. Units are tested in isolation to ensure it is working according to the detailed design/build specifications of the module. This testing is also known as component, module, or program testing. This is done by the developers.

Integration Testing

Testing of more than one (tested) unit together to determine if they function correctly is called Integration testing. This testing focuses on assembling incrementally a whole system to ensure the communication between modules and data flow from the first through the final component. This is also called interface testing or assembly testing. Integration testing is done based on High-level design document. This is done by the developers.

System Testing

Testing the complete system to determine if its working correctly as per the system design. Testers perform different types of functional, Non-functional and usability testing to ensure the functionality. System testing is done based on the system design document.

Acceptance testing

Testing to determine whether a system satisfies its acceptance criteria and business requirements or not. Testing is done the real users of the system.