Verification vs. Validation
두 단어의 차이는 사전적 측면이 아닌 산업 용어로서 해석해야 한다. 왜냐하면, 이들은 시스템 개발 분야의 발달 이전부터 존재한 단어이기 때문이다.
그리고 이는 언어적 한계를 감안할 때 영문/한국어 번역이 무의미하다. 따라서 이를 '검증', '검사' 등의 언어로 번역하지 말고 의미 차이만 살펴보자.
Wikipedia는 다음과 같이 설명한다.
"Validation. The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification."
"Verification. The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation."
https://en.wikipedia.org/wiki/Verification_and_validation
Verification and validation - Wikipedia
Verification and validation (also abbreviated as V&V) are independent procedures that are used together for checking that a product, service, or system meets requirements and specifications and that it fulfills its intended purpose.[1] These are critical c
en.wikipedia.org
여타의 문서들도 이와 크게 다르지 않은 설명을 한다. 이를 장황하지 않게 요약하자면 이런 결론이겠다.
Verification : 시스템 개발을 위한 절차에서 발생한 단계별 요구사항(문서, 코드, 기타 제반의 모든 것)들에 맞게 만들어졌는지 확인하는 일. 딱 그 단계에 필요한 수준을 충족하면 된다.
Validation : 시스템을 넘겨받는 측의 기술적 만족 여부를 확인하는 일. Customer Acceptance.
당연히 Verification은 Validation의 subset이라고 할 수 있다. 즉 Validation은 마지막 단계에 존재하는 것이 아니라 V모델의 상향 시작점부터 개시된다고 봐야 한다.
또 한가지, Verification이 완벽하다면 Validation을 별도로 명명하거나 최종 검수 단계에 배치시킬 필요가 없다. 물론 이를 위해선 매우 높은 치밀함으로 시스템 개발 사양을 정의하고 분류하는 초기 단계가 완벽하다는 전제 하에만 가능한 이야기다.