명세기반 테스트(Specification-based)
태그 :
- 개념
- 주어진 명세를 빠뜨리지 않고 테스트 케이스화 (일반적으로 모델의 형태)
1. 정의 :주어진 명세를 빠뜨리지 않고 테스트 케이스화 (일반적으로 모델의 형태)
2. 시험기법의 분류
- 시험자의 직관 및 경험 기반 (임의, 탐험)
- (Based on Tester's Intuition and Experience)
- 명세 기반(Specification-based)
- 코드 기반(Code-based)
- 결함 기반(Fault-based) (오류, 변이)
- 사용 기반(Usage-based)
- 응용 프로그램의 본성 기반(Based on Nature of Application)
- 기법 선택 및 조합(Selecting and Combining Techniques)
- 기능적 테스트
- Black-Box Technique
3. 명세기반 테스트기법의 특징
- 누락 기능 또는 오류 결함의 식별
- 인터페이스 및 자료구조 결함 측정
- 성능 및 시작/종결 오류 식별
4. 기법
종류 |
설명 |
동등 클래스 분할, ECP (Equivalence Class Partitioning) |
-테스트 데이터를 특성에 따라 분류하고, 각 그룹별 대표 값을 이용하여 테스트케이스를 설계(동등분할)하는 기법 -시스템과 도메인에 대한 충분한 이해 필요 -예) 입력허용 : 유니코드 대분자 A~Z, 최소/최대 문자열:1~25 이면 모든조합 테스트케이스à26! x 25! 이를 문자열 ‘BCD’에 대한 테스트는 ‘WXY’에 대한 테스트와 비슷함. - 글팬포드 마이어스의 4가지 탐색적인 접근방법 1)범위, 2)그룹, 3)특이 값, 4)특정 값 |
경계값 테스팅 (Boundary Value Testing) |
-동등 분할 기법의 확장으로써 그룹의 경계값에서 오류발생이 높다는 것을 이용한 테스트케이스 설계기법 -Boolean variables에는 적합하지 않음 -예1) input domain D = { integer n | 0 < n < 100 } 인 프로그램의 경우 테스트케이스는 T = { 1, 99, 50, 0, 100 } case tn = 4n + 1 |
Cause-Effect Graphing Testing |
-원인이 되는 입력값과 결과가 되는 출력 값을 논리적 그래프로 표현하여 테스트케이스 설계 -케이스 설계 절차 : 요구사항 식별èCause/Effect 식별 및 식별자 부여 èBoolean graph작성 èDecision Table 변환 |
Control Flow Testing |
-명세서와 같은 요구사항 문서로부터 동적인 제어 흐름 그래프를 생성하고, 생성한 모델로부터 Test Path를 선택하여 테스트 -제어 흐름이 아래와 같은 경우, Test Path는 {1,2,3,4},{1,2,4}
|
CRUD Testing |
-어플리케이션 개발 과정의 분석 단계에서 데이터 모델과 프로세스 모델의 상관 관계를 정의하는 CRUD Matrix를 정의하고 테스트 -Create, Read 또는 CRUD가 전혀 표현되지 않는 데이터를 식별하고 테스트 |
Decision Table Testing |
-주요한 의사결정 요소들을 표로 만들고, 요소들간의 결합에 의한 데스트케이스 설계 -각 의사결정 요소들의 조합을 통해 다양한 형태의 테스트 시나리오를 도출 |
유한상태 기계 기반(Finite-state machine-based) |
프로그램을 유한 상태 기계로 모델링하여, 이에 대한 상태와 변이를 다루기 위해 테스트가 선택됨 |
정형 명세 기반 시험(Testing from formal specifications) |
기능 테스트케이스를 자동 도출 가능케 하고, 시험 결과를 검사(check)하기 위한 참조 출력/오라클을 제공. 모델 기반 또는 대수적(algebraic) 명세로부터 테스트케이스를 추출하기 위한 방법이 따로 존재함. |
유즈케이스 테스팅 (Use case testing) |
컴포넌트/단위 레벨 유즈케이스 테스팅 시스템 레벨 유즈케이스 테스팅 |
페어와이즈 조합 테스팅(Pairwise testing) |
|
직교 배열 테스팅(Orthogonal array testing) |
페어와이즈 조합테스팅과 유사한 테스팅 기법이로, 차이점은 직교 배열의 각 행과 열이 페어와이즈 함 |
III. 테스트 유형에 따른 테스트 기법 매핑
유형 |
정적기법 |
동적기법 |
관련산출물 |
|
명세기반 |
구조기반 |
|||
인수테스트 |
적용 |
적용 |
|
요구사항 명세 |
시스템테스트 |
적용 |
적용 |
|
요구사항 명세 |
통합테스트 |
|
적용 |
|
설계 명세 |
단위테스트 |
|
적용 |
적용 |
설계명세, 코드 |