ISO/IEC/IEEE 29119-4

ISO/IEC/IEEE 29119-4 테스트 설계 기법 요약 정리

ISO/IEC/IEEE 29119-4

1. 명세 기반 기법 (Clause 5.2) - 입력 및 출력의 명세 기반

조항 기법명 특징 계산 및 설계 방법
5.2.1 동등 분할 데이터를 동일 결과가 예상되는 영역으로 분할 유효/무효 영역당 최소 1개 값 선정
5.2.2 분류 트리 기법 테스트 요소를 트리 구조로 시각화하여 조합 트리의 잎(Leaf) 노드 조합으로 케이스 생성
5.2.3 경계값 분석 영역의 경계에서 발생하는 오류 집중 공략 2-point(경계, 외부) 또는 3-point($n-1, n, n+1$)
5.2.4 구문 규칙 테스팅 입력 값의 형식(문법) 규칙을 검증 올바른 문법과 잘못된 문법 케이스 설계
5.2.5.3 모든 조합 기법 모든 변수의 가능한 모든 값을 결합 모든 값의 개수를 곱함 ($\prod V_i$)
5.2.5.4 페어와이즈 테스팅 모든 변수의 쌍(Pair)을 최소 한 번씩 포함 도구(PICT 등)를 사용하여 쌍 조합 최적화
5.2.5.5 이치 초이스 테스팅 모든 변수의 각 개별 값을 최소 한 번씩 포함 모든 변수 값 중 최대 개수를 가진 변수의 값 수
5.2.5.6 베이스초이스 테스팅 기준 조합에서 변수를 하나씩 변경 $1 + \sum (V_i - 1)$
5.2.6 결정 테이블 테스팅 조건과 행위의 논리적 관계를 표로 정리 조건 조합($2^n$)에 따른 결과 도출
5.2.7 원인 결과 그래프 입력 조건(원인)과 결과를 논리 게이트로 표현 그래프를 의사결정 테이블로 변환하여 설계
5.2.8 상태 전이 테스팅 이벤트에 따른 시스템 상태 변화 검증 상태 전이도에서 전이(Transition) 커버리지 계산
5.2.9 시나리오 테스팅 사용자 시나리오(유즈케이스) 기반 검증 기본 흐름과 대안/예외 흐름을 시퀀스로 설계
5.2.10 랜덤 테스팅 입력 도메인에서 무작위 데이터 선택 무작위 난수 생성을 통한 대량 입력 수행

2. 구조 기반 기법 (Clause 5.3) - 코드의 제어 흐름 및 데이터 흐름을 바탕으로 설계

조항 기법명 특징 커버리지 계산 방식
5.3.1 구문 테스팅 코드의 모든 문장을 실행 $\frac{실행 문장}{전체 문장} \times 100\%$
5.3.2 분기 테스팅 모든 분기(Branch)의 출력을 실행 $\frac{실행 분기}{전체 분기} \times 100\%$
5.3.3 결정 테스팅 결정 포인트의 결과(T/F)를 실행 분기 테스팅과 유사하나 결정문 단위 측정
5.3.4 분기 조건 테스팅 결정 내 개별 조건의 T/F 실행 $\frac{실행된 개별 조건 결과}{전체 개별 조건 결과}$
5.3.5 분기 조건 조합 테스팅 개별 조건의 모든 가능한 조합 실행 각 결정 내 조건들의 모든 조합($2^n$) 확인
5.3.6 변경 조건 결정 커버리지 개별 조건이 결과에 독립적 영향 미침 입증 변수 $n$개당 최소 $n+1$개 케이스 필요
5.3.7.2 모든 정의 테스팅 변수가 정의된 모든 지점 확인 변수 정의(Definition) 포인트의 실행 비율
5.3.7.6 모든 정의-사용 경로 정의부터 사용까지의 모든 경로 확인 Def-Use Pair 경로의 실행 비율

3. 경험 기반 기법 (Clause 5.4) - 테스터의 경험과 직관을 활용

조항 기법명 특징 설계 방법
5.4.1 에러 추정 오류가 발생할 것으로 예상되는 지점 선정 결함 체크리스트 및 과거 장애 사례 활용