- 화이트박스 테스트(White Box Test), 블랙박스 테스트(Black Box Test)
1. 화이트박스 테스트(White Box Test)
원시 코드의 논리적인 모든 경로를 테스트하는 게 목적
→ 모든 문장을 한 번 이상 실행함으로 테스트 수행
- 화이트박스 테스트의 종류
1) 기초 경로 검사(Base Path Testing)
테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌
→ 대표적인 화이트박스 테스트 기법
2) 제어 구조 검사(Control Structure Testing)
- 조건 검사(Condition Testing) : 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 설계 기법
- 루프 검사(Loop Testing) : 프로그램의 반복 구조에 초점을 맞춰 테스트하는 설계 기법
- 데이터 흐름 검사(Data Flow Testing) : 프로그램 변수 정의와 사용 위치에 초점을 맞춘 설계 기법
- 화이트박스 테스트의 검증 기준
1) 문장 검증 기준(Statement Coverage)
소스 코드의 모든 구문이 한 번 이상 수행되도록 설계
2) 분기 검증 기준(Branch Coverage)
모든 조건문의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
→ 결정 검증 기준(Decision Converage)이라고도 함
3) 조건 검증 기준(Condition Coverage)
조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 설계
4) 분기/조건 기준(Branch/Condition Coverage)
분기 검증 기준과 조건 검증 기준을 모두 만족하는 설계
→ 조건문이 True인 경우와 False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분하여 설계
2. 블랙박스 테스트(Black Box Test)
각 기능이 완전히 작동되는 것을 입증하는 게 목적
→ 기능 테스트라고도 하며, 소프트웨어 인터페이스로 테스트 실시
- 블랙박스 테스트의 종류
1) 동치 분할 검사(Equivalence Partitioning Testing)
타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 하여 테스트 케이스 설계
→ 동등 분할 기법이라고도 하며, 해당 입력 자료에 맞는 결과가 출력되는지 확인
2) 경계값 분석(Boundary Value Analysis)
입력 조건의 경계값을 테스트 케이스로 선정하여 검사
→ 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용
3) 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 분석한 다음 효용성이 높은 테스트 케이스를 선정
4) 오류 예측 검사(Error Guessing)
과거의 경험이나 확인자의 감각으로 테스트하는 기법
5) 비교 검사(Comparison Testing)
여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법