♾️ Computer Science/테스트 & 디버깅

[Testing] 화이트박스 테스트 (White Box Test)

nerowiki 2024. 4. 24. 14:34
728x90

💡 화이트 박스 테스트란

원시 코드의 논리적인 모든 경로를 테스트하는게 주 목적
모든 문장을 한 번 이상 실행함으로 테스트 수행

 

💡 화이트 박스 테스트 종류

1️⃣ 기초 경로 검사 (Base Path Testing)

테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌 (대표적 화이트 박스 기법)

 

2️⃣ 제어 구조 검사 (Control Structure Testing)

✔️ 조건 검사 (Condition Testing) : 프로그램 모듈 내에 있는 논리적 조건을 테스트 하는 설계 기법

✔️ 루프 검사 (Loop Testing) : 프로그램의 반복 구조에 초점을 맞춰 테스트 하는 설계 기법

✔️ 데이터 흐름 검사 (Data Flow Testing) : 프로그램 변수 정의와 사용 위치에 초점을 맞춘 설계 기법

 

💡 화이트 박스 테스트 검증 기준

유형 설명
구문(문장) 커버리지
(Statement Coverage)
프로그램 내의 든 명령문
적어도 한 번 수행
하는 테스트 커버리지
결정(선택, 분기) 커버리지
(Decision, Branch Coverage)
(각 분기의) 결정 포인트 내의 전체 조건식적어도 한 번은
참과 거짓의 결과를 수행
하는 테스트 커버리지
조건 커버리지
(Condition Coverage)
전체 조건식 영향은 고려하지 않고,
결정 포인트 내 각 개별 조건식 적어도 한 번은
참과 거짓의 결과가 되도록 수행하는 테스트 커버리지
조건 / 결정 커버리지
(Condition / Decision Coverage)
전체 조건식 뿐만 아니라 개별 조건식
참 한번, 거짓 한번 결과가 되도록 수행하는 테스트 커버리지
변경 조건 / 결정 커버리지
(Modified Condition / Decision Coverage)
개별 조건식이 다른 개별 조건식에 영향을 받지 않고,
전체 조건식에 독립적으로 영향을 주도록 함으로써
조건 / 결정 커버리지를 향상시킨 테스트 커버리지
다중 조건 커버리지
(Multiple Condition Coverage)
결정 조건 내 모든 개별 조건식의 모든 가능한 조합
100% 보장하는 테스트 커버리지
기본 경로(경로) 커버리지
(Base Path Coverage)
수행 가능한 모든 경로를 테스트하는 기법
제어 흐름 테스트
(Control Flow Testing)
프로그램 제어 구조를 그래프 형태로 나타내어
내부 로직을 테스트 하는 기법
데이터 흐름 테스트
(Data Flow Testing)
제어 흐름 그래프에 데이터 사용현황
추가한 그래프를 통해 테스트 하는 기법 
루프 테스트
(Loop Testing)
프로그램의 반복 구조에 초점을 맞춰 테스트하는 기법