System Development
Methodologies
Lecture 5 – V Model
Introduction
Objectives
• V-Model
• V-Model Activities
• Types of V-Models
• V-Model Applications
• Advantages/Disadvantages
V-Model
• A V Model is an extension to Waterfall model.
• Also known as Verification and Validation model.
• The next phase starts only after completion of the previous
phase.
• One of the waterfall model challenge is that testing is done at
the end or towards the end of system development phases.
• V Model has a testing phase for each corresponding development
stage.
V-Model…
• V Model Activities
[Link]
V-Model…
• V-Model Activities – Verification Stages
• Requirements Analysis
• Business system requirements.
• Detailed communication with the customer to understand the expectations and exact
requirement.
• System Design
• Detailing the complete hardware and communication setup for the product under
development.
• Architecture Design
• Technical approach is proposed and based on the technical and financial feasibility the
final decision is taken.
• High level.
• Module Design
• Detailed internal design for all the system modules is specified.
• Low level.
• Coding
• Actual implementation using computer programing languages.
• Programming language is decided based on the system and architectural requirements.
V-Model…
• V-Model Activities – Validation Stages
• Unit Testing
• Testing at code level and helps eliminate bugs at an early stage.
• All defects cannot be uncovered by unit testing.
• Integration Testing
• Performed to test the coexistence and communication of the internal modules within
the system.
• System Testing
• Checks the entire system functionality and the communication of the system under
development with external systems.
• Software and hardware compatibility issues can be uncovered during this system test
execution.
• Acceptance Testing
• Acceptance testing is associated with the business requirement analysis phase and involves testing
the product in user environment.
• Acceptance tests uncover the compatibility issues with the other systems available in the user
environment.
• It also discovers the non-functional issues such as load and performance defects in the actual user
environment.
V-Model…
Test Case - Calculator
• While developing test cases to check the software developed for a calculator, we
could check the actual code logic used to perform certain calculations, memory
required by each module, techniques followed to link various modules of the
software, and the overall efficiency.
Book: Software Testing and Quality Assurance, DCAP503
V-Model Context
• Single V Model
• Modifies the nodes of the traditional V model to represent the executable
work products to be tested rather than the activities used to produce
them.
[Link]
V-Model Context…
• Double V Model
• Adds a second V to show the type of tests corresponding to each of these
executable work products.
[Link]
V-Model Context…
• Triple V Model
• Adds a third V to illustrate the importance of verifying the tests to
determine whether they contain defects that could stop or delay testing
or lead to false positive or false negative test results.
[Link]
V-Model Applications
• The application is almost the same as the waterfall model.
• Both the models are of sequential type and requirements have to be very
clear before the project starts. This is because it is expensive to go back
and make changes.
• Some situations where the use of V model include:
• Requirements are well defined, clearly documented and fixed.
• Product definition is stable.
• Technology is not dynamic and is well understood by the project
team.
• There are no ambiguous or undefined requirements.
• The project is short.
Advantages of V-Model
• Simple and easy to use.
• Testing activities like planning, test designing happens well before
coding. This saves a lot of time. Hence higher chance of success
over the waterfall model.
• Proactive defect tracking as defects can be found at early stage.
• Avoids the downward flow of the defects.
• Works well for small projects where requirements are easily
understood.
• This is a highly-disciplined model and Phases are completed one
at a time.
• Easy to manage due to the rigidity of the model. Each phase has
specific deliverables and a review process.
Disadvantages of V-Model
• High risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Not suitable for the projects where requirements are at a
moderate to high risk of changing.
• Very rigid and least flexible. Once an application is in the testing
stage, it is difficult to go back and change a functionality.
• No early prototypes of the software are produced.
• If any changes happen in midway, then the test documents along
with requirement documents has to be updated.
Class Activity
• Identify projects that can and cannot use V model
• Give reasons.
Research
• V Model
• Applications of V model.
• Case studies.
• Video
• V model definition and example.
([Link]
• IEEE Paper
• Using V-Model methodology, UML process-based risk assessment of
software and visualization
([Link]
Review Questions
1. What is a V model?
2. List the features of projects that will use V model.
3. What are the advantages and disadvantages of V model?
4. Describe the things to consider before selecting a V model.
5. Compare V model with Waterfall model.
References
Online
• Firesmith(2013). Using V Models for Testing. Retrieved from
[Link]
[Link] (2020, January 18)
• Tutorialpoint(nd). Retrieved from
[Link] (2020,
January 5)
Books
• Library