STLC V-Model

Advertisements

Types of Software Testing Software Testing Life Cycle

Software Testing V-Model

V model is now one of the most widely used software development processes. Introduction of the V model has actually proved the implementation of testing right from the requirement phase. V model is also called a verification and validation model.

v model in software testing

V-Model also referred to as the Verification and Validation Model. In this, each phase of SDLC must complete before the next phase starts. It follows a sequential design process same as the waterfall model. Testing of the device is planned in parallel with a corresponding stage of development.

Why us V-Model in Software testing

One of the major handicaps of waterfall STLC model was that defects were found at a very later stage of the development process since testing was done at the end of the development cycle. It became very challenging and costly to fix the defects since it was found at a very later stage. To overcome this problem, a new development model was introduced called the V Model.

Verification: Verification is a static analysis technique. In this technique, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthrough.

Validation: Validation is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.

V-Model

In the V model, the development and QA activities are done simultaneously. There is no discrete phase called Testing, rather testing starts right from the requirement phase. The verification and validation activities go hand in hand.

In a typical development process, the left-hand side shows the development activities and the right hand side shows the testing activities. I should not be wrong if I say that in the development phase both verification and validation are performed along with the actual development activities.

Left-Hand Side

As said earlier, left-hand side activities are development activities. Normally we feel, what testing can we do in the development phase, but this is the beauty of this model which demonstrates that testing can be done in all phase of development activities as well.

Requirement analysis: In this phase, the requirements are collected, analyzed and studied. Here how the system is implemented, is not important but, what the system is supposed to do, is important. Brain storming sessions/walkthrough, interviews are done to have the objectives clear.

System requirements /High-level design: In this phase, the high-level design of the software is built. The team studies and investigates on how the requirements could be implemented. The technical feasibility of the requirements is also studied. The team also comes up with the modules that would be created/ dependencies, Hardware/software needs

Architectural design: In this phase, based on the high-level design, software architecture is created. The modules, their relationships, and dependencies, architectural diagrams, database tables, technology details are all finalized in this phase.

Module design/Low-level Design: In this phase, each and every module of the software components are designed individually. Methods, classes, interfaces, data types etc are all finalized in this phase.

Implementation / Code: In this phase, the actual coding is done.

Right Hand Side

Right-hand side demonstrates the testing activities or the Validation Phase. We will start from the bottom.

Unit Testing: In this phase, all the unit test case, created in the Low-level design phase are executed. *Unit testing is a white box testing technique, where a piece of code is written which invokes a method (or any other piece of code) to test whether the code snippet is giving the expected output or not. This testing is basically performed by the development team. In case of any anomaly, defects are logged and tracked.

Artifacts produced: Unit test execution results. Integration Testing: In this phase, the integration test cases are executed which were created in the Architectural design phase. In case of any anomalies, defects are logged and tracked.

*Integration Testing: Integration testing is a technique where the unit tested modules are integrated and tested whether the integrated modules are rendering the expected results. In simpler words, It validates whether the components of the application work together as expected.

Systems testing: In this phase all the system test cases, functional test cases and nonfunctional test cases are executed. In other words, the actual and full fledge testing of the application takes place here. Defects are logged and tracked for its closure. Progress reporting is also a major part of this phase. The traceability metrics are updated to check the coverage and risk mitigated.

User Acceptance Testing: Acceptance testing is basically related to business requirements testing. Here testing is done to validate that the business requirements are met in the user environment. Compatibility testing and sometimes nonfunctional testing (Load, stress, and volume) testing are also done in this phase.

When use V-Model in Software Testing

  • When the requirement is well defined and not ambiguous.
  • The V-shaped model should be used for small to medium-sized projects where requirements are clearly defined and fixed.
  • The V-shaped model should be chosen when sample technical resources are available with essential technical expertise.

Advantages of Using V-Model

  • Easy to Understand
  • Testing Methods like planning, test designing happens well before coding.
  • Development and progress is very organized and systematic
  • This saves a lot of time. Hence a higher chance of success over the waterfall model.
  • Works well for smaller to medium sized projects
  • Testing starts from beginning so ambiguities are identified from the beginning.
  • Easy to manage as each phase has well defined objectives and goals.

Disadvantages of Using V-Model

  • It is Very rigid and least flexible.
  • This model is not a good for a complex project.
  • It is not suitable if the requirements are not consistent.
  • No working software is produced in the intermediate stage.
  • No provision for doing risk analysis so uncertainty and risks are there.

Types of Software Testing Software Testing Life Cycle

Google Advertisment

Buy This Ad Space @$20 per Month, Ad Size 600X200 Contact on: hitesh.xc@gmail.com or 9999595223

Magenet is best Adsense Alternative here we earn $2 for single link, Here we get links ads. Magenet

For Projects 9999595223

Google Advertisements


Buy Websites 9999595223

Buy College Projects with Documentation Contact on whatsapp 9999595223. Contact on: hitesh.xc@gmail.com or 9999595223 Try this Keyword C++ Programs

Advertisements