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

The workshop commences with a description of the functional and structural views of software systems.  This is followed by a discussion of how the two views are applied to “black-box” and “glass-box” testing.

The workshop then moves on to map “black-box” and “glass-box” testing to typical project roles. The concept of test case coverage is introduced before moving on to describe each test case design technique in detail.

The workshop is based on the contents of British Standard BS 7925-2, Software Testing, Part 2: Software Component Testing.
All workshop participants will receive a draft copy of the standard.

  • Understanding of the contents of British Standard BS 7925-2 for Software Component Testing
  • Understanding of test case coverage and how it is applied
  • Appreciation of how to select a suitable test case design technique
  • Practical experience in applying the test case design technique to brief examples
  • 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

Introduction

Testing and Different Views of Software

  • The functional or “black-box” view
  • The structural or “glass-box” view
  • Applying the two views to software testing
    • “Black-box” testing
    • “Glass-box” or “white-box” testing
    • “Translucent-box” or “grey-box” testing
  • Mapping project roles to software views
    • “Glass-box” testing is normally performed by the developers of the software
    • “Black-box” testing can only be performed by independent testers
  • Which “box” is best – black, glass or translucent?
  • “Test-first” is mechanism to allow developers to perform “black-box” testing

Test Case Coverage

  • What is test case coverage?
  • Uses of coverage
    • As a measure of test effectiveness
    • As an auditable measure of process compliance
    • As test completion criteria
  • Additional test completion criteria

Test Models

  • “Black-box” models of inputs and outputs
    • Identifying inputs and outputs
    • Rules governing the transform of inputs to outputs
    • Using inputs and outputs to determine states and transitions
    • Using input-output models for “black-box” testing
  • “Glass-box” models of source code
    • Control flow diagrams
    • Identifying and counting program statements
    • Identifying program decisions and branches
    • Identifying program paths
    • Using control flow diagrams for “glass-box” testing

Black-Box Coverage Criteria

  • Beware of unrealistic goals for “black-box” coverage
  • Realistic measures of “black-box” coverage
    • Ranges of equivalent values in inputs and outputs
    • Boundary values in inputs and outputs
    • Rules governing the transformation of inputs to outputs
    • Transitions between system states

Test Case Design Techniques For Black-Box And Test-First Testing

  • Equivalence partitioning
  • Boundary value analysis
  • Cause-effect graphing
  • State transition testing
  • Syntax testing
  • Random testing

Glass-Box Coverage Criteria

  • Beware of unrealistic goals for “glass-box” coverage
  • Realistic measures of “glass-box” coverage
    • Program statements
    • Program braches
    • Logical decisions
    • Program paths

Test Case Design Techniques for Glass-Box Testing

  • Statement testing
  • Branch/decision testing
  • Branch condition testing
  • Branch condition combination testing
  • Modified condition decision testing
  • Data flow testing
  • Linear Code Sequence and Jump (LCSAJ) testing
  • Other techniques

Review and Conclusion

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.