본문 바로가기
소프트웨어공학

[소프트웨어공학] L9 - Verification, Validation, and Test: Black-box Test (2)

by Lizardee 2023. 11. 30.
2) 경계값 분석 (Boundary Value Analysis)
예) Microsoft Word font size

예) Microsoft Word font size
경계값 분석

▶ Menu entry:

  • Valid: 경계값인 8, 72를 테스트한다.
  • Invalid: Not possible

▶ Direct entry:

  • Valid: Integer로 나누고, 경계값인 1,0 그리고 1638, 1689를 테스트한다.
  • Invalid: Not integer (문자, 실수, Black로 굳이 나눌 필요 없지만, 나눴다면 각 항목에 대해 모두 테스트 케이스에 포함한다.)

경계값 분석: 동치분할 --> valid에 대해 경계값 분석

 

예) 온라인 대출 화면

예) 온라인 대출 화면
대출액수, 담보액수에 대해 invalid/valid로 나누고, valid에 대해 경계값 분석을 한다.
테스트 케이스: (대출액수, 담보액수) --> 최소 11개의 테스트 케이스가 생성된다.

 

 

3) 결정 테이블 (Decision Table)

: 입력 조건이 많고 복잡한 경우, 단순화하여 결정 테이블을 만든다.

 

예) KTF N-Zone 단말기 요구사항

예) KTF N-Zone 단말기 요구사항
**결정 테이블 만드는 과정: 단순화 --> 원인/결과 --> 결정 테이블(Decision Table)

 

 

4) 상태 기반 테스트 (State-Based Testing)

▶ 상태도(state diagram): 상태 및 변화를 표현한다.

  • 상태도는 상태(state), 전이(transition; 상태 변화), 이벤트(event; 변화 원인), 조건(guard), 액션(action)으로 구성한다.

▶ 결정 테이블(decision table) vs. 상태 기반 테스트(state-based testing)

  • 결정 테이블: 케이스 여부로 판단한다.
  • 상태 기반 테스트: 커버리지를 측정한다.
    - State coverage (= node coverage)
    - Transition coverage (= edge coverage)
    - Transition-pair (= edge-pair coverage)

 

예) 음성메모

edge coverage
node coverage: 테스트 케이스를 추가한다.

 

 

5) 조합 테스트 (Pair-wise)

: 2개 요소의 상호작용에 의한 테스트가 결함을 보다 더 잘 발견한다는 경험에 기반한 테스트 방법으로, 테스트 대상 아이템의 모든 요소(factor)에 대하여, 두 개 요소의 모든 조합을 생성한다.

  • all-pairs 테이블 생성 자동화 도구가 있다.

▶ Orthogonal array에 의한 조합 테스트:

  • 요소(factor): Test
  • 옵션(option): 요소의 값

: 테이블이 factor, option의 개수를 초과해도 되지만, 미만이면 안 된다!

Orthogonal array
테스트하고자 하는 factor 개수 이상인 것을 고르고, option 개수 이상인 것을 고른다.

 

예) 4 factor와 4 options

예) 4 factor와 4 options

- factor가 4개, option이 4개이므로, Factor(5)를 이용한다.

- 각각의 Test (1, 2, 3, 4)에 option을 대응하고, test별 option (0, 1, 2, 3)에 option을 대응한다. 

- 대응되지 않는 것은 don't care(-)로 남긴다.

 

예) 게임 주문 시스템

예) 게임 주문 시스템
Test와 option에 factor와 option을 대응시킨다.

 

 

 

 

 

출처: 이화여자대학교 박지현교수님 소프트웨어공학