Training: White Box Techniques

Statement Testing - 30 minutes
Statement testing is a coverage measurement technique that measures how many "executable" lines of code have been tested. Although this technique is considered the weakest coverage technique within the "white box" family of techniques, it is important to know why 100% statement coverage should be achieved by the development team on each component that is produced. Learn how to to calculate statement coverage and how to generate tests cases to cover 100% statement coverage.

RETURN TO CREATE A COURSE

Decision/Branch Testing - 1 hour

Testing every decision outcome within a piece of code or every branch within a control flow graph will automatically test every executable line of code, but not visa versa, which makes these a stronger coverage technique than statement testing. Learn the differences and similarities between decision and branch testing - how they are the same when achieving 100% coverage and how they can be different when less than 100% coverage has been achieved. This session will explain how to calculate the coverage achieved with the test cases that have been produced and executed.

RETURN TO CREATE A COURSE

Condition Testing - 30 minutes

Code usually consist of more complex statements which includes multiple conditions which need to be tested, when this occurs statement and decision coverage may be insufficient for your organisational requirements. During this session you will learn the differences between the different types of condition testing that is available and how they vary. Learn why Modified Condition Decision Coverage is a weaker technique than Branch Condition Combination Coverage, and yet this technique is more popular within many "safety related" organisations. Also learn why Branch Condition Coverage can sometimes be a weaker technique than Branch Coverage and is often not even considered to be used within some organsisations.

RETURN TO CREATE A COURSE

LCSAJ - 30 minutes

Linear Code Sequence and Jump (LCSAJ) is a very strong technique that helps organsiations achieve a high degree of "code coverage" particularly when path coverage is unattainable. Learn through worked examples how to calculate LCSAJ on various code examples and how LCSAJ consists of 3 main ingredients; the start of the linear sequence of executable statements, the end of the linear sequence, and the target line to which control flow is transferred at the end of the linear sequence. During this session we shall also explore why Path Coverage is often not feasible.

RETURN TO CREATE A COURSE

Dataflow Testing - 30 minutes
Rappa and Weyuker wrote: "It is our belief that, just as one would not feel confident about a program without executing every statement in it as part of some test, one should not feel confident about a program without having seen the effects of using the value produced by each and every computation". Dataflow testing is a powerful whitebox technique that looks at the data values that are used, defined and removed. Learn how to use dataflow testing to detect improper use of data values due to coding errors.

RETURN TO CREATE A COURSE