Software Engineering

V 모델 이해하기

임아톰 2023. 4. 16. 18:28

V 모델이란

V 모델은 소프트웨어 개발 프로세스로 폭포수 모델을 확장한 형태 중 하나입니다. 

폭포수 모델은 분석, 설계, 구현, 테스트 단계로 이루어져있습니다. 이 중 테스트 단계를 강조한 모델이 V 모델입니다.

주로, 안전이 중요한 자동차 업계에서 많이 사용됩니다.

 

V 모델

 

V 모델 의미

테스트 단계에서는 제품을 제대로 만들었는지 테스트 합니다.  V 모델은 무엇을 근거로 테스트를 진행할지 보여줍니다. V 모델에서는 각 단계에 대응되는 테스팅이 있고 해당 테스팅은 대응되는 단계의 산출물을 근거로 테스트를 진행합니다.

 

인수 테스팅은 요구사항 정의서를 근거로 테스트를 진행하고,
시스템 테스팅은 요구사항 분석서(SRS)를 근거로,
통합 테스팅 상위설계서를 근거로,
단위 테스팅은 상세설계서를 근거로 테스트를 진행합니다.

 

이때, 근거가 되는 산출물을 Test Basis라 부릅니다.

 

테스팅 4단계

단위 테스팅 (Unit Testing)

  • 개발자가 주체가 되어 설계한 모듈이 잘 동작하는지 확인하는 테스팅
  • 테스팅할 모듈을 단독적으로 실행할 수 있는 환경을 만들기 위해 테스트 드라이버, 스텁 등을 사용함
    • 테스팅 드라이버: 테스팅 대상 모듈을 호출하는 환경
    • 스텁: 테스팅 대상 모듈에서 호출하는 모듈

 

통합 테스팅 (Integration Testing)

  • 각각의 모듈들을 통합하여, 통합된 컴포넌트 간의 인터페이스와 상호작용 상의 오류를 발견하는 작업을 수행
  • 빅뱅 기법, 하향식 기법, 상향식 기법 등이 사용됨
    • 빅뱅기법: 모듈을 한꺼번에 통합하여 테스팅
    • 하향식 (Top-Down) 기법: 상위 모듈부터 하위 모듈로 점진점으로 통합하는 방법
    • 상향식 (Bottom-Up) 기법: 하위 모듈부터 상위 모듈로 점진점으로 통합하는 방법

 

시스템 테스팅 (System Testing)

  • 모듈이 모두 통합된 후, 사용자의 요구사항이 만족되었는지 검사하는 테스팅
  • 고객에게 시스템을 전달하기 전, 개발한 조직이 주체가 되는 마지막 테스팅

 

인수 테스팅 (Acceptance Testing)

  • 시스템이 사용자에게 인수되기 전, 사용자에 의해 실시되는 테스팅
  • 실제 사용자가 운영하는 환경에서 실시되어야 함
반응형