블랙박스 테스트(Black Box Test)란?
▶ 관련 정보관리기술사 기출문제
| 기출 회차 | 기출문제 |
|---|---|
| 134회 3교시 2번 | 소프트웨어 테스트에 대하여 설명하시오. 가. 소프트웨어 테스트 원리 나. 블랙박스 테스트와 화이트박스 테스트 다. 명세기반, 구조기반, 경험기반 테스트 기법 |
| 129회 1교시 8번 | 화이트박스 테스트(White Box Test)와 블랙박스 테스트(Black Box Test) |
| 125회 2교시 6번 | 소프트웨어의 시험(Test)에 사용되는 다음의 기법에 대해 설명하시오. 가. 블랙박스(Black Box) 시험 나. 화이트박스(White Box) 시험 |
| 122회 3교시 4번 | 블랙박스 테스트(Blackbox Test)기법을 설명하고, YYYY-MM-DD 형식의 날짜처리 모듈을 위한 블랙박스 테스트 케이스를 작성하시오. YYYY는 년 (네자리 숫자) MM은 월(한자리 또는 두자리 숫자) DD는 일(한자리 또는 두자리 숫자) 빈칸은 무시 |
▶ 블랙박스 테스트, 쉽게 이해하기
자판기의 내부 배선과 프로그램을 보지 않고 동전과 상품버튼을 눌러 결과만 확인한다고 생각해 보겠습니다. 정상금액에서는 상품이 나오고, 부족한 금액에서는 안내가 표시되며, 품절상품은 결제되지 않아야 합니다.
블랙박스 테스트는 프로그램 내부구조를 기준으로 삼지 않고 요구사항과 명세에서 입력조건·사용자행위·출력결과를 도출합니다. 따라서 개발언어를 몰라도 사용자 관점에서 누락 기능과 잘못된 동작을 찾을 수 있습니다.
쉽게 말하면, 블랙박스 테스트는 상자 안의 코드를 보지 않고 입력과 기대출력을 비교해 ‘사용자가 요구한 대로 동작하는지’ 확인하는 시험입니다.
▶ 블랙박스 테스트의 개념과 특징
블랙박스 테스트는 테스트 대상의 내부 코드·제어흐름을 사용하지 않고 요구사항, 사용자스토리, 업무규칙과 인터페이스 명세를 기반으로 테스트 조건과 케이스를 설계하는 명세기반 기법입니다.
기능 테스트에 주로 사용되지만 성능·보안·사용성 등 비기능 요구사항도 외부에서 관찰 가능한 결과와 수용기준으로 검증할 수 있습니다.
사용자·업무·외부 인터페이스 중심
요구사항·명세·업무규칙·수용기준
입력과 실제 출력·기대 출력 비교
누락기능·인터페이스 오류·명세위반 탐지
내부 경로·죽은 코드·숨은 구조 결함 확인 어려움
오해 주의: 블랙박스는 테스트 대상의 내부구조를 테스트 설계 근거로 쓰지 않는다는 뜻이며, 테스트 자동화나 기술적 분석을 하지 않는다는 뜻은 아닙니다.
▶ 주요 블랙박스 테스트 기법
입력공간 전체를 시험할 수 없으므로 결함이 많이 발생하는 대표영역과 경계를 체계적으로 선택합니다.
| 기법 | 핵심 원리 | 적용 예 | 주요 결함 |
|---|---|---|---|
| 동등분할 | 동일하게 처리될 입력영역을 유효·무효 클래스로 분할 | 나이 1~120, 0 이하, 121 이상 | 입력조건·검증 누락 |
| 경계값 분석 | 분할 경계의 직전·경계·직후 값을 선택 | 0·1·120·121 | 이상·이하, 배열경계 오류 |
| 결정테이블 | 복수 조건 조합과 각 조합의 동작을 규칙으로 표현 | 회원등급×쿠폰×결제수단 할인 | 업무규칙 조합 누락 |
| 상태전이 | 현재상태·이벤트·다음상태·동작을 모델링 | 로그인 실패 5회 후 잠금 | 잘못된 상태·전이·이벤트 |
| 유스케이스 | 사용자 목표의 주·대안·예외 흐름을 시험 | 주문-결제-취소-환불 | 종단간 흐름·예외 누락 |
| 원인-결과 그래프 | 입력조건과 결과의 논리관계를 그래프로 모델링 | 보험가입 조건과 승인결과 | 복잡한 논리·상호제약 오류 |
| 조합·페어와이즈 | 변수 간 t-way 조합으로 케이스 수 축소 | OS×브라우저×언어×권한 | 환경·설정 상호작용 결함 |
▶ 블랙박스 테스트 설계 절차
명세 분석
기능·규칙·제약·수용기준 확인
조건 식별
입력·상태·조합·예외를 분류
기법 선택
분할·경계·결정·상태 등 적용
케이스 설계
사전조건·데이터·절차·기대결과 작성
실행·판정
실제결과와 기대결과 비교
추적·보완
결함 기록, 요구사항 커버리지 확인
요구사항별 테스트케이스를 RTM으로 연결하면 ‘테스트를 많이 했는가’가 아니라 ‘합의된 요구를 빠짐없이 확인했는가’를 증명할 수 있습니다.
▶ 블랙박스와 화이트박스 테스트 비교
| 구분 | 블랙박스 테스트 | 화이트박스 테스트 |
|---|---|---|
| 설계 기준 | 요구사항·명세·업무규칙 | 코드·제어흐름·데이터흐름 |
| 주요 관점 | 사용자에게 보이는 동작 | 구현된 내부 구조와 경로 |
| 대표 기법 | 동등분할·경계값·결정테이블·상태전이 | 문장·분기·조건·경로 커버리지 |
| 주요 발견 | 누락기능·잘못된 출력·인터페이스 오류 | 미실행 문장·논리분기·루프 오류 |
| 한계 | 내부 경로의 미시험 여부 파악 곤란 | 미구현 요구사항을 발견하기 어려움 |
| 상호보완 | 요구사항 커버리지 확보 | 구조 커버리지로 테스트 공백 확인 |
▶ YYYY-MM-DD 날짜 모듈 테스트 사례
122회 기출처럼 날짜 모듈을 시험할 때는 단순 정상값뿐 아니라 유효·무효 분할, 경계, 윤년과 공백 규칙을 함께 반영합니다.
| 구분 | 입력 예 | 기대 결과 | 적용기법 |
|---|---|---|---|
| 정상 일반일 | 2026-7-23, 2026-07-23 | 유효한 날짜로 처리 | 동등분할 |
| 월 하한·상한 | 2026-1-1, 2026-12-31 | 유효한 날짜로 처리 | 경계값 |
| 월 범위 초과 | 2026-0-10, 2026-13-10 | 오류 처리 | 무효분할·경계값 |
| 일수 경계 | 2026-04-30, 2026-04-31 | 전자는 유효, 후자는 오류 | 결정테이블·경계값 |
| 윤년 | 2024-02-29, 2025-02-29 | 전자는 유효, 후자는 오류 | 결정테이블 |
| 형식·문자 | 26-07-23, 2026-AA-23 | 형식 오류 | 무효분할 |
| 공백 규칙 | 2026 - 7 - 23 | 명세대로 공백 무시 후 유효 | 명세기반 |
| 빈값·NULL | "", NULL | 필수 여부에 따른 오류 | 무효분할 |
테스트케이스에는 입력만 적지 말고 사전조건, 처리규칙, 기대결과와 합격판정 기준을 함께 기록해야 재현 가능합니다.
▶ 효과적인 테스트 조합 전략
유스케이스와 수용기준으로 기능 누락 방지
장애영향·사용빈도·변경량이 큰 영역 우선
범위·길이·시간·용량의 경계값 강화
화이트박스 커버리지로 블랙박스 공백 탐색
오류추정·탐색적 테스트로 예상 밖 결함 탐지
명세기반·구조기반·경험기반 테스트는 서로 대체관계가 아니라 결함 탐지 관점이 다른 상호보완 관계입니다.
▶ VDI 로그인 기능 적용 사례
로그인 기능은 계정상태, 비밀번호, OTP, 접속시간, 단말 정책이 결합되므로 단일 입력과 조건 조합을 함께 시험해야 합니다.
| 시험 관점 | 테스트 설계 | 확인할 결함 |
|---|---|---|
| 계정·비밀번호 | 정상·잠김·만료·미등록 계정과 길이 경계 | 인증 우회·잘못된 오류메시지 |
| OTP | 정상·오류·만료·재사용·시간차 토큰 | 재전송·만료 검증 누락 |
| 상태전이 | 실패 누적→잠금→관리자 해제→재로그인 | 잠금횟수·해제상태 오류 |
| 결정테이블 | 계정상태×비밀번호×OTP×접속정책 조합 | 업무규칙 충돌·조합 누락 |
| 성능·동시성 | 피크 동시로그인과 95백분위 응답시간 | 병목·타임아웃·오류율 증가 |
▶ 블랙박스 테스트의 한계와 개선방안
| 주의사항 | 발생 문제 | 개선 방안 |
|---|---|---|
| 불완전한 명세 | 잘못되거나 누락된 요구를 기준으로 시험 | 리뷰·탐색적 테스트·사용자 피드백 보완 |
| 입력 조합 폭증 | 전수시험 불가능과 중요 조합 누락 | 동등분할·페어와이즈·위험기반 우선순위 |
| 내부 경로 불가시 | 미실행 코드·죽은 코드 확인 곤란 | 화이트박스 커버리지와 정적분석 결합 |
| 기대결과 부정확 | 오라클 문제로 합격·불합격 판정 혼선 | 업무규칙·참조모델·독립 계산으로 검증 |
| 자동화 편향 | 반복 가능한 정상경로만 계속 시험 | 경계·오류·탐색 시나리오를 자동화 포트폴리오에 포함 |
▶ 참고자료
#블랙박스테스트 #BlackBoxTest #명세기반테스트 #동등분할 #경계값분석 #결정테이블 #상태전이 #정보관리기술사 #소프트웨어테스트
'03_SW(소프트웨어 공학) > 소프트웨어 테스트' 카테고리의 다른 글
| 회귀테스트(Regression Test) (0) | 2026.07.27 |
|---|---|
| 카오스테스트(Chaos Test) (0) | 2026.07.26 |
| 몽키테스트(Monkey Test) (0) | 2026.07.26 |
| APP실행중테스트기법 (0) | 2026.07.24 |
| 화이트박스테스트(White Box Test) (0) | 2026.07.23 |