Presented by Phil Robinson, Principle, Lonsdale Systems & Visiting Consultant, Processworks

 

Tutorial Overview

 

This one-day workshop introduces participants to an essential “grab-bag” of advanced test case design techniques. 

 

The course commences with a brief discussion of black-box and glass-box test models followed by a discussion of practical test coverage criteria for both models.

 

The course then moves on to an in-depth discussion of various black-box testing techniques.  This is followed by a demonstration of how the techniques can be applied to both the conventional and “model-based” approaches to testing.

 

The second-half of the course covers glass-box testing techniques and shows how these may be applied to both conventional testing and the static analysis of program code.

 

The course concludes with a brief discussion of how the techniques learnt during the course can be used with automated test tools.

 

 

Tutorial Objectives

 

  • Understanding of different test models and their related test coverage criteria
  • Ability to apply black-box and glass-box test case design techniques to conventional testing, model-based testing and static analysis of program code
  • Practical experience in applying the techniques to comprehensive exercise examples

 

Who Should Attend

 

  • Testers, Test Planners, Test Managers and Quality Assurance staff
  • Software Developers, Software Engineers and Software Architects
  • Procurers of software and products that include embedded software
  • Project Managers, Quality Managers and Process Improvement staff

 

Tutorial Agenda

 

  • Introduction
  • Test Models

    • Black-box test models
    • Glass-box test models
    • Examples of a test models
  • Test Case Coverage
    • Test case coverage defined
    • Unrealistic coverage goals
    • Realistic coverage goals
      • Black-box coverage
      • Glass-box coverage
  • Black-Box Testing Techniques
    • Equivalence partitioning
      • Identifying partitions of equivalent values
      • Selecting partition test cases
      • Equivalence partition coverage criteria
    • Boundary value analysis
      • Testing on the boundary between partitions
      • Selecting boundary test cases
      • Risks and coverage criteria
    • Cause-effect graphing
      • Identifying the rules that connect inputs to outputs
      • Constructing cause-effect graphs
      • Converting to decision tables
      • Selecting test cases
      • Cause effect coverage criteria
    • State transition testing
      • State transition diagrams
      • State tables
      • Testing single transitions
      • Testing sequences of transitions
      • Constructing a state tree
      • Selecting test cases
      • State transition coverage criteria
    • Syntax testing
      • A notation for modelling the syntax of inputs and outputs
      • Selecting test cases
      • Testing for invalid syntax
  • Model-Based Testing
    • Goals of model-based testing
    • Generating test cases from models
      • Partitions and boundaries
      • States and transitions
      • Syntax
    • Using model-based testing when there is no specification or it is out of date
    • Applying models-based testing to random and reliability testing
  • Glass-Box Testing Techniques
    • Statement testing
      • Rules for counting statements
      • Statement coverage
    • Control flow graphs
      • Modelling control flow with “nodes” and “edges”
      • Control flow and cyclomatic complexity
    • Branch/decision testing
      • Branches vs. decisions
      • Selecting test cases
    • Condition testing
      • Branches vs. conditions
      • Branch condition testing
      • Branch condition combination testing
      • Modified condition decision testing
    • Data flow testing
      • Variable definition, calculation use (c-use) and predicate use (p-use)
      • Definition-use pairs (du-pairs)
      • Modelling data flow
      • Selecting test cases
    • Linear Code Sequence and Jump (LCSAJ) testing
      • Identifying program sub-paths
      • Selecting test cases
    • Basis path testing
      • Identifying independent paths
      • Selecting test cases
  • Static Analysis of Program Code
    • Applying glass-box test case design techniques to static analysis
    • Static analysis of program data flow
    • Static analysis of program paths
    • Automated static analysis tools
  • Test Cases and Automated Testing
    • Automating unit testing
      • Applying glass-box and black-box test cases to unit testing
      • Test cases and unit test frameworks
      • Glass-box testing and coverage tools
    • Automating system testing
      • Applying black-box test cases to system testing
      • Test cases and capture/replay tools
        • GUI tools
        • Web tools
      • System and acceptance test frameworks
  • Review and Conclusion

 

 

Course Presenter

 

Phil Robinson

Principle Consultant, Lonsdale Systems; Visiting Consultant, Processworks Group

 

Phil Robinson has worked with information technology, in a variety of roles since 1975. He has been involved in the planning, analysis and implementation of a diverse range of business, scientific and technical information systems.

 

Phil is an experienced workshop facilitator and has led numerous workshops in the course of his consulting assignments. He has extensive training experience, earning a reputation as a lucid and knowledgeable presenter. Phil has presented training courses for organizations in Australia, Thailand, Philippines,  Hong Kong, Singapore and Indonesia.

 

Phil teaches courses on “Software Testing”, "Requirements Analysis", "Introduction to UML", "SDLC Process Design Course", "Introduction to Software Measurements", “Enterprise Architecture”, "UML Modeling with Enterprise Architect" and "Requirement Analysis using Enterprise Architect".

 

Phil is a regular presenter at conferences and has authored numerous industry training courses in addition to three University units. He has also had two books published on programming Apple computers. The books were published in a number of countries including the USA, UK and as translations in Germany and France. More recently, he co-authored a number of articles that describe an original framework for the analysis of enterprise architectures.

 

Phil is a resident of Perth, Australia and frequently travels to South East Asia to perform assignments.