Course Description

This 2-day Software Testing Advanced training course teaches participants a number of advanced testing 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.

After completing this course, students will be able to:

  • understand and explain different test models and their related test coverage criteria
  • apply black-box and glass-box test case design techniques to conventional testing, model-based testing and static analysis of program code
  • apply techniques to comprehensive exercise examples

Pre-requisites

Attendance at our Software Testing Introduction training course or equivalent experience.

Who is this Course for ?

For experienced software developers and software testers.

Further Training

After some further on-the-job experience in a software testing environment, we recommend students attend our Automated Software Testing training course to gain a deeper insight into software testing philosophies and techniques.

Course content

Test Models
Some definitions
Testing concepts
– Functional or black-box view
– Structural or glass-box view
– “Translucent-box” or grey-box view
– Mapping project roles to software views
– Test-first approach
Test models
– Black-box test models
– Glass-box test models
Test case coverage
– Black-box coverage goals
– Glass-box coverage goals
Black-Box & Test-first Test Case Design Techniques
Requirements verification
Equivalence partitioning
– Identifying partitions of equivalent values
– Selecting partition test cases
– Equivalence partition coverage criteria
Test oracles
– Who “tests” the test cases?
– Automated test oracle
Boundary value analysis
– Testing on the boundary between partitions
– Selecting boundary test cases
– Risks and coverage criteria
Syntax testing
– A notation for modelling the syntax of inputs and outputs
– Selecting test cases
– Testing for invalid syntax
Decision Tables
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