V Model in Software Testing

V-Model is the modern day Software Development Life cycle Model in which there is two directional flow, i.e. any process can be traversed back. It is so far the best SDLC model for creating any software product. 
Requirement-><-Specification-><-Global Design-> <-Detailed Design -><-Code-><-Unit Testing-><-Integration Testing-><-System Testing-><-Acceptance Testing.
V- model means Verification and Validation model. Just like the waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins.  Testing of the product is planned in parallel with a corresponding phase of development.

In V-Model Application/product development phase and testing phase occurs/starts at the same time, it reduces the time to be spent on testing and the most important part is, it is cost effective in terms of building a right product.
 
I will explain only about the validation part of the V-Model which is of testing phases.
 
Requirement analysis : During this phase, UAT test cases are prepared for the business requirements that are going to be developed.
 
System requirements/high level design : System level test cases are written( Some clients require Test approach which says how and what needs to be tested)
 
Architectural design : from the high level design, system’s architecture will be built/created(relationship of databases, application, architectural diagrams are finalized). integration(Component) test cases are written in this phase.
 
Module/Low level design : unit/module level test cases are written.
 
Code implementation : In this Phase, Functional test cases(Technically, System testing cases) are written and will be reviewed before the code migration to QA environment to avoid irrelevant test cases that will eat out the testing time, to add missed out requirements, improving the test case quality (TC review order : Peer-review(within your testing team) , External review(developers, Product management))
 
Once the CODE is ready, We start from the end ! Yes, Unit testing(developers in Dev/test environment before the code migration to QA) – Integration/Component testing(developers/support in QA environment)- Functional/System testing(Testers in QA)- Acceptance testing( Alpha by vendors, Beta by end user).
 
Comparison with Waterfall model : 
 
(only on Testing perspective )
 
* All the test plans and test case preparation occurs once the code is ready, Which means after the entire 5 phases of development phases.
 
*For a larger project where it requires N months/years of test plan and test case preparation, in V-model, we save more time. And also, Testers will get adequate time to understand the requirements/systems.
 
*Of course, The cost will be minimal in terms of defect fix.
 
*Product/application would be launched faster than the products being tested in waterfall model.
 
Jumping in to the actual question: In short, do not get confused with the connection between requirement analysis and the acceptance testing. it just a mapping of business requirements will be tested in acceptance, prior to rest of the development phases, user acceptance test plan and test case will be created since the end user(client) knows what he/she wants and there is no need of awaiting the whole system to be built to document what he/she is going to check on the application /system.

Next Topic: Agile Model

Leave Comment

Your email address will not be published. Required fields are marked *

Looking for learning Framework Development from Scratch? Lookout for Detailed Framework Development videos on YouTube here -

https://www.youtube.com/automationtalks

Get the Framework code at Github Repo: https://github.com/prakashnarkhede?tab=repositories