V-모델(V-Model)
소프트웨어 개발 생명 주기(SDLC) 모델 중 하나로,각 단계별로 개발자 관점에서의 공정 과정상 검증과 사용자 관점에서의 최종 산출물에 대한 확인을 지원하기 위한 테스트 모델
- V-모델은 폭포수 모델(Waterfall Model)의 발전된 형태로, 단계별 테스트를 강조하는 것이 특징이다.
테스트 레벨(Test Level)
소프트웨어 개발 과정에서 각 단계에 맞게 수행되는 테스트의 수준
- 함께 편성되고 관리되는 테스트 활동의 그룹이다.
- 프로젝트에서 책임과 연관되어 있다.
- 각각의 테스트 레벨은 서로 독립적이다.
V-모델과 테스트 레벨
단위 테스트(Unit Test)
소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춘 테스트
- 사용자의 요구사항을 기반으로 한 기능성 위주의 테스트를 수행한다.
- 명세 기반 테스트(블랙박스 테스트)와 구조 기반 테스트(화이트박스 테스트)로 나누어지지만, 주로 구조 기반 테스트 위주로 수행한다.
- 단위 테스트는 소프트웨어의 가장 작은 단위를 개발자 관점에서 검증하는 과정으로, 내부 구조를 세밀하게 테스트하는 것이 중요하기 때문이다.
- 코드의 세부 동작을 검증하며, 테스트 자동화 도구를 이용하여 신속하게 진행할 수 있다.
- ex. 특정 함수가 예상한 출력값을 정확히 반환하는지 테스트
통합 테스트(Integration Test)
소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트
- 여러 단위가 통합되었을 때, 상호작용이 올바르게 이루어지는지 확인한다.
- 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지를 확인하는 테스트이다.
- ex. 로그인 모듈과 사용자 관리 모듈이 정상적으로 연동되어 작동하는지 테스트
시스템 테스트(System Test)
통합된 단위 시스템의 기능이 사용자의 요구사항에 맞게 동작하는지 확인하는 테스트
- 모든 모듈이 통합된 완전한 시스템을 대상으로 테스트한다.
- 독립된 테스트 팀이나 품질 관리팀이 주로 수행한다.
- 기능적 요구사항과 비기능적 요구사항(성능, 보안 등)이 모두 충족되는지를 확인하는 테스트이다.
- ex. 전자상거래 시스템에서 주문, 결제, 배송 모듈을 포함한 전체 시스템이 정상적으로 작동하는지 테스트
인수 테스트(Acceptance Test)
최종 사용자와 업무의 이해관계자 등이 테스트를 수행함으로써 개발된 제품에 대해 운영 여부를 결정하는 테스트
- 최종 사용자 또는 고객이 소프트웨어를 테스트하며, 비즈니스 요구가 모두 충족되었는지를 평가한다.
- 소프트웨어의 실제 사용 환경에서 사용자 시나리오를 기반으로 테스트하며, 통과하면 시스템이 최종적으로 배포된다.
- ex. 사용자가 소프트웨어를 사용하여 모든 기능을 시험한 후, 그 결과가 비즈니스 요구사항을 만족하는지 테스트
종류 | 설명 |
알파 테스트 (Alpha Test) |
선택된 사용자(회사 내의 다른 사용자 또는 실제 사용자)가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트 |
베타 테스트 (Beta Test) |
실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트 |
'certification > 정보처리산업기사' 카테고리의 다른 글
[Network] ARQ (1) | 2024.10.20 |
---|---|
[Network] 네트워크 프로토콜의 기본 요소, 특징, 예시 (1) | 2024.10.20 |
[SW] 테스트 시각에 따른 분류(검증, 확인) (0) | 2024.10.19 |
[SW] 테스트 기법에 따른 분류(화이트박스 테스트, 블랙박스 테스트) (0) | 2024.10.19 |
[Network] TCP 연결 해제 과정(4-way 핸드셰이크) (0) | 2024.10.19 |