the best ally against legacy tests

Do not just test your code,
but also the way you design software,
and the team that delivers sofware,
and the organisation that creates software.

bootstrap themes

Metro Map of testing to a successful destination

Let us consider tests at the highest level of engineering and management of organization and process. Faithfulness tests enable to interpret a product vision as a faithful software. Working tests enable to observe the working of a software product to make it performing well, secured, safe, under control. Inspection-based tests enable organizations to learn and to improve themselves by experimenting practices. Relay tests enable to improve processes by assimilating the lessons learned.

Metro map of testing: faithfulness testing vs working testing
Metro map of testing: inspection-based testing vs relay testing

Tree of testing

Defining meaning of tests leads to refine, associate and hierarchize key concepts and informations between themselves. It avoids serious misunderstandings and confusions. Outside typology no strategy at any scale.

Typological tree of testing

Divide & Conquer Tests

Discover adaptative strategies of testing, while building an original typology of tests, from code to learning organisations.

One typological model to hierarchize tests, many categories to divide them.

Test Pyramid

Enable the proper levels of testing according to what must be tested and control how the time and the effort for performing or automating tests is used.

Test Pyramid: validation vs verification

Quadrants of testing

Travel throught the quadrants in a clockwise direction to discover the dual aims of their tests.

Software Testing Quadrants

Classification of testing

I built a table to classify all concrete tests of my typology in the same way as the periodic table of chemical elements. Here rows (periods) and columns (groups) are used to identify some properties of tests: their related layers in a software under construction and in a building process. Depending on whether they are implemented or missing, it is possible to foresee what kind of software is going to be delivered. Another way to use the periodic classification is to manage roles and skills in organisations.

From systems to be tested to deliverables to be inspected

Every test in the same row (period) has the same system under test. The size of the system grows from top to bottom as the number of layers of onion. On the left of the table, such a system is a piece of software to be tested; on the right, such a system is a deliverable with added value. Incremental development crosses all layers.

Test targets

Every test in the same column (group) has the same test target. Kinds of target cover all requirements to build softwares and to make organisations grow up. An expandable test (i.e. a metatest) in an open-minded, learning organisation is a great way to keep practical knowledges from experiments over time and to make them actionable and shareable. Iterative development crosses all matters.

Cell of the periodic classification of software testing
Periodic Classification Of Software Testing

© Copyright 2018-2019 Xavier Pigeon - All Rights Reserved