-
테스트 단계에 따른 분류
-
단위 테스트
-
통합 테스트
- 소프트웨어 컴포넌트 간의 상호 작용을 검증하는 프로세스
- 소프트웨어 엔지니어가 하위 수준 관점을 배제하고 통합하고 있는 레벨의 관점, 즉 컴포넌트 간, 서브시스템 간의 통합에 집중해야 하는 활동
-
통합 테스트의 유형
-
하향식(Top-down) 통합 테스트
- 주요 제어 모듈은 테스트 드라이버로 사용되고, 스터브는 주요 제어 모듈에서 직접 종속되는 모든 모듈로 교체
- 깊이 우선이나 넓이 우선의 선택적 통합 접근법을 정하고, 하위 스터브는 실제 컴포넌트들로 한 번에 하나씩 대체
- 테스트들은 각 컴포넌트가 통합됨으로써 수행
- 각 테스트가 완성되면 다른 스터브들이 실제 컴포넌트들로 대체
-
상향식(Bottom-up) 통합 테스트
- 하위 수준의 컴포넌트들은 특별한 소프트웨어 보조 기능을 수행하는 클러스터(혹은 build)로 결합
- 입.출력 테스트 케이스를 통합하기 위해 드라이버가 사용
- 클러스터가 테스트 됨
- 드라이버는 지워지고 클러스터들은 프로그램 구조의 상위로 이동하여 결합됨
-
혼합식(Snadwich) 통합 테스트
- 하향식 통합 전략과 상향식 통합 전략을 절충한 방식
- 우선적으로 통합을 시도할 중요 모듈들을 선정한 후 그 모듈을 중심으로 통합
-
비점진적 테스트(Big Bang)
- 모든 모듈을 한꺼번에 통합하여 테스트
- 단위 테스트에 많은 시간이 필요
- 시스템의 중요 부분과 부수적인 부분을 구별하지 않음
- 일정 계획에 융통성이 없음
- 오류가 있는 경우 어떤 모듈이 변경되어야 하는지 파악하기 어려움
-
시스템 테스트
- 전체 시스템의 수행 결과를 테스트
-
시스템 테스트 시 주요 테스트 대상
※ 단위 테스트 시에는 개발자가 자기 프로그램을 테스트할 수 있으나, 통합 테스트와 시스템 테스트 시에는 개발자가 직접 테스트하지 않는다.
-
-
-
테스트 목적에 따른 분류
구분 |
알파 테스트 |
베타 테스트 |
테스트 주체 |
사용자 |
사용자 |
테스트 환경 |
|
- 사용자 Site에서 테스트
- 관리 불가능한 환경
|
개발자 참여 |
부분적 참여 |
불참 |
※ 성능테스트와 스트레스 테스트는 시스템의 비기능적 요구 사항에서 명시된 사항에 대해 검증하는 활동