What is V Model in Software Testing?

Among the many available testing models, the V model in software testing is the most widely used applied and accepted one. This model allows for a better quality analysis with less discretionary errors.
To overcome the cost and time issue of other software testing systems, v model has been developed. In the current scenario, the V model has become famously omnipresent with the software testing and development industry.
The Developmental History of the V model
v model in software testing
V model emerged into the existence probably in mid ninety were many research papers have documented about its usage. In 1979 Bart W.
Boehm published a paper where he emphasized on the usage of verification and validation and talk about an appropriate model to manage the drawbacks of the waterfall model.

What is V Model in Software Testing?

V model is also known as verification and validation software model is an SDLC (system development life cycle) and STLC (software testing life cycle) based where main execution process takes place in a sequential manner of v shape.
V model is nothing but the extension of the waterfall model which is based on the association of the development phase and each of the corresponding testing phases.
That means there is a direct link between the testing cycle and the development cycle. V model in software testing is highly specific model and movement to next only occur after completion of the first cycle.

Now let’s have a deeper insight into V model
In the V model, the testing phase and development phase are designed in such a way that they are planned parallel to each other.
So if we take alphabet V there is validation on one end and verification on the other end and the joining point of the both is the coding phase.
In this, the software testing starts at the beginner level right after writing of requirements.
Let us have a look at what is verification and validation.
Validation:  It has static analysis or the review technique used without executing code usage. In this stage, the whole thing is about evaluating the product development to find out whether specified requirements of the client are met.
Verification: It involves the dynamic analysis of functional as well as non-functional software, testing is done with the help of executing code. It evaluates the software prepared in the developmental stage to check whether they meet the customer expectation or not.
The testing phase of the V model may include:

  1. Unit testing:

It is developed in the model designing phase, to eliminate any bug if present.

  1. Integration testing:

It is performed after completion of unit testing and in this modules are integrated into the system to be tested. This verifies the communication aspect.

  1. System testing:

It looks after the functional and non-functional requirements.

  1. User acceptance testing(UAT):

It is performed in the user environment that simply resembles the production unit, in this step it is made sure that the software is ready to be used in the real world.

Advantages of the V model

  1. Easy to understand and apply, with its flexibility it is easier to manage.
  2. It is a highly discipline-based model and can be used in specific industries like health.
  3. As each step is designed in a very rigid and fixed manner so it is much easier to do the review process.
  4. It is useful in smaller projects where requirements are less and well known.
  5. Useful in projects where documentation is fixed and no ambiguous technological changes are required.

Significance of the V model
As we all know that the V model is a direct extension of the waterfall model, waterfall model has many drawbacks like

  1. Testing only starts after implementation is already done.
  2. It is difficult to work on large projects as key details are subject to being missed out.
  3. If you make any mistake at any point you must design the whole software to combat the error.
  4. Architectural defect in the designing and defect introduction.
  5. Cost of fixing a defect is way too high.

To combat all these point V model of software testing came into existence so that for every development phase there is the testing phase this allows the error to be caught as early as possible.
The left side is the software development cycle and the right side is a software test cycle.

Feature of V model in Software Testing

  1. Information gathering stage

Have a word with the client and gather as much information as possible. Try to figure out the specifications and details of the software desired to be tested.

  1. Design

Work on the language script like java or.net and database like Oracle. Try to choose high-level functions which will be the technicality of the project and suits the corresponding software testing well.

  1. Build stage

After design selections build the coding of the software to be tested, this step is also known as the coding.

  1. Test stage

Now next test the software to verify that all the requirements are fulfilled.

  1. Deployment stage

Place the application within the respective environment

  1. Maintenance

Change the code as per the customer.
Why prefer V model

  1. Proactive tracking of the defect

The defect can be found in very early stage hence cost is reduced in this model of software testing.

  1. Have specific deliverables

This makes it easy to review and manage.

  1. High success rate

When compared with the waterfall model as a developmental test plan are used early in the life cycle of the software chances of success are high.

  1. Time consumption

In comparison with other models, time consumption is less.

  1. Manage the resources

It utilities every details aspect of resources available.

  1. Accommodate changes

As the V model has an incremental approach this permits the prediction of changes required. So changes can be made where it is required.

  1. Verification planning

Consistent configuration allows early verification, on the other and optimization of the verification can be achieved easily.

  1. Prevent defect

V model can very well display where validation should be performed, so it makes each artifact to be tested convenient and ensure problem solution. So it perfectly avoids the defect occurs in the operation phase itself.

When to use the V model

  1. V model is used when a lot of technical support is present also expertise specific are present.
  2. The requirement of the tester is clearly known and specified.
  3. When there is time as well as money constraint.

Conclusion
To finish off we can say that there are numerous developmental life cycle models present in the software testing. Selection of the most appropriate model is purely based on the requirement goal and vision of the project.

Also one must remember that testing is no a single entity but it has several layers within it, that has to adapt with each project cycle chosen according to the requirement. Also in any model one should perform testing at all the levels right from the requirement to maintenance.
 
 

What is V-model and W-model in Software Testing

V model and W model are two of the most important models that are followed in the process of software testing. V Model, also known as Verification and Validation Model, is similar to waterfall model that follows a sequential path of execution of processes. Waterfall model is a linear sequential design approach in which the progress flows in one direction.
On the other hand, W model is a sequential approach to test a product and can be done only once the development of the product is complete with no modifications required to be done in between.
This type of testing is most suitable for short-term projects as medical applications.

There are a number of other ways in which the two models are different from each other. Read on to know and understand the difference between the two models in detail.

V-Model

Devised by the late Paul Rook in 1980s, V-model was developed with an aim to improve the efficiency and effectiveness of software development. The model was accepted both in Europe and Asia as an alternative to waterfall model.
v model and w model
V-model is a step-by-step process in which the next phase begins only after the completion of the present phase. The steps in this process do not move in a linear way. Instead, the steps in this process are bent upwards. When this model is compared with the waterfall model, there are larger chances of emphasizing on products testing.
If this model is used to test a product, there is an assurance that the final product developed will be of high quality.

Phases of V-Model

The phases of V-model includes verification, coding, and validation that are further divided into different stages.

1) Verification phase:

The verification phase of V-model includes business requirement analysis, system design, architectural design, and module design.

  1. Business requirement analysis is the stage of having a detailed communication with the customer so that it gets easier to understand and comprehend his/her exact requirements. It is beneficial to complete acceptance test design planning at this stage.
  2. System design stage involves understanding and detailing out the entire hardware and communication setup for the product being developed. System test design can also be planned at this stage.
  3. Architectural design stage involves understanding the technical and financial feasibility of the product before it is actually developed. The focus is to understand the data transfer that will take place between internal and external modules.
  4. Module design stage focuses on designing a detailed plan for the internal modules of the system. Also known as low-level design (LLD), it is important to ensure that the design is compatible with other modules in system architecture and other external systems.
2) Coding Phase:

During this phase, the actual coding of the system modules is taken up. On the basis of system and architectural requirements of the program, the best suitable programming language is selected using which the coding is done at par with the coding guidelines and standards. The code is then reviewed and optimized to ensure the delivery of best performing product.

3) Validation phase:

 During this phase, the product undergoes various forms of testing.

  1. Unit testing is conducted at an early stage so that the bugs are eliminated at the starting stages of product development.
  2. Integration testing is done to check whether there is a valid and proper communication within the internal modules of the system.
  3. System testing enables the testing of the entire system and to ensure if the internal modules communicate effectively with the external systems.
  4. Acceptance testing is done to test a product in the user’s environment and to check if it’s compatible with the other systems available in the environment.

Advantages and Disadvantages of V model

Advantages of the V model
  • Simple and easy
  • Systematic
  • East to track
  • Testing starts from requirement phase itself
  • All the Functional Areas can be covered
  • Instructions and recommendations included
  • Detailed explanations of problems
  • Defects can be found at an early stage
  • Works well for small projects
Disadvantages of the V model
  • Not flexible
  • Regular updates required if changes in the project are required
  • Can’t be used in complex projects
  • No scope for risk management and mitigation
  • One the project is over its end

When to use the V model?

  • Mostly used in the smaller level project with budget constraints
  • Can be used when the testing time is less
  • When you have enough senior and experienced testers
  • Optimum for projects which will not have any changes in between the project

W-Model

Introduced by Paul Herzlich, W-model signifies the one-to-one relationship that exists between the documents and test activities.
v model and w model
Using this model helps in ensuring that the testing of the product begins from the very first day of the product’s development.
This model is known to deal with the problems that could not be resolved using V-model.

Phases of W-Model

Using W-model helps in ensuring that each phase of the product development is verified and validated. W-model can be divided into a number of stages that includes:

  • Building test plan and test strategy to ensure that the product delivered is tested rigorously before delivery.
  • Identifying the scenario for the product.
  • Preparing the test cases using specification and design documents.
  • Reviewing the test cases and sharing an update on the basis of review comments.
  • The product is then sent for testing using various testing methodologies such as unit testing, integration testing and specification-based testing, etc.
  • Once the product is tested rigorously, it, then, undergoes regression test cycles and user acceptance testing.

Know More: 11 Differences between verification and validation in Software Testing

Advantages and Disadvantages of V model

Advantages of the W model
  • Testing can run in parallel with development process
  • No division between constructive and destructive tasks
  • Often Developer is responsible for removing defects
Disadvantages of the W model
  • Complex to implement
  • Resource allocation might not be sufficient in most of the cases
  • Testing have equal weightage as many activities in the development process

When to use the W model?

  • When there are much more activities to do
  • Performed when the V model is not enough
  • Can be implemented Technical design, architecture and functionality comes to the picture

Conclusion

While it is true that the V model is an effective way to test and reveal results for dynamic test cycles, W models are more effective and help one get a broader view of testing.

The connection that exists between various stages of testing is much clear with W Model.
One must choose wisely as the game is not about choosing a v model and w model but delivering an optimum quality product.