Validation is confirmation of objective evidence that the requirements for a specific intended use or application have been fulfilled. Validation consists of the following tasks:
Verify dynamic aspects of the software proving that the implementation meets technical specification in a consistent, efficient and robust way.
Look at the way requirements of technical specifications are met, and investigates to what extent the delivered software behaves as needed and expected.
To fulfil an independent validation; all specifications, documentations, test procedures and results of the system must be available to identify scenarios that have not been tested, and that could lead to system failures.
The independent validation will identify test cases to eliminate grey areas and errors in the system, including looking for synchronisation and timing problems difficult to spot in static verification. Reactions to fault injections are investigated to assess the system’s ability to contain error and recover from anomaly condition.
Important, internal requirements prior to ISVV:
1) Independent validation requires that the software is running in a representative environment. For some systems a dedicated software validation facility must be constructed, allowing to execute the software on a representative target processor with simulation of a real-time behaviour. To stress the software the facility must allow for error injection on all levels, e.g., memory corruption, communication protocol breakdown, and process scheduling errors.
2) The facility supports regression testing and test report generation, which allows for automatic re-execution of the test suite when new versions of the software are issued.
3) Due to different nature of the tested systems, it is not possible to apply a standard setup. The facility must be tailored to the actual system, which counts for simulation of the environment.
