ISTQB CTFL Syllabus 2011
테스트 유형
Test Types
Terms
- 블랙박스 테스팅 Black-box testing
- 코드 커버리지 Code coverage
- 기능성 테스팅 Functional testing
- 상호운용성 테스팅 Interoperability testing
- 부하 테스팅 Load testing
- 유지보수성 테스팅 Maintainability testing
- 성능 테스팅 Performance testing
- 이식성 테스팅 Portability testing
- 신뢰성 테스팅 Reliability testing
- 보안성 테스팅 Security testing
- 스트레스 테스팅 Stress testing
- 구조적 테스팅 Structural testing
- 사용성 테스팅 Usability testing
- 화이트박스 테스팅 White-box testing
출처 : http://dic.sten.kr/
Background
- 테스트 활동의 일부는 테스트를 하는 특정 이유나 타겟을 기반으로 소프트웨어 시스템(이나 시스템의 일부분)을 확인하는 것을 목표로 할 수 있다.
- 특정한 테스트 목적에 중점을 둔 테스트 유형
- 소프트웨어가 수행하는 기능
- 신뢰성이나 사용성과 같은 비기능적 품질 특성
- 소프트웨어나 시스템의 스트럭처나 아키텍쳐
- 변경사항과 관련한 테스트
확인테스팅 : 수정된 결함 확인
리그레션 테스팅 : 의도하지 않은 변경 탐색
- 특정 테스트에서 개발, 사용되는 소프트웨어 모델
- 구조적 테스팅 : 제어 흐름 모델(Control flow model), 메뉴 구조 모델(Menu structure model)
- 비기능 테스팅 : 성능 모델(Performance model), 사용성 모델(Usability model), 보안 위협 모델(Security threat modeling)
- 기능성 테스팅 : 프로세스 흐름 모델(Process flow model), 상태 전이 모델(state transition model), 평문 언어 명세(plain language specification)
2.3.1 기능 테스팅 (기능성 테스팅)
- 기능(Functions)
- 요구명세서, 사용 케이스, 기능적 명세서와 같은 작업산출물에 기술되어 있거나, 문서화 되어 있지 않을 수 있다.
- 시스템이 하는 무엇(What)
- 기능 테스트
- 기능과 특징(문서에 기술되어 있거나 테스터가 이해한 것), 특정 시스템과의 상호운용성에 기반한다.
- 모든 테스트 레벨에서 수행 (e.g. 컨포넌트 명세 기반의 컴포넌트 테스트)
- 명세기반 기법 : 소프트웨어나 시스템의 기능성으로 부터 테스트 조건과 테스트 케이스를 도출.
- 기능성 테스트는 소프트웨어의 외부적 행동을 고려한다 (블랙박스 테스팅)
- 기능성 테스팅의 종류
- 보안성 테스팅 : 바이러스와 같은 악의적인 외부의 위협을 감지하는 것과 관련된 기능(e.g. 방화벽) 시험
- 상호운용성 테스팅 : 하나 이상의 특정한 컴포넌트나 시스템과 상호작용하는 기능 평가
2.3.2 비기능적 소프트웨어 특성 테스팅 (비기능 테스팅)
- 비기능 테스팅의 종류
- 성능테스팅
- 부하 테스팅
- 스트레스 테스팅
- 사용성 테스팅
- 유지보수성 테스팅
- 신뢰성 테스팅
- 이식성 테스팅
- 비기능 테스팅
- 시스템이 어떻게(How) 동작하는 지 테스트
- 모든 테스트 레벨에서 수행될 수 있다.
- (성능 테스팅의 응답시간과 같이) 다양한 규모에서 정량화 될 수 있는 시스템과 소프트웨어의 특성을 측정하는 데 필요한 테스트
- 비기능 테스팅은 소프트웨어의 외부적 행동을 고려하고, 이를 완수하기 위해 대부분 블랙박스 테스트 디자인 기법을 사용한다.
2.3.3 소프트웨어 Structure / Architecture 테스팅 (구조적 테스팅)
- 구조적(white-box) 테스팅은 모든 레벨에서 수행될 수 있다.
- 구조적 기법은 구조 유형 커버리지 평가에 대한 테스팅의 완전성을 측정하기 위해 명세 기반 기법 이후 사용되되는 것이 가장 적합하다.
- 커버리지
- 테스트 스위트에 의해 테스트가 수행된 구조의 범위
- 커버된 요소들의 퍼센티지(Percentage)로 표현
- 커버리지가 100%가 아닌 경우 누락된 요소들을 테스트하도록 커버리지를 확대하기 위해 더 많은 테스트를 설계
- 모든 테스트 레벨, 특히 컴포넌트 테스팅과 컴포넌트 통합 테스팅에서, 선언이나 결정과 같은 요소들의 코드 커버리지를 측정하기 위해 도구(Tools)를 사용할 수 있다.
- 구조적 테스팅은 하이어라키(Hierarchy)로 부르는 시스템 아키텍처(Architecture)에 기반한다.
- 구조적 테스팅 접근방식은 시스템, 시스템 통합이나 인수 테스팅 레벨에서도 적용할 수 있다. (e.g. 비즈니스 모델, 메뉴구조)
2.3.4 변경사항에 관련된 테스팅 : 재테스팅과 리그레션 테스팅
- 확인 테스팅
- 결함이 발견되고 수정되면, 소프트웨어는 기존의 결함이 완전히 사라졌는 지 확인하기 위해 재테스트 되어야 한다.
- 디버깅
- 결함의 위치를 찾고 수정
- 테스트 활동이 아닌 개발 활동이다.
- 리그레션 테스팅
- 수정된 이후 변경사항의 결과물로서 이미 알려졌거나 발견되지 않은 결함을 발견하기 위해 이미 테스트된 프로그램의 테스팅 반복
- 이러한 결함들은 테스트 중인 소프트웨어에 존재할 수도 있고, 관련이 있거나 관련없는 다른 소프트웨어 컴포넌트에 있을 수 있다.
- 소프트웨어나 환경이 변경되었을 때 수행
- 이미 실행된 소프트웨어에서 발견되지 않은 결함의 리스크를 기반으로 범위를 정한다.
- 확인 테스팅으로 사용되거나 리스레션 테스팅을 지원하는 테스트는 반복이 가능하다.
- 모든 레벨에서 수행.
- 기능적, 비기능성, 구조적 테스팅 포함.
- 리그레션 테스트 스위트는 여러번 수행되며 일반적으로 천천히 변화하기 때문에 강력한 자동화 후보이다.
2014/09/01 - [공부/ISTQB] - [ISTQB] 2. 소프트웨어 생명주기에서의 테스팅
'공부 > ISTQB' 카테고리의 다른 글
[ISTQB] 3. 정적 기법 (0) | 2014.09.11 |
---|---|
[ISTQB] 2.4 유지보수 테스팅 (0) | 2014.09.11 |
[ISTQB] 2.2 테스트 레벨 (0) | 2014.09.05 |
[ISTQB] 2.1 소프트웨어 개발 모델 (0) | 2014.09.01 |
[ISTQB] 2. 소프트웨어 생명주기에서의 테스팅 (0) | 2014.09.01 |