정의 및 원리

테스트 아이템의 입력 또는 출력이 여러 영역으로 구분되는 경우에 적용
입력 또는 출력 조건의 경계를 기준으로 데이터를 선택해 테스트하는 기법


 

 

예제를 통해 알아보겠습니다.

 

  • 시스템명 : 교과목 학점 평가 시스템
  • 요구사항
    • 시험점수(75%) + 과제점수(25%) = 총점 = 학점 계산(A, B, C, D)
    • 점수(시험, 과제) 별 범위를 벗어나는 점수를 입력하면 "경고 메세지" 출력
    • "정수"만 모든 입력 가능
총 점 학점
70 <= ~ A
50 <= ~ < 70 B
30 <= ~ < 50 C
~ < 30 D

 


 

절차

 

  • TD1 : 기능 셋 식별
    • 교과목 학점 평가 시스템

 

  • TD2 : 테스트 컨디션 도출(파티션 식별)
    • 유효한 입력 파티션(Input Valid Partition)
      • EP1 : 0 <= 시험 점수 <=75
      • EP1 : 0 <= 시험 점수 <= 75
      • EP2 : 0 <= 과제 점수 <= 25
    • 비 유효한 입력 파티션(Input Invalid Partition)
      • EP3 :   시험 점수 > 75
      • EP4 :   시험 점수 < 0 
      • EP5 :   과제 점수 > 25
      • EP6 :   과제 점수 < 0
      • 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와 동일

 

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

 

 


 

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

 

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

2-Value 설명


 

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


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

3-Value 설명


 

[기술적 관점]


시험 점수와 과제 점수는 정수
정수의 경계값을 고려해야 함(비트에 따라)
정수라면 일반적으로 MinInt +-X와 MaxInt +-X 로 테스트 설계


경계값은 선언된 변수의 유형을 고려
X 값은 선언된 변수 유형의 가장 작은 수를 사용

 


 

UI 또는 하드웨어 입력 장치 고려


입력 필드와 같은 UI에 따라 입력 가능한 경계 값을 고려해야 함
소프트웨어가 경계값에 따라 가능한 대처 방법도 고려해야 함

 

 

 

경계를 잘못 구현한 결함 발견에 유용
예를 들어, 시험 점수가 65점을 이상을 65점 초과로 구현


일반적인 실수는 명세를 잘못 이해하거나 연산자를 잘못 사용하는 경우임


경계값 분석은 결함 발견에 가장 효과적인 기법으로 널리 사용됨


모든 테스트 레벨에 적용 가능


경계값 분석은 일반적으로 동등 분할을 표현
하지만 특정한 클래스는 경계가 없을 수 있음(예를 들어 파랑, 빨강, 녹색과 같은 색상)


경계값 분석은 동등 분할 테스팅 보다 훨씬 더 효과적이기 때문에 가능한 경계값 분석을 적용!


 

 

 

블로그 이미지

정신차려이각박한세상속에서

,