This course is aimed at those about to embark on a career in software testing. It is suitable for apprentices, people new to testing and others seeking cross-function training.

It will provide a through grounding in structured and systematic test techniques which can be applied throughout the software development lifecycle, whether traditional, Agile or DevOps.

We will begin with those techniques which can be applied at the start of the development project, on the requirements and user stories.

We will continue with those which can be applied whilst the developer is writing code; so that code quality may be improved, when it more cost effective to do it.

We will also look at techniques which can be applied once the code has been checked in for test and explore those suitable for use at system testing and those for use at user acceptance testing.


Delegates will learn how to

  • Overview of traditional vs Agile vs DevOps working environments;
  • Static test techniques – walkthroughs and technical reviews;
  • Insight into developer testing and code-coverage measures;
  • Continuous integration and testing at developer level;
  • Practise in using specification-based testing techniques:
  • o Equivalence partitioning;
  • o Boundary value analysis;
  • o State transition testing;
  • o Decision tables;
  • o Model-based testing;
  • o User story testing.
  • Full scripts versus session sheets;
  • When to automate and when not;
  • Raising and managing defects


The course will comprise lectures, discussions, and hands-on activities. This will include:

  • Reviewing a set of user-stories and reporting on issues found;
  • Designing tests for given requirements;
  • Completing session sheets to record test execution against acceptance criteria;
  • Raising defects with the required information.
  • Throughout the course delegates will be encouraged to work in groups with active participation emphasised as key to personal growth.