Test Development

Identifying and underpinning the theory and practice surrounding practical test case development techniques for efficiency and consistency

Skills Gained

During this 1 day workshop delegates will understand the theory and practice surrounding practical test case development techniques for efficiency and consistency in today’s challenging ICT projects.

Who will benefit from this course

Testers Analysts, Test Team Leaders, Developers, Business Analysts and anyone involved in testing of software in component, integration, system or acceptance test levels.

Beneficial for anyone involved in Agile, V-model or Waterfall life-cycles.

Content

Exhaustive testing is impractical in the majority of situations so we must turn to both systematic and non-systematic techniques to utilise our time to maximum benefit.

During this session the delegates will not only learn the theory behind these under-used systematic techniques, but will apply these techniques to various applications demonstrating their power and agility.

Session 1: Introduction

The testing process

Breaks down the testing process into a number of distinct activities to show what can be done to improve effectiveness and efficiency.

Levels of testing

Explains the main levels of testing including unit testing, integration testing, system testing, acceptance testing and maintenance testing. Also compares these with regression testing.

What is a testing technique?

Explains what testing techniques are and the different types available. Also outlines a number of techniques and the differences between them. Explains the advantages of using testing techniques and how efficiencies can be made in test development.

Black Box, White Box and Coverage concepts The difference between Black and White Box testing. What coverage is and how it can be used to give an objective measure, in some part, of test ‘thoroughness’.

Session 2: Black Box Testing

Equivalence partitioning, boundary value analysis

These two popular techniques are applicable at all levels of testing and with most types of software application. This session gives a description of the techniques and demonstrates how they can be put into practice.

Decision tables

Explains how decision tables can be used to explore interesting combinations of conditions.

State Transition Testing

This technique is useful when testing state machines and also navigation. Delegates will generate state transition diagrams and will test various levels of coverage. Negative tests can also be generated using a different aspect called a State Table

Session 3: Non-systematic techniques

Exploratory Testing

This technique is more of an approach to testing, helping us test when we don’t have much time or if specifications are poor.

We shall use examples and exercises throughout the day to practice each of the techniques to become more effective and more efficient testers. Other techniques are also highlighted.

Practical Work

Prepared exercises are used to demonstrate some of the techniques.