-
Validation과 Verification (V&V)테스팅 관련/개념 2020. 5. 27. 23:50
Validation
- 사용자의 만족에 따라 소프트웨어가 실행되는지 확인
- 사용자의 니즈를 충족시키는지 확인
- "올바른 제품을 만들고 있는가?"에 대한 대답
- 니즈에 맞춘 설계 검증
- 명시된 요구사항들을 만족하는지 여부를 확인하기 위해 개발 단계 말 또는 중간에 구성요소나 시스템을 평가하는 프로세스 (IEEE/ANSI)
- 컴퓨터 기반 테스팅 - 실제적으로 소프트웨어를 실행
- 예. 하위 레벨 테스팅 (단위 테스팅, 통합 테스팅), 상위 레벨 테스팅 (사용성 테스팅, 기능 테스팅, 시스템 테스팅, 인수 테스팅)
- 동적 테스트
Verfication
- 소프트웨어가 명세와 일치하며 그에 따라 실행하는지 확인
- "제품을 올바르게 만들고 있는가?"에 대한 대답
- 스펙, 설계에 맞춘 구현과정 검증
- 개발 단계의 산출물이 그 단계의 초기에 설정된 조건을 만족하는지 여부를 결정하기 위해 구성요소나 시스템을 평가하는 프로세스 (IEEE/ANSI)
- 본격적인 구현 단계 이전에 요구사항 명세서, 설계 명세서, 코드 등과 같은 산출물을 대상으로 평가, 리뷰, 인스펙션 등을 하는 프로세스
- 인간 기반 테스팅 - 주로 산출물 위주의 검토형태
- 주기 검증: 개발 주기의 특정 단계에서 제작된 생산 제품이 그 이전 단계에서 설정한 규격들을 어느 정도 충족시키는지를 결정하는 과정
- 형식 검증: 원시 부호가 규격에 맞게 작성되었는지를 수학적으로 엄격하게 증명하는 과정
- 예. 인스펙션, 워크스루, 동료 검토
- 정적 테스트
V & V 예제
사용자의 요구사항
- 한 명이 차 뒤에 보트를 실을 수 있어야 함
시스템 명세(specification)
- 보트는 100lb 보다 가벼워야 함
- 보트는 핸들이 있어야함
- 쉽게 차에 들어갈 수 있도록 밑바닥이 패드로 되어있어야 함
Validation → 평균 신장의 사용자 한 명이 차 뒤에 보트를 실어볼 수 있는지 검증한다.
Verification → 명세에 맞게 제품을 만들었는지 검증한다.
Validation은,
생산한 소프트웨어가 사용자의 니즈와 만족도를 모두 충족시키는지를 확인하는 것.
Verification은,
사용자가 무엇을 원하는지, 사용자의 요구사항들을 맞추기 위해 어떻게 하였는지에 대해 작성된 '규정'을 소프트웨어가 충족시키는지 확인하는 것.
'테스팅 관련 > 개념' 카테고리의 다른 글
'좋은' 테스트 계획의 중요성 (0) 2020.06.17 테스트 계획이란? (0) 2020.06.02 소프트웨어 개발의 "V 모델" (0) 2020.05.27 테스팅 원리 (0) 2020.05.27 신뢰성(Dependability) 정의 (0) 2020.05.26