description |
---|
查证 和 确认 |
Verification: how we build the software right ?
Validation: have we build the right software ?
Verification and Validation are two major components in systems engineering. The differences between verification and validation can cause confusion. This document attempts to summarize the basic objectives, similarities, and differences between verification and validation from a broader perspective.
According to ISO 26262- 2018 (E)- Part 1 page 27, verification is to determine whether an examined object meets its specified requirements.
Verification activities may include:
- verification review (technical review, walk-through, inspection);
- verification testing;
- simulation;
- prototyping; and
- analysis (safety analysis, control flow analysis, data flow analysis, etc.).
Verification review are verification activities to ensure that the result of a development activity fulfils the project or technical requirements.
The goal of verification review to ensure the technical correctness and completeness of the element or item.
According to ToolSQA, verification is to evaluate a software to see whether it at a given development phase meet the conditions imposed in the beginning.
According to ToolSQA, validation is to evaluate a software during or at the end of the development process to determine whether it satisfies specified requirements.
Validation methods according to ToolSQA include dynamic testing, black box (functional) testing, gray box testing, and white box (structural) testing, etc.
-
Verification checks if the product conforms the specifications.
Verification can catch errors that validation cannot catch.
Verification is usually done before validation.
Verification is to verify documents, design, code, data sources, and etc.
-
Validation checks if the product meets the customer needs, expectations, and requirements.
Validation can catch errors that verification cannot catch.
Validation usually follows after verification.
Validation is to validate and test the actual product.