용's
[Chap 10] Black Box Testing 본문
10.1 Testing 종류
-Testing에는 여러 종류가 있다.
.Black Box Test, Functional Test, White Box Test, Structural Test, Gray Box Test
- Functional Test(또는 Black Box Test와 같음)
.안의 코드들을 보지 않고 Requirement대로 입력에 따른 적절한 결과가 나오는지 테스트
- Structural Test(또는 White Box Test와 같음)
.소프트웨어의 구조나 구현사항(코드)들을 토대로 테스트 케이스가 선택됨
.이 경우는 단순한 결과값 뿐만 안이라 내부적인 동작 부분(path)도 살피게 됨
- Black Box Test의 경우, 스펙에 명시되어 있지 않은 부분은 테스팅 할 수 없음
- White Box Test의 경우, 프로그램으로 구현되지 않은 부분은 테스팅 할 수 없음
10.2 Black Box Testing
- Black Box Testing을 하는 여러가지 방법이 존재한다
- Equivalence Partitioning: Input space를 Equivalent class로 나눔.
.같은 E.C의 input은 같은 성격을 가지므로 최소한 각 E.C에서 하나씩 뽑아 테스트해보는 것
.Partitioning하는 방법
1. input에 명시된 조건이 있다면 유효한 E.C 하나와 유효하지 않은 E.C 두 개로 나눈다
ex) 1<= item count <= 999 (vaild) / tem count < 1(invalid) / item count > 999 (invalid)
2. 'must be'라는 조건이 있다면 반드시 그래야만 하는 input값과 아닌 값의 두 개의 E.C로 나눈다
ex) 자동자의 유형은 버스 트럭이어야만 한다. 버스와 트럭의 E.C와 아닌 E.C로 나눔
.적은 test case로 valid한 E.Q Class를 최대한 많이 Cover(커버)하도록 하는 것이 중요함
.반면 invalid는 각 test case에 대해서 E.Q class를 한 개정도로 적게 커버하도록 함
-> 이를 토대로 Coverage Matrix를 만들 수 있음
- Boundary Value Analysis: 경계값에 대해서 테스트 케이스를 작성
.높은 비용을 감수해야할 수 도 있지만 매우 간단히 에러를 찾는 방법
- Error Guessing: 직감과 경험을 토대로 테스트 케이스를 작성
- Cause/Effect Graphing: Input과 output들을 연결하여 그래프를 그리고 관계를 알아 보는 것
.스펙을 토대로 Workable piece들을 나누어 'Ca
use'와 'Effect'들로 분류함
.스펙의 제약사항이나 and/or 관계를 토대로 Cause/Effect 그래프를 그림
원인들이 바로 결과로 이어질 때 direct
ex)전등이 꺼지면 방은 어두워 진다.
CAUSE: 전등을 끈다 (F) EFFECT: 방이 어둡다 (D)
Not 관계
ex)전등이 켜지면, 방은 어둡지 않다
CAUSE: 전등을 켠다 (N) EFFECT: 방이 어둡다 (D)
And 관계
ex) 전등을 끄고 창문도 없다면, 방은 어둡다.
CAUSE: 전등을 끈다 (F), 창문이 없다 (W) EFFECT: 방이 어둡다 (D)
Or 관계
.Cause/Effect 그래프를 토대로 결정 테이블(Decision Table)을 만듦
각 Cause에 따른 EFFECT의 True/False를 구하여 작성함
.Decision Table의 각 열 정보를 토대로 Test Case를 생성해냄
'Computer Science > Software Engineering' 카테고리의 다른 글
[Chap 11] White Box Testing (0) | 2014.12.15 |
---|---|
[Chap 9] Software Testing (0) | 2014.12.13 |
[Chap 8] Architecture Design (0) | 2014.12.13 |
[Chap 7] Design (0) | 2014.12.11 |
[Chap 6] Object-Oriented Concepts (0) | 2014.12.05 |