Software Verification and Validation - PowerPoint PPT Presentation

About This Presentation
Title:

Software Verification and Validation

Description:

Lecture-6 Subject: Software Engineering – PowerPoint PPT presentation

Number of Views:255
Slides: 16
Provided by: inam12
Tags:

less

Transcript and Presenter's Notes

Title: Software Verification and Validation


1
Verification and Validation
Thanks to Ian Sommerville for his consent to use
his slides for academic purposes
Lecture-6 Subject Software Engineering Inam Ul
Haq Lecturer in Computer Science University of
Okara inam.bth_at_gmail.com
2
Topics covered
  • Verification and validation planning
  • Software inspections
  • Automated static analysis

3
Verification vs validation
  • Verification "Are we building the product
    right.
  • The software should conform to its specification.
  • Validation "Are we building the right
    product.
  • It ensures that software meets customers
    expectations.

4
The V V process
  • Is a whole life-cycle process - V V must be
    applied at each stage in the software process.
  • Has two principal objectives
  • The discovery of defects in a system
  • The assessment of whether or not the system is
    useable in an operational situation.

5
V V goals
  • V Validation should confirm that the software
    is fit for purpose.
  • This does NOT mean completely free of defects.
  • Rather, it must be good enough for its intended
    use.

6
Static and dynamic verification
  • Static Verification
  • inspect program code for all possible run-time
    behaviors and seek out coding flaws, back doors,
    and potentially malicious code.
  • Code reviews, walkthroughs, or inspections are
    referred to as static testing
  • Static code analysis tools http//en.wikipedia.or
    g/wiki/List_of_tools_for_static_code_analysis
  • Dynamic Verification
  • It monitors system memory, functional behavior,
    response time, and overall performance of the
    system
  • The system can also be executed with test cases
  • While static and dynamic analysis can be
    performed manually they can also be automated
    (load-runner).
  • Testing types http//www.softwaretestinghelp.com/
    types-of-software-testing/

7
Testing and debugging
  • Defect testing and debugging are distinct
    processes.
  • Verification and validation is concerned with
    establishing the existence of defects in a
    program.
  • Debugging is concerned with locating and
    repairing these errors.
  • Debugging involves formulating a hypothesis about
    program behaviour then testing these hypotheses
    to find the system error.
  • Sort of test cases

8
The debugging process
9
The V-model of development
10
The structure of a software test plan
  • The testing process.
  • Requirements traceability.
  • Tested items.
  • Testing schedule.
  • Test recording procedures.Jing, bugzilla etc
  • Hardware and software requirements.
  • Constraints.
  • We will do usability and functionality testing
    and make test cases
  • learning assignment (non-graded)
  • My test cases http//jmp.sh/J0KW3Vz

11
The software test plan
12
Inspection checklists
  • Checklist of common errors should be used to
    drive the inspection.
  • Error checklists are programming language
    dependent and reflect the characteristic errors
    that are likely to arise in the language.
  • In general, the 'weaker' the type checking, the
    larger the checklist.
  • Examples Initialisation, Constant naming, loop
    termination, array bounds, etc.

13
Inspection checks 1 (self)
14
Inspection checks 2 (self)
15
Inspection rate
  • 500 statements/hour during overview.
  • 125 source statement/hour during individual
    preparation.
  • 90-125 statements/hour can be inspected.
  • Inspection is therefore an expensive process.
  • Inspecting 500 lines costs about 40 man/hours
    effort - about 2800 at UK rates.
Write a Comment
User Comments (0)
About PowerShow.com