V-모델

반응형
SMALL

V-모델

V-모델은 소프트웨어 개발 단계에 맞춰 테스트 단계를 매칭하여 진행하는 개발 모델입니다. 개발 단계와 그에 따른 테스트를 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 나누며, 개발이 왼쪽 아래로 진행될수록 테스트 단계는 오른쪽 위로 진행되는 V자 형태의 구조를 가집니다.


단위 테스트

  • 단위 테스트는 소프트웨어의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 실시하는 테스트입니다. 코딩 직후에 진행되며, 각 모듈이 정상적으로 작동하는지를 확인합니다.
  • 주요 검사 항목:
    • 인터페이스: 모듈 간의 상호작용
    • 외부 입출력(I/O): 데이터의 입력과 출력이 올바른지 확인
    • 자료 구조, 경계 조건, 오류 처리 경로
  • 구조 기반 테스트명세 기반 테스트로 나뉘지만, 주로 구조 기반 테스트가 실행됩니다.

통합 테스트

  • 통합 테스트는 단위 테스트가 완료된 모듈들을 결합하여, 이들이 함께 올바르게 동작하는지를 확인하는 테스트입니다.
  • 모듈 간의 상호 작용을 검사하여 통합 과정에서 발생할 수 있는 오류를 발견하고 수정합니다.
  • 통합 방식:
    • 비점진적 통합 방식: 모든 모듈을 한 번에 결합하여 테스트하는 빅뱅(Big Bang) 방식.
    • 점진적 통합 방식: 모듈을 하나씩 단계적으로 결합하면서 테스트하는 방식. 이는 다시 하향식 통합상향식 통합으로 나뉩니다.
      • 하향식 통합(Top-Down Integration): 상위 모듈부터 하위 모듈로 통합하면서 테스트.
      • 상향식 통합(Bottom-Up Integration): 하위 모듈부터 상위 모듈로 통합하면서 테스트.

시스템 테스트

  • 시스템 테스트는 통합된 모든 모듈을 하나의 완전한 시스템으로 보고, 이 시스템이 사용자의 요구사항을 충족하는지 검증하는 테스트입니다.
  • 기능적 요구사항뿐만 아니라 비기능적 요구사항(성능, 보안, 호환성 등)을 포함해 시스템의 전반적인 품질을 평가합니다.
  • 시스템 테스트는 실제 사용 환경과 유사한 조건에서 수행되어, 배포 전에 모든 요소가 정상적으로 작동하는지 확인하는 과정입니다.

시스템 테스트 유형

  1. 기능 테스트: 시스템이 사용자 요구사항에 맞게 동작하는지 검증.
  2. 성능 테스트: 응답 시간, 처리량, 자원 사용 등을 확인.
  3. 보안 테스트: 시스템의 보안 취약성을 점검.
  4. 호환성 테스트: 다른 소프트웨어나 하드웨어와의 호환성을 검증.
  5. 사용성 테스트: 사용자가 소프트웨어를 쉽게 사용할 수 있는지 평가.

인수 테스트

  • 인수 테스트는 소프트웨어가 사용자의 요구사항을 충족하는지 검증하는 테스트입니다.
  • 소프트웨어가 실제 사용 환경에서 동작할 준비가 되었는지 확인하기 위해, 개발자의 장소 또는 사용자의 실제 환경에서 테스트가 진행됩니다.
  • 인수 테스트 유형:
    • 알파 테스트: 개발자의 장소에서, 사용자가 개발자 앞에서 소프트웨어를 사용하며 피드백을 제공합니다.
    • 베타 테스트: 실제 환경에서, 여러 명의 최종 사용자가 소프트웨어를 사용하며 문제를 발견하고 피드백을 제공합니다.
반응형
LIST