다섯 살도 알 수 있게 · SW공학
화이트박스/블랙박스 테스트가 뭐예요?
화이트박스와 블랙박스 테스트를, 교정자가 원고 속 흐름을 펼쳐 보는지 아니면 완성된 책만 독자처럼 읽어보는지로 풀어봤어요.
원고가 겉으로 멀쩡해 보여서 교정자가 그냥 넘겼어요.원고 속 어딘가에 숨은 오류는 못 봤어요.
원고 속을 볼지, 완성된 책을 밖에서 볼지로 의견이 갈려요.어느 한쪽만 고집하면, 다른 쪽에서만 보이는 오류를 못 잡아요.
화이트박스는 원고 속 흐름을 펼쳐 보고, 블랙박스는 완성된 책을 겉에서만 읽어요.둘 다 교정자가 하는 일이지만, 보는 자리가 달라요.
속 흐름 따라가기갈라지는 길마다 확인해요
경계값 살펴보기범위의 처음과 끝 값을 특히 봐요
입력·출력만 보기속은 안 들여다봐요
비슷한 경우 묶기대표 하나만 확인해요
화이트박스는 속 흐름을, 블랙박스는 입력과 출력을 확인해요.두 방식 다 완벽하진 않아요, 같이 써야 빈틈이 줄어요.
테스트는 오류가 없다는 증거가 아니에요.테스트는 찾아낸 오류가 있다는 증거일 뿐이에요.
한 줄로
화이트박스/블랙박스 테스트 = 원고 속 흐름을 보며 확인할지, 겉으로 완성된 책만 보며 확인할지의 차이.
화이트박스 테스트는 소스 코드의 내부 구조(분기, 반복문 등)를 알고 그 경로를 따라가며 검증하는 방식이고, 블랙박스 테스트는 내부 구조를 모른 채 입력과 출력만으로 기능을 검증하는 방식이에요. 경계값 분석과 동등분할은 대표적인 블랙박스 기법이고, 구문·결정·조건 커버리지는 대표적인 화이트박스 기법이에요. 그림에서는 완성된 책으로 비유했지만, 블랙박스 테스트는 단위 수준에서도 쓸 수 있어요.
어른들은 이렇게 불러요
- 화이트박스 테스트
White-box Testing - 원고 속 흐름을 보며 하는 교정. 코드의 분기·경로를 따라가요.
- 블랙박스 테스트
Black-box Testing - 완성된 책만 보고 하는 교정. 입력과 출력만으로 확인해요.
- 경계값 분석
Boundary Value Analysis - 처음과 끝 지점을 특히 살피는 법. 오류는 경계에서 자주 생겨요.
- 동등분할
Equivalence Partitioning - 비슷한 경우를 묶어 대표로 확인하는 법. 모든 경우를 다 볼 순 없으니까요.
- 단위/통합/시스템 테스트
Unit/Integration/System Testing - 챕터 하나부터 책 전체까지, 범위별 검사. 범위가 넓어질수록 늦게 해요.
- 요구공학
Requirements Engineering - 무엇이 맞는 답인지 미리 정해두는 일. 테스트의 기준은 결국 명세서에서 와요. → 쓰기 전에 먼저 묻는 사람
- 회귀 테스트
Regression Testing - 고친 뒤에 예전 부분도 다시 확인하는 일. 고치다가 다른 곳을 깨뜨릴 수 있어요.
- 커버리지
Coverage - 원고 속 길을 얼마나 지나가 봤는지 비율. 100%여도 오류가 없다는 뜻은 아니에요.
다음 이야기
독자 주소록을 돌보는 일 →