내부 구조 참조 유무에 따라 화이트박스 테스트와 블랙박스 테스트로 나누어짐
모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의
논리
적인 모든 경로를 테스트하여 테스트 케이스 설계
설계된 절차에 초점을 둔 구조적 테스트
프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계함
모듈 안의 작동을 직접 관찰
원시 코드(모듈)의 모든 문장을 한 번 이상 실행함
제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행하여 논리적 경로
제어
기초 경로 검사(Base Path Testing)
: 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌
: 측정 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용됨
: 대표적인 화이트박스 테스트 기법
제어 구조 검사(Contrl Structure Testing)
: 조건 검사
모듈 내에 있는 논리적 조건 테스트
: 루프 검사
프로그램의 반복 구조에 초점을 맞춰 실시
: 데이터 흐름 검사
변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시
테스트 케이스들이 테스트에 얼마나 적정한지 판단하는 기준
문장 검증 기준(Statement Coverage)
: 소스 코드의 모든 구문이 한 번 이상 수행
분기 검증 기준(Branch Coverage)
: 결정 검증 기준(Decision Ceverage)라고도 불림
: 모든 조건문에 대해 조건
이 True/False인 경우가 한 번 이상 수행
조건 검증 기준(Condition Coverage)
: 조건문에 포함된 개별 조건식의 결과
가 True/False인 경우가 한 번 이상 수행
분기/조건 기준(Branch/Condition Coverage)
: 분기 검증 기준과 조건 검증 기준을 모두 만족
: 조건문이 True/False인 경우에 따라 조건 검증 기준의 입력 데이터 구분
각 기능이 완전히 작동되는 것을 입증하는 테스트
= 기능 테스트(결과가 정확한지)
동치 분할 검사(Equivalence Partitoning Testing, 동치 클래스 분해)
경계값 분석(Boundary Value Analysis)
원인-효과 그래프 검사(Cause-Effect Graphing Testing)
오류 예측 검사(Error Guessing)
비교 검사(Comparison Testing)