본문으로 건너뛰기
SDETRole
SDETRole

용어집 · 테스트 기초

검증과 확인(V&V)

영어: Verification and validation

다른 이름: V&V, verification vs validation, 검증과 타당성 확인, 베리피케이션과 밸리데이션

정의

검증(verification)은 명세 기준으로 "제품을 올바르게 만들고 있는가?"를, 확인(validation)은 실제 요구 기준으로 "올바른 제품을 만들고 있는가?"를 묻습니다.

검증과 확인은 서로 보완하는 두 가지 점검으로, 보통 배리 뵘(Barry Boehm)의 표현으로 설명합니다. **검증(verification)**은 작업 산출물이 명세에 부합하는지 확인합니다. 즉 제품을 올바르게 만들고 있는가? **확인(validation)**은 제품이 의도된 환경에서 사용자의 실제 요구를 충족하는지 확인합니다. 즉 올바른 제품을 만들고 있는가? 명세가 잘못되었다면 시스템은 검증을 완벽히 통과하고도 확인에서 실패할 수 있습니다.

예시

요구사항에 “내보내기 버튼은 전체 주문의 CSV 파일을 생성한다”고 적혀 있습니다.

  • 검증: 팀은 설계를 리뷰하고 코드를 인스펙션하며, Export를 클릭하면 모든 주문이 담긴 올바른 형식의 CSV가 생성되는지 테스트합니다. 실제로 그렇게 동작하므로 검증은 통과합니다.
  • 확인: 재무팀이 써 보니 실제로는 월별로 필터링된 주문이 필요하고, 세금은 별도 열에 있어야 하며, 사용하는 스프레드시트 템플릿은 세미콜론 구분자를 전제로 합니다. 기능은 명세를 충족하지만 요구는 충족하지 못합니다. 확인은 실패입니다.

한눈에 보는 차이

검증(Verification) 확인(Validation)
질문 제품을 올바르게 만들고 있는가? 올바른 제품을 만들고 있는가?
비교 기준 요구사항, 설계, 표준 사용자 요구와 의도된 용도
대표 활동 리뷰, 워크스루, 인스펙션, 정적 분석, 단위·통합·시스템 테스트 사용자 인수 테스트, 베타 테스트, 사용성 연구, 데모, 운영 피드백
실행되는 소프트웨어가 필요한가? 항상은 아님: 리뷰도 검증임 대체로 필요함, 또는 현실적인 프로토타입
주로 수행하는 사람 개발자와 QA 사용자, 고객, 프로덕트 오너

요구사항 리뷰나 코드 리뷰 같은 정적 기법은 항상 검증입니다. QA가 명세를 기준으로 수행하는 동적 테스트도 대부분 검증입니다. 확인에는 제품의 실제 대상이 되는 사람들이 참여합니다.

왜 중요한가

검증에만 집중하는 팀은 결함 있는 요구사항과 정확히 일치하는 소프트웨어를 출시할 수 있습니다. 시프트 레프트 실천은 양쪽 모두에 도움이 됩니다. 인수 기준을 사용자와 일찍 리뷰하는 것은 비용이 적은 확인이고, 커밋마다 돌아가는 자동화 테스트는 지속적인 검증입니다. 의료기기 같은 규제 산업에서는 V&V가 별도로 문서화되는 활동이며, 감사관은 각각에 대한 증거를 요구합니다.

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →