경계값 분석(Boundary Value Analysis)
태그 :
- 개념
- - 대표적인 명세 기반 기법(Specification-based technique)중 하나로, 등가 분할의 경계부분에 해당되는 입력값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트하는 기법
I. 경계값 분석(Boundary Value Analysis)의 개요
가. 경계값 분석 정의
- 대표적인 명세 기반 기법(Specification-based technique)중 하나로, 등가 분할의 경계부분에 해당되는 입력값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트하는 기법
나. 경계값 분석 특징
- 경계값을 고려하여 테스트 케이스를 설계
- 경계값 분석은 등가 분할과 마찬가지로 모든 테스트 레벨, 테스트 형태, 테스트 분류에 적용가능
- 결함 발견율이 높고 적용하기 쉬운 장점이 있어 가장 많이 사용되는 테스트 기법 중 하나
- 경계값 분석 기법은 경계값을 명시한 자세한 명세서가 지원될 경우 적용하기가 수월
II. 경계값 분석의 종류
구분 |
내용 |
조건 |
|||
Boundary Value Analysis |
- Test case가 경계선에서의 min, min+, normal, max-, max value로 산출되는데 이때 test case의 개수는 4n+1개임 |
만약 x1, x2 두 값이 다음 범위안에 존재시 |
|||
Robustness Testing |
- Boundary Value Analysis에서 약간만 확장된 개념으로 max+ 값만 더 추가됨 - max+값(달력의 5월32일)을 테스트 함으로써, 예외사항들을 다룰 수 있게 되며, 보통 경계값 분석을 한다고 하면 이러한 Robustness Testing기법을 사용 |
||||
Worst-Case Testing |
- 전기 회로분석에서, 하나이상의 값이 extreme value일 경우 ‘worst-case analysis’이라 함 - Worst-case Testing에서 각각의 value는 min, min+, normal, max-, max 이렇게 5개의 요소가 세트로 이루어짐 |
||||
Robust worst-case Testing |
- 편집증(paranoid)에 가까운 Testing을 필요로 하는 경우 사용 - 7가지 요소가 세트로 이루어져 있음 |
||||
Random Testing |
- a와 b 값 사이에 Random value를 발생시키기 위해서 다음 수식을 사용 |
만약 X가 아래와 같은 경우 |
III. 경계값 분석 샘플
IV. 경계값 분석의 한계점
1) 일련의 동작에 대한 조합을 테스트하기에는 적합하지 않음
2) 입력 범위를 등가 분할하여 제한하더라도 입력값 조합의 수가 테스트 가능한 수를 넘어서는 경우가 많음
3) 입력 조합이 상호간에 독립적(의존성이 없는)이라는 가정에서만 적합한 기법
4) 출력이 입력 조건이나 변수들 사이의 관계에 따라 달라지는 경우, 입력 조건을 등가분할 하는 것이 매우 어려움
V. 동등분할과 경계값분석 기법 비교
구분 |
동등분할 |
경계값 분석 |
목적 |
필요한 테스트 케이스의 수를 최소화할 목적 |
입력값에 대한 경계치의 오류발견 |
시험대상 |
동등한 클래스 분할 최대 , 최소값의 특정 간격 값 |
-입력과 출력 영역의 경계에 가까운 점 -해당 분할영역의 최대값과 최소값은 그 영역의 경계값 |
0 < X < 100 일 경우 |
0<X, 0<X<100, X>100 |
X=0, X=100,X=0.01,(X=1,100) |
특성 |
등가집합으로 표현되는 부분이 있으면 적용가능 |
결함 발견율이 높고, 적용하기 쉬움 |