본문 바로가기
전공 공부/소프트웨어공학

[소프트웨어공학] 소프트웨어 V&V (검증 및 확인)

by Yujin Chang 2024. 10. 17.

소프트웨어 검증 (Verification)

  • 소프트웨어가 명세서에 맞게 동작하는지를 확인하는 것
  • 정적 분석(코드를 실행하지 않고 분석), 코드 리뷰, 단위 테스트와 같은 활동을 통해 소프트웨어의 개발이 제대로 진행되고 있는지를 검증

소프트웨어 확인 (Validation)

  • 소프트웨어가 유저 요구사항을 만족시키는지를 확인하는 것
  • 동적 분석(코드를 실행하여 분석)과 베타 테스트 등을 통해 소프트웨어가 실제 사용 환경에서 요구사항을 만족하는지 검증

V-Model (of Software Testing)

  • 폭포수 모델의 확장된 형태
  • V자의 왼쪽은 개발 단계, 오른쪽은 테스트 단계
  • 분석이나 설계 등의 개발 단계마다 상응하는 테스트가 존재하는 소프트웨어 프로세스 모델
  • 장점: 작고 간단한 프로젝트에 적용하기 쉽고 효율적임, 검증과 확인이 명확함
  • 단점: 유연성이 부족함(각 단계가 순차적으로 진행되므로, 요구사항이 변경될 경우 대응하기 어려움), 각 단계마다 모든 산출물을 테스트하기 때문에 소규모 프로젝트나 빠르게 변하는 프로젝트에서는 비효율적임