Test design

Test conditions can be stated for any part of a component or system that could be verified: functions, transactions, features, quality attributes or structural elements.

Risk and complexity analysis determines the test design techniques to be applied for a given specification.

In lack of historical data some assumptions can be made, which should be refined for subsequent projects.

The site of test designers offers the LEA (Learn-Exercise-Apply) methodology to support effective learning, exercising and applying the techniques.

Model checking can ensure all the paths of a simple program are exercised, while symbolic execution can detect bugs and generate a test case that will expose the bug when the software is run using this test case.