Verification and Validation: A Quick Introduction - PowerPoint PPT Presentation

Loading...

PPT – Verification and Validation: A Quick Introduction PowerPoint presentation | free to download - id: 1e4bce-ZDc1Z



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Verification and Validation: A Quick Introduction

Description:

Includes reviews, inspections, walkthroughs, unit testing and integration testing. ... Walkthroughs. Code verification. Document. ConOps, SRS validation. STEP, ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 26
Provided by: damp6
Learn more at: http://www.swenet.org
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Verification and Validation: A Quick Introduction


1
Verification and Validation A Quick Introduction
  • 1-2 Lectures

2
Learning Objectives
  1. The student will be able to define both
    verification and validation, and to know the
    difference between them.
  2. The student will be able to identify the
    appropriate activities and their classification
    as either verification or validation.
  3. The student will be able to distinguish between
    verification and validation, given a set of
    activities.
  4. Given a set of software artifacts, the student
    will understand the appropriate verification or
    validation activity to that artifact.
  5. Given a set of projects in different categories,
    the student will be able to determine which
    category of projects would require more VV
    activity, and which would require less.
  6. Given a set of defects and the phases of
    development in which they were found, the student
    will be able to estimate the relative cost of
    correcting errors early or late in the lifecycle.

3
Why Invest in Quality?
  • Cost effective
  • Provides competitive edge
  • Essential for business survival
  • Essential for international marketing
  • Helps to retain customers, and increase profits
  • Hallmark of world class business

4
Ways to Improve Quality
  • Prevention of Defects
  • Process Improvement
  • Complexity Reduction
  • Risk Management
  • Causal Analysis
  • Detection and Correction of Defects
  • Verification
  • Validation
  • Rework
  • Causal Analysis

5
Verification
  • Verification Are we building the product right?
  • Verification is any checking process conducted on
    software artifacts in an attempt to determine if
    they work as specified by the designers of the
    system.
  • Includes reviews, inspections, walkthroughs, unit
    testing and integration testing.

6
Validation
  • Validation Are we building the right product?
  • Validation is the process of evaluating software
    artifacts during the software development process
    in an attempt to determine if the system works as
    required by the customers. Any evaluation
    activity that involves the customer can be used
    for validation purposes.
  • Includes program reviews, system testing,
    customer acceptance testing.

7
Verification vs. Validation
  • Verification
  • Main purpose is to detect defects in the
    artifacts of the system under development.
  • Validation
  • Main purpose is to show that the system under
    development meets user needs, requirements, and
    expectations.

8
Verification Validation Techniques
  • Static Methods
  • Techniques applied to artifacts without
    execution.
  • Dynamic Methods
  • Techniques applied to artifacts through
    execution.
  • Mathematically Based Methods

9
Static Reviews
  • Walkthroughs
  • Code verification
  • Document
  • ConOps, SRS validation
  • STEP, SAD, SDD verification
  • Inspections
  • Code verification
  • Document Audits verification
  • Program Reviews
  • Customer involved validation
  • No customer verification

10
Effectiveness of Static Verification
  • More than 60 of program defects can be detected
    by program inspections.
  • More than 90 of program defects may be
    detectable using more rigorous mathematical
    program verification.
  • The defect detection process is not confused by
    the existence of previous defects.

11
Dynamic Testing (Verification)
  • Unit Test (Detailed Design)
  • Testing the individual software modules,
    components, or units.
  • Integration Testing (Architectural Design)
  • After unit test, the system is put together in
    increments. Integration testing focuses on the
    interfaces between software components (OO
    thread-based, cluster-based testing)
  • System Testing (Requirements Spec)
  • One goal of system testing is to ensure that the
    system functions as specified in the
    specification.

12
Dynamic Testing (Validation)
  • System Testing (Requirements Spec)
  • Another goal of system testing is to ensure that
    the system functions as the client expected in a
    controlled environment.
  • User Acceptance Test (ConOps)
  • A set of formal tests run for the client, and
    specified by the client. When the system passes
    these tests, the software has been accepted by
    the client as meeting the requirements.

13
Verification and Validation in the Development
Lifecycle
Black-Box Testing
Validate the System
Requirements Analysis
Execute System Tests
Execute Integration Tests
Verify Design
Design
Reviews
Verify Implementation
White-Box Black-Box Testing
Execute Unit Tests
Code
14
Mathematics-Based Verification
  • Verification is based on mathematical arguments
    which demonstrate that a program is consistent
    with its specification.
  • Programming language semantics must be formally
    defined.
  • The program must be formally specified.

15
Why Inspection is important?
  • Relative cost to fix a defect
  • Phase in which found Cost ratio (hours)
  • Requirement 1
  • Design 3-6
  • Coding 10
  • Testing 15-70
  • Operation 40-1000

Data derived from Capers Jones.
16
Costs of Finding and Fixing Late
1000
Delays in identifying and fixing defects gets
geometrically more expensive as the lifecycle
progresses!
Defects
100
Cost of Fixing a Defect
10
1
Time in (Phase of) Development
17
Cost of Quality
  • Includes all costs of quality-related activities.
  • Quality costs
  • Prevention costs
  • Detection and Appraisal costs
  • Failure costs
  • Internal failure costs
  • External failure costs

18
Quality Cost Components
  • Direct Cost
  • Reviews/inspections
  • Unit testing
  • System testing
  • Acceptance testing
  • Test planning and
  • design
  • Computer time
  • Resources (terminals,
  • staffs, etc.)
  • Indirect Cost
  • Rework
  • Recovery
  • Corrective action cost
  • Failures
  • Analysis meeting
  • Debugging
  • Retesting
  • Legal fees

19
Verification or Validation?
  • Reviews Either
  • Unit testing Verification
  • Integration Testing Verification
  • System testing Validation
  • Acceptance testing Validation

20
Balancing Trade-Offs
  • What is the real requirement?
  • What are the expected benefits of V V vs.
  • cost of increasing VV activity
  • additional time required
  • technical feasibility
  • risk of not finding defects
  • delivery
  • operation
  • When is it good enough?

(Bach, 1997)
21
Summary
  • Verification and Validation are both important to
    the quality of software.
  • Each are different
  • Verification determines that what we are doing is
    done correctly.
  • Validation determines whether we are doing the
    right thing.
  • Sometimes, less quality is okay. Some software
    systems require less VV, as the cost is not
    supportable. Some require more no matter what it
    costs.
  • The earlier defects are discovered, the less it
    will cost to correct them.

22
Backup Slides
23
Independent Verification and Validation (IVV)
Subs
  • Design
  • Coding
  • Testing
  • System Requirements
  • Contractor Management

Tested Products
Project Manager
Discrepancies
  • Monitor Tests
  • Integration
  • Evaluate Requirements
  • Evaluate Design

IVV
24
Static and Dynamic Verification Validation
Sommerville, p. 421
25
Test Case Development in the V Model
Validate Requirements
Requirements Analysis
Execute System Tests
Test cases designed and executed by independent
testers
Execute Integration Tests
Verify Design
Design
Verify Implementation
Test cases designed and executed by developers
Execute Unit Tests
Code
About PowerShow.com