Saturday, 16 April 2011

The V model

In this post I will be discussing an  important SDLC in testing that is used in the  industry.
The V Model 
The picture above describes the V model. The left arm of the V represents the waterfall model and the right arm represents testing for each phase of the  waterfall model. This model is not named  only by the shape  it forms but  becuase we do only Validation here so it is called as the V model. In the model if both Verification is also done then then the model is called as the V-V model

I assume that the readers know the waterfall model   and I will be discussing each testing phase


Unit Testing :  This testing is done by the developers. In this testing  the developers test each component of a module seprately to verify if the component is working as it is expected

Integration Testing : In this testing the testers verify if different components of the same module are synchronized with each other and are working as per requirement or not.

 System Testing : In this testing the testers verify if the subsystems of the software systems are working together or not


In the industry the Integration Testing and the System Testing are combined together and they performed as  System Integration Testing (SIT) , since they are almost similar in function

User Acceptance Testing:  This is the final phase of testing where the  software is shown to the client to check if the software meets the requirement or not.

The issues and the comments given by the clients are taken up as Observations  or Triage Results  and based on the complexity of the observation  a Change Request (CR)  is raised and the changes are made .

The major advantage of this SDLC is that Testing exists at all phases of the life cycle, and this life cycle is not only applicable to a waterfall model but can be used with other models as well such as the Iterative, Agile and Rapid Application Development Model.

Each phase of testing  has an Entry and Exit Criteria

The Entry phase  for Unit Testing  is
  • When development is completed 
  • When there is no NC(Non Compliance) for the coding standards
The Exit Phase  for Unit Testing  are 
  • When all bugs have been fixed 
The Entry Phase  for SIT  are 
  • When Unit Testing is completed and all bugs have been fixed 
  • Build has been deployed in the SIT Testing Environment 
  • Test Cases Written  and all the test cases have covered the Requirements and approved from the development team
The Exit Phase  for SIT  are
  • All bugs found  in SIT phase have been fixed 
  • SIT Report  should  be published  
The Entry Phase  for  UAT  are 
  • SIT should have been completed 
  • Quality audit should have been completed  with no NC 
The Exit Phase  for UAT  is
  • Requirements must be met
  • Final Sign off from the Client 
It is genrally considered a bad practise if there are defects and bugs present at the UAT stage.  Ad Hoc testing and a sanity check should be done after completing SIT and before starting the UAT phase

Thus I hope I was able to give a small idea about the  V model. More in my next post. 

Till Then 
Cheers From,
Sai :)