정보관리기술사 - 블랙박스 시험과 화이트박스 시험
블랙박스 시험과 화이트박스 시험은 소프트웨어 테스트의 두 가지 기본 관점이다. 블랙박스는 내부 구조를 보지 않고 입출력 조건으로 기능을 검증한다. 화이트박스는 소스코드와 제어 흐름을 분석해 테스트 케이스를 설계한다. 블랙박스 시험은 내부 구현을 모른 채 요구사항 명세…
주요 장면
대본
정의
블랙박스 시험과 화이트박스 시험은 소프트웨어 테스트의 두 가지 기본 관점이다.
블랙박스는 내부 구조를 보지 않고 입출력 조건으로 기능을 검증한다.
화이트박스는 소스코드와 제어 흐름을 분석해 테스트 케이스를 설계한다.
블랙박스 시험의 기법
블랙박스 시험은 내부 구현을 모른 채 요구사항 명세를 기준으로 검증한다.
입력 범위를 유효·무효 클래스로 나누고 대표값을 고르는 것이 동등 분할이다.
경계값 분석은 클래스 경계 바로 안팎의 값을 집중적으로 시험한다.
허용 범위가 1~100이면 0, 1, 100, 101을 시험 입력으로 쓴다.
화이트박스 시험의 구조
화이트박스 시험은 소스코드의 제어 흐름과 데이터 흐름을 근거로 테스트 케이스를 설계한다.
문장, 분기, 조건, 경로가 실행되는지 확인하는 구조 기반 시험이다.
예를 들어 if (a > 0 && b > 0)에서 구문 커버리지는 최소 1케이스로 충족된다.
분기와 MC/DC는 조건 수에 따라 필요한 케이스 수가 늘어난다.
두 기법 비교
두 기법은 기준 원천부터 다르다.
블랙박스는 요구사항과 입출력 조건을, 화이트박스는 소스코드와 제어 흐름을 기준으로 삼는다.
그래서 실무에서는 두 기법을 함께 사용하는 것이 일반적이다.
흔한 실수와 확인 문제
흔한 실수 첫째는 블랙박스와 화이트박스의 기준을 뒤집어 쓰는 것이다.
둘째는 커버리지 100%를 결함이 없다는 뜻으로 단정하는 것이다.
커버리지가 높아도 입력에 따른 정확성은 보장되지 않는다는 점을 기억한다.
정리
정리하면 블랙박스는 명세 기반, 화이트박스는 구조 기반 시험이다.
시험에서는 두 기법의 정의와 차이, 커버리지 기준을 묻는 문제가 반복 출제된다.
방금 문제의 답은 아니다. 커버리지 100%라고 결함이 없다는 뜻은 아니다.