9Testing Techniques

Before looking at the various test techniques, how can we group them, and what are their typologies?

9.1. Test typologies

I propose to synthesize the various types of test, each with a different utility and impact.

“Testing” should be seen as verification and validation (“V&V”). Verification and Validation both involve providing evidence that requirements have been met. This involves having measurable and achievable requirements. We speak of IV&V when the actions of V&V are carried out by an independent team. Validation focuses on an “intended use” which is not the case for verification. Tests can be dynamic (i.e. requiring the execution of the code of the application to be tested) or static (without executing the code to be tested).

Like any other activity, testing needs to be effective and efficient. Effective in terms of defect detection, efficient in limiting the effort required to achieve these objectives.

The development cycle does not matter on the tests: all the types of testing mentioned below can be carried out regardless of the development cycle. In a cycle (iteration, sprint, etc.), it is recommended to start with static tests and reviews, then to perform unit testing, then integration testing, then system testing, before doing application testing, systems integration, then system-of-systems testing and ending with acceptance testing. Each sprint after the first will have to ensure that the evolutions do not lead to regressions in what has ...

Get Advanced Testing of Systems-of-Systems, Volume 1 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.