구조 기반 테스트: Difference between revisions
From IT Wiki
(새 문서: 분류:소프트웨어 공학 * 상위 문서: 동적 테스트 ;Structure-based Test; Specification-based Design Technique ;구조 기반 테스트 설계 기법에 따라...) |
No edit summary |
||
Line 5: | Line 5: | ||
== 특징 == | == 특징 == | ||
* 구문(Statement), 결정(Decision), 분기문(Branch) | * 구문(Statement), 결정(Decision), 분기문(Branch)과 같은 구조에 기반한다. | ||
* 정량화된 [[테스트 커버리지]]를 측정할 수 있다. | * 정량화된 [[테스트 커버리지]]를 측정할 수 있다. | ||
* 테스트 커버리지를 높이는 방향으로, 테스트 케이스를 시스템적으로 도출할 수 있다. | |||
== 테스트 유형 == | == 테스트 유형 == | ||
* 구문 테스트: 한 구문, 구문을 모두 테스트 대상으로 한다. | * '''구문 테스트''': 한 구문, 구문을 모두 테스트 대상으로 한다. | ||
* 결정 테스트: 분기문에서 분기되는 각 경로를 테스트 대상으로 한다. | * '''결정 테스트''': 분기문에서 분기되는 각 경로를 테스트 대상으로 한다. | ||
** ex) if(a & b) A else B 의 경우 | ** ex) if(a & b) A else B 의 경우 | ||
** A와 B를 한번씩 수행할 수 있도록 a & b가 True인 경우 한번, False인 경우 한번을 테스트한다. | ** A와 B를 한번씩 수행할 수 있도록 a & b가 True인 경우 한번, False인 경우 한번을 테스트한다. | ||
** 테스트케이스는 2가지가 된다. | ** 테스트케이스는 2가지가 된다. | ||
* 조건 테스트: 조건문에서 조건문을 구성하는 각 조건이 결정되는 경우를 테스트 대상으로 한다. | * '''조건 테스트''': 조건문에서 조건문을 구성하는 각 조건이 결정되는 경우를 테스트 대상으로 한다. | ||
** ex) if(a & b) A else B 의 경우 | ** ex) if(a & b) A else B 의 경우 | ||
** a가 true인 경우, false인 경우, b가 True인 경우, False인 경우를 구분하여 테스트한다. | ** a가 true인 경우, false인 경우, b가 True인 경우, False인 경우를 구분하여 테스트한다. |
Revision as of 01:01, 11 March 2020
- 상위 문서: 동적 테스트
- Structure-based Test; Specification-based Design Technique
- 구조 기반 테스트 설계 기법에 따라 수행되는 소프트웨어 테스트 유형
특징
- 구문(Statement), 결정(Decision), 분기문(Branch)과 같은 구조에 기반한다.
- 정량화된 테스트 커버리지를 측정할 수 있다.
- 테스트 커버리지를 높이는 방향으로, 테스트 케이스를 시스템적으로 도출할 수 있다.
테스트 유형
- 구문 테스트: 한 구문, 구문을 모두 테스트 대상으로 한다.
- 결정 테스트: 분기문에서 분기되는 각 경로를 테스트 대상으로 한다.
- ex) if(a & b) A else B 의 경우
- A와 B를 한번씩 수행할 수 있도록 a & b가 True인 경우 한번, False인 경우 한번을 테스트한다.
- 테스트케이스는 2가지가 된다.
- 조건 테스트: 조건문에서 조건문을 구성하는 각 조건이 결정되는 경우를 테스트 대상으로 한다.
- ex) if(a & b) A else B 의 경우
- a가 true인 경우, false인 경우, b가 True인 경우, False인 경우를 구분하여 테스트한다.
- 테스트 케이스는 3가지가 된다.
- 각각의 경우를 따지면 4가지지만 위의 경우, 단락 평가에 의해 a가 False인 경우엔 b가 무의미하므로 생략 가능
테스트 커버리지
같이 보기
참고 문헌
- 개발자도 알아야할 소프트웨어 테스팅 실무, STA