경계값 분석(Boundary Value Analysis) 테스트 설계기법 살펴보았어요
정의 및 원리
테스트 아이템의 입력 또는 출력이 여러 영역으로 구분되는 경우에 적용
입력 또는 출력 조건의 경계를 기준으로 데이터를 선택해 테스트하는 기법
- 시스템명 : 학점관리
- 요구사항
- 시험점수(75점) + 과제점수(25점) = 총점 = 학점 계산(A, B, C, D)
- 점수(시험, 과제) 별 범위를 벗어나는 점수를 입력하면 "경고 메세지" 출력
총 점 | 학점 |
70 <= ~ | A |
50 <= ~ < 70 | B |
30 <= ~ < 50 | C |
~ < 30 | D |
절차
- TD1(Test Design) : 기능 셋 식별
- FS(Feature Sets)1 : 학점 생성 기능
- TD2 : 테스트 컨디션 도출(파티션 식별)
- 유효한 입력 파티션(Input Valid Partition)
- EP1 : 0 <= 시험 점수 <=75
- EP2 : 0 <= 과제 점수 <= 25
- 비 유효한 입력 파티션(Input Invalid Partition)
- EP3 : 시험 점수 > 75
- EP4 : 시험 점수 < 0
- EP5 : 과제 점수 > 25
- EP6 : 과제 점수 < 0
EP3부터 EP6까지의 파티션은 한쪽 경계에 대해서만 구역이 정의 되어 있지만 사실상 최소값과
최대값에 의해 경계를 이루고 있다. 16비트 정수인 경우 최소값은 -32768, 최대값은 32767이 된다.
따라서 EP3부터 EP6는 다음과 같이 더 상세하게 정의 할수 있다. - EP3 : 75 < 시험 점수 <= 32767(16bit)
- EP4 : -32768 <= 시험 점수 < 0
- EP5 : 25 < 과제 점수 <= 32767
- EP6 : -32768 <= 과제 점수 < 0
기타 유효하지 않은 입력값과 파티션은 정수가 아닌 수나 문자열 등 다른 입력값을 포함할수 있다. - EP7 : 시험 점수 = 실수 값(소수점 포함)
- EP8 : 시험 점수 = 영문자
- EP9 : 시험 점수 = 특수 문자
- EP10 : 과제 점수 = 실수 값(소수점 포함)
- EP11 : 과제 점수 = 영문자
- EP12 : 과제 점수 = 특수 문자
- 유효한 입력 파티션(Input Valid Partition)
- EP13 : 70 <= 총 점 <= 100, 'A'
- EP14 : 50 <= 총 점 < 70, 'B'
- EP15 : 30 <= 총 점 < 50, 'C'
- EP16 : 0 <= 총 점 < 30, 'D'
- EP17 : 총 점 > 100, '경고 메시지' 출력
- EP18 : 총 점 < 0, '경고 메시지' 출력
- EP17 : 100 < 총 점 <= 32767, '경고 메세지' 출력
- EP18 : -32768 <= 총 점 < 0, '경고 메세지' 출력
- 유효한 입력 파티션(Input Valid Partition)
- TD2 : 테스트 컨디션 도출
- TD3 : 테스트 커버리지 아이템 도출
- TD4 : 테스트 케이스 도출
테스트 케이스 |
입력 | 총 점 | 테스트 커버리지 아이템 | 기대 결과 | 테스트 된 경계 값 | |
시험 점수 | 과제 점수 | |||||
1 | -1 | 15 | 14 | 1 | 경고 메시지 | 0 |
2 | 0 | 15 | 15 | 2 | D | |
3 | 1 | 15 | 16 | 3 | D | |
4 | 74 | 15 | 89 | 4 | A | 75 |
5 | 75 | 15 | 90 | 5 | A | |
6 | 76 | 15 | 91 | 6 | 경고 메시지 | |
7 | 40 | -1 | 39 | 7 | 경고 메시지 | 0 |
8 | 40 | 0 | 40 | 8 | C | |
9 | 40 | 1 | 41 | 9 | C | |
10 | 40 | 24 | 64 | 10 | B | 25 |
11 | 40 | 25 | 65 | 11 | B | |
12 | 40 | 26 | 66 | 12 | 경고 메시지 | |
13 | -1 | 0 | -1 | 25 | 경고 메시지 | 0 |
14 | 0 | 0 | 0 | 26 | D | |
15 | 0 | 1 | 1 | 27 | D | |
16 | 28 | 0 | 28 | 28 | D | 29 |
17 | 29 | 0 | 29 | 29 | D | 29, 30 |
18 | 15 | 15 | 30 | 30 | C | |
19 | 6 | 25 | 31 | 31 | C | 30 |
20 | 23 | 25 | 48 | 32 | C | 49 |
21 | 24 | 25 | 49 | 33 | B | 49, 50 |
22 | 50 | 0 | 50 | 34 | B | |
23 | 26 | 25 | 51 | 35 | B | 50 |
24 | 48 | 20 | 68 | 36 | B | 69 |
25 | 49 | 20 | 69 | 37 | B | 69,70 |
26 | 45 | 25 | 70 | 38 | A | |
27 | 71 | 0 | 71 | 39 | A | 70 |
28 | 74 | 25 | 99 | 40 | A | 100 |
29 | 75 | 25 | 100 | 41 | A | 100, 101 |
30 | 75 | 26 | 101 | 42 | 경고 메시지 | |
31 | 32766 | 15 | 32781 | 13 | 경고 메시지 | 32767 |
32 | 32767 | 15 | 32782 | 14 | 경고 메시지 | |
33 | 32768 | 15 | 32783 | 15 | 경고 메시지 | |
34 | -32769 | 15 | -32754 | 16 | 경고 메시지 | -32768 |
35 | -32768 | 15 | -32753 | 17 | 경고 메시지 | |
36 | -32767 | 15 | -32752 | 18 | 경고 메시지 | |
37 | 40 | 32766 | 32806 | 19 | 경고 메시지 | 32767 |
38 | 40 | 32767 | 32807 | 20 | 경고 메시지 | |
39 | 40 | 32768 | 32808 | 21 | 경고 메시지 | |
40 | 40 | -32769 | -32729 | 22 | 경고 메시지 | -32768 |
41 | 40 | -32768 | -32728 | 23 | 경고 메시지 | |
42 | 40 | -32767 | -32727 | 24 | 경고 메시지 | |
43 | 75 | 27 | 102 | 43 | 경고 메시지 | 101 |
44 | 16383 | 16383 | 32766 | 44 | 경고 메시지 | 32767 |
45 | 32767 | 0 | 32767 | 45 | 경고 메시지 | |
46 | 1 | 32767 | 32768 | 46 | 경고 메시지 | |
47 | -1 | 0 | -1 | 47 | 경고 메시지 | -1 |
48 | 0 | -32769 | -32769 | 48 | 경고 메시지 | -32768 |
49 | -16384 | -16384 | -32768 | 49 | 경고 메시지 | |
50 | -32766 | -1 | -32767 | 50 | 경고 메시지 |
- TD5 : 테스트 케이스 세트 구성
- TS1 : 수작업 테스트("경고 메세지"가 출력 되는 케이스는 수작업 테스트)
- 1, 2, 3, 4, 5, 6, 7, 12, 13, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50
- TS2 : 자동 테스트
- 2, 3, 4, 5, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
- TS1 : 수작업 테스트("경고 메세지"가 출력 되는 케이스는 수작업 테스트)
- TD6 : 테스트 프로시저 (테스트 절차)도출
- TP1 : 수작업 테스트 - TS1과 동일
- TP2 : 자동 테스트 - TS2와 동일
Coverage = (N/T*100)%
커버리지 : 경계값 분석 커버리지
N : 테스트케이스 실행으로 커버한 경계값 수
T : 전체 경계값 수
커버리지 = (커버 된 경계 값 수 / 전체 경계 값 수) * 100%
커버리지(경계값 분석) = (50/50*100)% = 100%
2-Value(테스트 커버리지 아이템)
경계는 파티션의 최대 및 최소 값으로 설정
비 유효한 파티션의 "다른 경계값' 또는 '끝 값'을 종종 고려하지 못할 수 있음
2-Value 설명
3-Value(테스트 커버리지 아이템)
경계값은 파티션을 고려해야 함
정확한 경계값은 명세에 따라 달라짐
잘못 설정된 경계값을 발견하기 위하여 경계의 양 쪽 값을 모두 선택
3-Value 설명
'IEEE 표준 > ISO 29119' 카테고리의 다른 글
테스트 문서 관리/계획/현황/완료/테스트케이스/보고서 템플릿 예시(문서첨부)와 작성 방법 알아보니.. (1) | 2024.09.14 |
---|---|
동등 분할(Equivalence Partitioning) 설계기법 살펴보니.. (0) | 2021.07.05 |
ISO/IEC/IEEE29119-4 테스트 기법 살펴보니.. (0) | 2021.07.01 |
ISO29119 : 테스트 관리 프로세스(Test Management Process) (0) | 2020.04.07 |
ISO/IEC/IEEE 29119 테스팅 표준의 구조 (0) | 2020.04.06 |