테스트 레벨
IT 위키
더 많은 작업
- 상위 문서: 소프트웨어 테스트
- Test Level
- 함께 조직되고 관리되는 테스트 활동의 묶음으로, 개발 단계에 대응하여 단위·통합·시스템·인수 테스트로 나눈다
V 모델은 왼쪽의 개발 단계마다 오른쪽의 테스트 레벨을 짝지어, 각 개발 산출물을 해당 테스트의 기준으로 삼는다.
| 개발 단계 | 테스트 레벨 | 검증 기준 |
|---|---|---|
| 요구사항 분석 | 인수 테스트 | 사용자 요구사항, 계약 |
| 분석(시스템 명세) | 시스템 테스트 | 시스템 요구사항 명세 |
| 설계 | 통합 테스트 | 아키텍처·인터페이스 설계 |
| 구현(코딩) | 단위 테스트 | 모듈 상세 설계 |
- 테스트는 단위 → 통합 → 시스템 → 인수 순서로 수행한다.
- 단위·통합 테스트는 설계대로 만들었는지 보는 검증(Verification), 시스템·인수 테스트는 요구사항에 맞는지 보는 확인(Validation) 성격이 강하다(확인과 검증).
- 코드와 모듈 설계를 대상으로 한다. 화이트박스 테스트 기법을 주로 쓴다.
- 호출할 모듈이 없으면 테스트 드라이버를, 호출될 모듈이 없으면 테스트 스텁을 임시로 만든다.
- 비점진적 통합: 모든 모듈을 한꺼번에 결합하는 빅뱅(Big Bang) 방식
- 점진적 통합: 하향식(Top-Down, 스텁 필요), 상향식(Bottom-Up, 드라이버와 클러스터 필요), 혼합식(샌드위치)
| 종류 | 설명 |
|---|---|
| 사용자 인수 테스트 | 사용자가 시스템 사용의 적절성을 확인 |
| 운영상 인수 테스트 | 시스템 관리자가 백업·복원, 재해 복구, 보안 취약점 등을 확인 |
| 계약 인수 테스트 | 계약상의 인수·검수 조건을 준수하는지 확인 |
| 규정 인수 테스트 | 정부 지침, 법규, 규정에 맞게 개발되었는지 확인 |
| 알파 테스트 | 개발자의 장소에서 사용자가 개발자와 함께 수행한다. 통제된 환경에서 사용자의 오류와 사용상 문제를 기록한다. |
| 베타 테스트 | 실제 사용자 환경에서 여러 사용자가 개발자 없이 수행한다. 발견한 오류를 개발자에게 보고한다. |
- 필기: V 모델에서 개발 단계와 테스트 레벨의 짝(요구사항 분석–인수, 분석–시스템, 설계–통합, 구현–단위)
- 필기·실기: 알파 테스트와 베타 테스트의 차이(개발자 참여 여부, 테스트 장소)
- 실기 단답형: 인수 테스트의 종류, 하향식·상향식 통합에 필요한 스텁·드라이버