0% found this document useful (0 votes)
27 views28 pages

SE - ch7

The document outlines the concepts of Verification and Validation (V&V) in software development, defining key terms such as error, fault, and failure. It emphasizes the importance of planning V&V processes to ensure software quality and describes the V model of development, which links development phases to testing phases. Additionally, it discusses software inspection, formal methods, and cleanroom software development as techniques to enhance reliability and reduce defects in critical systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views28 pages

SE - ch7

The document outlines the concepts of Verification and Validation (V&V) in software development, defining key terms such as error, fault, and failure. It emphasizes the importance of planning V&V processes to ensure software quality and describes the V model of development, which links development phases to testing phases. Additionally, it discusses software inspection, formal methods, and cleanroom software development as techniques to enhance reliability and reduce defects in critical systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Verification

and Validation
BY – ER. SURAJ AWAL
Software Error, Fault and Failure

 Error is the difference between actual output and


expected output.
 Fault is the condition that causes software to fail to
perform its required functions.
 Failure is the inability of the system to perform required
function according to specifications.
 Failure – External behavior is incorrect
 Fault – Discrepancy in code that causes a failure
 Error – Human mistake that caused fault
Software
Error,
Fault and
Failure
V and V

 V and V stands for Verification and Validation.


 Verification involves checking that the software meets to
its specifications i.e. functional and non-functional
requirements.
 Validation ensures that software system meets the
expectation of the customers i.e. what customer expects
it to do.
V and V
(Practical Example)
V and V
(Practical Example)
Goals of Verification and
Validation
 Determine the extent to which :
1. The product is error free
2. The product is consistent
3. The product performs
4. Everything in the product is necessary
5. Product is complete
Verification and Validation
(Comparison)
Verification Validation
Verification is static practice of Validation is dynamic mechanism
checking documents, design, of validating and testing actual
code and programs. product.
Does not involve code execution. Involves code execution.
Human based checking of Computer based execution of
documents and files. programs.
Uses walkthroughs, inspections Uses black box testing, gray box
and reviews. testing and white box testing.
Are we building the product Are we building the right
right? product?
Verification and Validation
(Comparison)
Verification Validation
Checks whether the software Checks whether the software
meets specifications. meets customer's expectations.
Low level practice. High level practice.
Target is requirement Target is actual product.
specification.
Done by QA team. Done by Testing team.
Performs before validation. Performs after verification.
Describes whether output is Describes whether the software is
according to input or not. accepted by user or not.
Planning V and V

 Verification and Validation planning is defined as the


process of establishing standards for the effective
process to verify and validate the software products to
ensure software quality.
 Such planning is done in early phase of the
development process.
 The plan depends on the complexity and criticality of
the software system.
Planning V and V
(Necessity)
 It improves the software quality by detecting bugs and
errors in early stages.
 It assures that the software development process is in the
right track.
 It helps to reduce cost for verification and validation
process.
Planning V and V
(Steps)
Identification of V and V Goals :
 The goals must be identified from requirements and
specifications.
 It must address attributes that corresponds to its user's
expectations.

Selection of V and V Techniques :


 The methods for the process should be selected for each
product.
Planning V and V
(Steps)
Organizational Responsibility :
 The V and V activities are delegated to various team of
the organization such as QA team, Testing team, etc.

Integrating V and V approaches :


 A set of identified V and V objectives are integrated.
 It generally follows waterfall model.
Planning V and V
(Steps)
Problems Tracking :
 The problems traced are recorded.
 Generally, the problems are documented with time and
place of problem occurrence along with problem
evidence and solving priority.
V Model of Development

 V model represents development process that


demonstrates the relationships between each phase of
the development life cycle and its associated phase of
testing.
 Extension of the waterfall model.
 Consists of 2 phases :
1. Verification phase
2. Validation phase
V Model of Development

 Verification phase involves :


1. Requirements Analysis
2. System Design
3. Architecture Design
4. Module Design

 Validation phase involves :


1. Unit and Integration Testing
2. System Testing
3. Acceptance Testing
V Model of
Development
Software Inspection

 Software inspection is the process in which the system is


reviewed to detect errors before coding and in code
before testing.
 It refers to the peer review of work product by trained
individuals who look for defects using a well defined
process.
 It is manual and static technique.
 Errors can mask other errors. Since, inspection is a static
process, no need to concern with interactions between
errors.
Software Inspection

 The advantages of software inspections are enlisted


below :
1. It considers inappropriate algorithms and poor
programming styles.
2. It can outline incomplete versions without additional
cost.
 The errors that are unlikely to be discovered during
inspection process are usability problems and run time
errors.
Software Inspection Process

 System overview is presented to the inspection team.


 Required codes and documents are distributed to the
inspection team.
 Inspection is done and errors are discovered.

Inspection Team Includes :


1. Moderator 2. Inspector
3. Reader 4. Author
Software Inspection Process

 The stages of the software inspection process are:


1. Planning (Inspection is planned by the moderator)
2. Overview Meeting (The author describes the background of the work
product)
3. Preparation (Each inspector examines the work product to identify
possible defects)
4. Inspection Meeting (The reader reads through the work product part by
part and the inspectors point out the defects for every part)
5. Rework (The author makes changes to the product as per action plan
from the inspection meeting)
6. Follow-up (The changes are checked to make sure everything is correct)
Verification and Formal Methods

 Formal methods implies the mathematical analysis of the specification


and the software.
 It is a static verification technique.
 Appropriate mathematical analysis can contribute to the reliability and
robustness of a design process.
 It is a mathematical approach to solve software problems at
requirements, specifications and design levels.
 It is mostly used in security critical software systems.
 It can detect implementation errors before testing.
 It requires special notations that are difficult to understand.
 It is a very expensive process.
Cleanroom Software Development

 Cleanroom software development is a well-documented


approach of software development that uses formal methods.
 The main objective is to develop zero-defect software product.
Cleanroom Software Development
Cleanroom Software Development
(Key Strategies)
1. Formal Specification : The software to be developed is formally specified
by using a state transition model.

2. Incremental Development : The software is partitioned into increments


which are developed and validated separately using cleanroom process.

3. Structured Programming : The program development process is a process


of stepwise refinement of the specification. A limited number of control and
data abstraction constructs are used, with the aim of applying correctness-
preserving transformations to the specification to create the program code.
Cleanroom Software Development
(Key Strategies)
4. Static Verification : The developed software is statically verified
using rigorous software inspections. There is no unit or module testing
process for code components.

5. Statistical System Testing : The integrated software increment is


tested statistically to determine its reliability. These tests are based on
operational profile which is developed in parallel with the system
specification.
Critical System

 Critical system is a system whose failure or malfunction may result in


hazardous impacts.
 Such system should be developed with less chance of fault.
 The verification and validation process for critical system includes :
1. Reliability validation
2. Safety assurance
3. Safety assessment
4. Dependable cases
Thank You !

You might also like