The Value of Verification and Validation

A one day course on Verification and Validation (V&V) for managers, team leaders and QA specialists.

Testing is often the last resort for finding mistakes. Done poorly, many faults will still remain in the system. Simply writing more tests won’t make your software better and may result in money ineffectively spent. You must improve your development practices to get better software.

Software development is a collaborative effort. We take considerable pains to analyse, design and implement our system to meet our quality goals. Unfortunately, engineers are not perfect. Under increasing pressure to deliver more features, in less time, and as a consequence not having the luxury of time to learn the problem domain, or examine their solutions.

The solution is to adopt a balanced, multi-technique approach to V&V. Multiple, independent techniques (each playing to their own strengths) is far more effective.

T-101
1 day
Contact Feabhas (available for on-site delivery only)
pdf download

Course Outline

 

Defining value

  • what is value?
  • how is quality measured?

The value of testing?

  • the software V-model
  • definitions of Verification and Validation
  • the error-fault-failure-hazard chain
  • error introduction
  • spending money on V&V

Unit testing

  • unit testing by developers
  • test harnesses
  • test doubles:: stubs, mocks, fakes
  • lightweight code-based test harnesses versus stand-alone test tools
  • ad hoc testing
  • systematic techniques
  • finding latent faults

Coverage testing

  • measuring the quality of your testing
  • selection of particular metrics
  • statement coverage
  • branch and condition coverage
  • MCC and MCDC
  • instrumentation and tools.

Static Analysis

  • looking for latent faults
  • types of SA tool
  • SA tools cannot validate code.

Reviews

  • human inspection
  • SA tools vs code inspection?
  • using humans for validation:
  • architectural evaluation – coupling, cohesion, abstraction, encapsulation

Integration

  • what is integration.
  • poor integration and impossible bug fixing.
  • integration planning
  • integration styles for different systems: top down, bottom up, feature oriented, t-shaped

System level testing

  • black box testing at the level of the system’s interfaces.
  • system testing in embedded systems
  • automating system test

Regression testing

  • reducing impact of new features or bug fixes
  • automating regression testing

Metrics

  • process metrics give an indication of the
    • effectiveness of the testing
    • quality of the testing<.li>
    • effort required to complete.

The Swiss Cheese model

  • all testing techniques have flaws / problems
  • The ‘swiss cheese’ model:

The Agile approach

  • fitness-for-purpose quality
  • change management
  • requirements validation
  • testing
  • test-driven design and test cases
  • continuous integration

Test planning

  • systematic approach to testing
  • test plan is influences
  • what makes a good test plan

Conclusion

Course Overview

 

This course takes a high level look at software verification and validation. It covers why testing is needed, where errors creep in during development, risks associated with each type of testing and the consequences of not using them. Test planning is discussed and finally the agile approach is considered.

Course Objectives:

  • To establish the value of verification and validation as part of the design process
  • To understand the costs involved with testing techniques
  • To reinforce a coherent, multi-layered approach to verification and validation
  • To understand the consequences of ineffective or superficial testing

Delegates Will Learn:

  • Testing techniques
  • The value of testing
  • Reviews
  • Integration and planning for it
  • The use of metrics
  • The Agile Approach
  • Test Planning

Pre-requisites:
None

Who Should Attend:

  • Managers
  • Team leaders
  • QA

Duration:

  • One day

Course Materials:

  • Delegate handbook

Related courses:

Course Workshop:
Although the course has no formal exercises it is designed to stimulate group discussion.