Validation and Verification

Validation is the process of determining whether a design meets the needs of the user, whereas verification is the process of determining whether a design meets a set of requirements, specifications, and regulations. If the requirements, specifications, and regulations are given in a formal language, then it may be possible to automate verification, resulting in a process known as formal verification. Verification may form part of a validation process, but in general, validation cannot be formalized because it relates a system design to intent. Simulation may also be used for validation, but it is more problematic for verification. To use simulation for verification, it is necessary to ensure adequate coverage of operating conditions, scenarios, and system inputs. For Monte-Carlo simulations, "coverage" is defined statistically or probabilistically. Testing can also be used for validation, but for the same reasons, it too is problematic for verification.