IEEE 표준/ISO 291192021. 7. 6. 08:00

경계값 분석(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, '경고 메세지' 출력

 

  • 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

 

  • TD6 : 테스트 프로시저 (테스트 절차)도출
    • TP1 : 수작업 테스트 - TS1과 동일
    • TP2 : 자동 테스트 - TS2와 동일

Coverage = (N/T*100)%

커버리지 : 경계값 분석 커버리지

N : 테스트케이스 실행으로 커버한 경계값 수

T : 전체 경계값 수

커버리지 = (커버 된 경계 값 수 / 전체 경계 값 수) * 100%

 

커버리지(경계값 분석) = (50/50*100)% = 100%

 

 

 

2-Value(테스트 커버리지 아이템)

 

경계는 파티션의 최대 및 최소 값으로 설정
비 유효한 파티션의 "다른 경계값' 또는 '끝 값'을 종종 고려하지 못할 수 있음

2-Value 설명


 

3-Value(테스트 커버리지 아이템)


경계값은 파티션을 고려해야 함
정확한 경계값은 명세에 따라 달라짐
잘못 설정된 경계값을 발견하기 위하여 경계의 양 쪽 값을 모두 선택

3-Value 설명

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터