What is validation in software testing

Test, verification and validation


A test, which is essentially trying out the software product, is anything but a professional verification of compliance with the specification. Defined preparation and comprehensible execution of the test are required.

At this point, the testing itself, how tests are specified and how testing is done, is by no means intended to be discussed. Rather, it looks at how tests can be integrated into the development process. An interesting perspective on testing is described by Matt Stephens and Doug Rosenberg in "Design Driven Testing" [3].

Figure 6: Development process with an explicit test

First, the test is developed based on the specification and design, and a test plan is created. It contains a number of test cases that are intended to closely cover the descriptions in the specification. The test is then implemented, if necessary. This can be done in parallel with the development of the software product. The result is, so to speak, the test procedure. It is by no means just a more or less automatically running sequence of test programs, but can and will usually also contain actions to be carried out by humans.

Carrying out the test of the current version of the software does not allow the product or the test itself to be adapted. It simply provides results that are not analyzed further. The analysis of deviations is carried out in an iteration of the implementation or even the design. This approach is very efficient because the test can be carried out relatively quickly and completely.

Meaning of the symbols:

An activity

An artifact

A starting node

An end node

A transition