정의
- 입력/출력 영역(Input/Output space)을 유한개의 상호 독립적인 집합 들로(Mutual Disjoint Subject) 구분 관리
- 입력/출력 영역(Input/Output space)의 데이터를 유사한 특징을 가진 그룹(클래스)으로 분류해 클래스의 대표 테스트 케이스를 도출하는 방법
- 동일한 입력에 대해서는 항상 동일한 결과를 가져오도록 클래스 구분
적용 방법
- 시스템 정보를 분석해 입력/출력 영역(도메인)을 유사한 특징을 가진 클래스(Equivalence Class)로 분할
- 분할된 클래스에서 각 클래스를 대표하는 테스트 케이스 도출
- 모든 유효값(Valid Equivalence Class, Invalid Equivalence)과 비유효값이 커버될 때까지 테스트 케이스를 생성.
예제 적용
더보기
학생의 점수를 입력받아 학점을 계산하여 출력해라. (단, 점수가 90점 이상은 A학점, 점수가 90점 미만 80점 이상은 B학점,점수가 80점 미만 70점 이상은 C학점,점수가 70점 미만 60점 미만은 D학점, 60점 이하는 F학점입니다. 점수는 0점부터 100점까지 가능합니다.)
요구사항 도식화

테스트 케이스 설계
- 시스템 정보를 분석해 입력/출력 영역(도메인)을 유사한 특징을 가진 클래스(Equivalence Class)로 분할
- 학점별 점수범위를 기준으로나누어 유사한 특징을 가진 클래스로 구별함.
| 동등 클래스 | Class 1 | Class 2 | Class 3 | Class 4 | Class 5 | Class 6 | Class 7 |
| 클래스 기준 | 점수 < 0 | 0<= 점수 <60 | 60<= 점수 <70 | 70<= 점수 <80 | 80<= 점수 <90 | 90<= 점수 <=100 | 100< 점수 |
| 기대 값 | 입력값 에러 (음수값 에러) |
F | D | C | B | A | 입력값 에러 (초과 에러) |
- 분할된 클래스에서 각 클래스를 대표하는 테스트 케이스 도출
- 학점별 케이스를 한개 씩 도출하여 테스트 케이스를 생성함.(TC2~TC6)
- 모든 유효값(Valid Equivalence Class, Invalid Equivalence)과 비유효값이 커버될 때까지 테스트 케이스를 생성.
- 유효값 TC2~TC6로 테스트 설계함.
- 비유효값은 TC1, TC7로 테스트 설계함.
- 추가가 필요한 요구사항
- 입력값이 숫자가 아닌 값에 대한 요구사항 정의가 부족함.
- 점수가 0보다 작거나 100보가 클경우 기대값에 대한 요구사항 정의가 없음.
| TEST Case | TC1 | TC2 | TC3 | TC4 | TC5 | TC6 | TC7 |
| 입력값 (점수) |
-100 | 55 | 65 | 75 | 85 | 95 | 105 |
| 동등 클래스 | 점수 < 0 | 0<=점수< 60 | 60<=점수<70 | 70<=점수<80 | 80<=점수<90 | 90<=점수<=100 | 100<점수 |
| 기대결과 (학점) |
입력값 에러 (음수값 에러) |
F | D | C | B | A | 입력값 에러 (초과 에러) |
'소프트웨어 공학 > Test' 카테고리의 다른 글
| [명세 기반 테스트 설계] 경계 값 분석(Boundary value Analysis) (0) | 2022.07.28 |
|---|---|
| [Test]테스트 설계 기법 (0) | 2022.07.25 |