정보처리기사 테스트 케이스 설계는 소프트웨어 품질을 검증하는 핵심 영역입니다. 이번 회차에서는 화이트박스 기법(구조 기반)과 블랙박스 기법(명세 기반)의 주요 개념과 실전 문제를 함께 학습합니다.
본 회차 안내
2과목 소프트웨어개발 – 테스트 케이스 설계 (화이트박스/블랙박스) (1/1회차)
문제 1. 화이트박스 테스트 커버리지 개념
화이트박스 테스트는 프로그램의 내부 구조와 로직을 기반으로 테스트 케이스를 설계합니다. 다음 중 화이트박스 테스트의 커버리지 기준을 강도가 약한 것부터 강한 순서로 올바르게 나열한 것은?
- 구문(Statement) → 결정(Decision) → 조건(Condition) → 조건/결정(MC/DC)
- 결정(Decision) → 구문(Statement) → 조건(Condition) → 조건/결정(MC/DC)
- 조건(Condition) → 구문(Statement) → 결정(Decision) → 조건/결정(MC/DC)
- 구문(Statement) → 조건(Condition) → 결정(Decision) → 조건/결정(MC/DC)
정답
① 구문 → 결정 → 조건 → 조건/결정(MC/DC) 순서가 올바르다.
해설
화이트박스 커버리지는 일반적으로 구문(Statement) 커버리지가 가장 약하고, 결정(Decision/Branch) 커버리지, 조건(Condition) 커버리지, 그리고 MC/DC(Modified Condition/Decision Coverage) 순으로 강도가 높아집니다.
구문 커버리지는 모든 실행 가능한 문장을 최소 한 번 실행하는 것을 목표로 하며, 가장 기본적인 수준입니다. 결정 커버리지는 각 분기의 참·거짓 결과를 모두 다루고, 조건 커버리지는 각 개별 조건의 참·거짓을 모두 다룹니다. MC/DC는 항공·안전 소프트웨어에 적용되는 가장 엄격한 기준입니다.
정답: ① 구문 커버리지가 가장 기본이며, 결정 → 조건 → MC/DC 순으로 강도가 강해지므로 올바른 순서입니다.
오답: ② 결정이 구문보다 앞에 나와 순서가 틀렸습니다.
오답: ③ 조건이 가장 앞에 위치해 순서가 잘못되었습니다.
오답: ④ 조건과 결정의 순서가 뒤바뀌어 틀렸습니다.
문제 2. 블랙박스 테스트 동치 분할
블랙박스 테스트 기법 중 동치 분할(Equivalence Partitioning)에 관한 설명으로 가장 옳은 것은?
- 입력 데이터를 동일하게 처리되는 그룹으로 나누어, 각 그룹에서 대표 값 하나를 선택해 테스트한다.
- 입력 범위의 경계값(최솟값, 최댓값, 경계 ±1)을 중점적으로 선택해 테스트한다.
- 프로그램의 모든 분기와 조건을 최소 한 번씩 실행하도록 테스트 케이스를 구성한다.
- 원인과 결과의 관계를 그래프로 표현한 뒤, 테스트 케이스를 도출하는 기법이다.
정답
① 입력 데이터를 동등한 그룹으로 나눠 대표값으로 테스트하는 기법이 동치 분할이다.
해설
동치 분할은 입력 도메인을 유사하게 처리될 것으로 기대되는 클래스(파티션)로 분류합니다. 각 클래스에서 대표 값 하나만 선택해 테스트하면, 전체 입력을 전수 검사하지 않고도 효율적으로 결함을 발견할 수 있습니다.
유효 동치 클래스와 무효 동치 클래스를 모두 설계하는 것이 중요합니다. 따라서 정상 입력뿐 아니라 잘못된 입력에 대한 동치 클래스도 반드시 포함해야 합니다.
정답: ① 동치 분할의 정의를 정확히 설명하고 있습니다.
오답: ② 이는 경계값 분석(Boundary Value Analysis)에 대한 설명입니다.
오답: ③ 이는 화이트박스 테스트의 결정/분기 커버리지에 관한 설명입니다.
오답: ④ 이는 블랙박스 기법 중 원인-결과 그래프(Cause-Effect Graph) 기법에 대한 설명입니다.
문제 3. 경계값 분석 테스트 케이스 수
어떤 함수가 정수 입력 값 1 이상 10 이하만 유효하게 처리한다고 가정합니다. 경계값 분석(Boundary Value Analysis) 기법을 적용하여 단일 변수에 대한 테스트 케이스를 설계할 때, 일반적으로 선택하는 경계값의 개수로 가장 옳은 것은?
- 2개 (1, 10)
- 4개 (0, 1, 10, 11)
- 5개 (0, 1, 5, 10, 11)
- 6개 (0, 1, 2, 9, 10, 11)
정답
③ 경계값 분석에서는 경계 바로 아래 값(0), 최솟값(1), 중간값(5), 최댓값(10), 경계 바로 위 값(11)의 5개를 기본으로 선택한다.
해설
경계값 분석은 결함이 경계 근처에서 가장 많이 발생한다는 원칙에 기반합니다. 단일 변수에 대해 경계 바로 아래 값(0), 최솟값(1), 중간값(5), 최댓값(10), 경계 바로 위 값(11)의 5개 값을 선택하는 것이 교재 표준 방식입니다.
이 방식은 유효 범위 안팎의 경계를 모두 포함하므로 유효·무효 데이터를 균형 있게 검증할 수 있습니다. 가장 많이 사용되는 기본 경계값 분석의 기준은 5개입니다.
정답: ③ 경계 아래(0)·최솟값(1)·중간값(5)·최댓값(10)·경계 위(11)의 5개가 경계값 분석의 표준 선택입니다.
오답: ① 최솟값과 최댓값만 선택하면 경계 근처의 오류를 충분히 검출하지 못합니다.
오답: ② 4개는 경계 안팎의 값만 포함하고 중간값을 누락한 방식입니다.
오답: ④ 6개 선택은 경계 안쪽 두 번째 값(2, 9)을 포함하는 확장 방식으로, 일반적인 5개 기준과 다릅니다.
문제 4. 화이트박스 기초 경로 테스트
화이트박스 테스트 기법 중 기초 경로(Basis Path) 테스트에 대한 설명으로 옳지 않은 것은?
- McCabe의 순환 복잡도(Cyclomatic Complexity)를 이용해 테스트 케이스 수를 결정한다.
- 제어 흐름 그래프(Control Flow Graph)를 기반으로 독립적인 경로를 도출한다.
- 순환 복잡도 V(G) = E – N + 2P 공식으로 계산한다. (E: 간선, N: 노드, P: 연결 컴포넌트)
- 모든 독립 경로를 테스트하면 프로그램의 모든 결함을 완전히 발견할 수 있음을 보장한다.
정답
④ 기초 경로 테스트가 모든 결함을 완전히 발견한다는 보장은 제공하지 않는다.
해설
기초 경로 테스트는 독립적인 실행 경로를 모두 커버하도록 테스트 케이스를 설계합니다. 그러나 어떠한 테스트 기법도 소프트웨어의 모든 결함을 완전히 발견한다고 보장하지 않습니다.
테스트는 결함의 존재를 보여줄 수 있지만, 결함의 부재를 증명할 수는 없다는 것이 소프트웨어 테스트의 기본 원칙입니다. 따라서 ④번 설명은 잘못된 내용입니다.
오답: ① McCabe의 순환 복잡도를 이용해 독립 경로 수를 결정하는 설명은 옳습니다.
오답: ② 제어 흐름 그래프로 독립 경로를 도출한다는 설명은 옳습니다.
오답: ③ V(G) = E – N + 2P 공식은 순환 복잡도의 올바른 계산 방법입니다.
정답: ④ 모든 결함을 완전히 발견한다는 보장은 테스트 이론상 불가능하므로 틀린 설명입니다.
문제 5. 블랙박스와 화이트박스 비교
블랙박스 테스트와 화이트박스 테스트를 비교한 설명으로 옳지 않은 것은?
- 블랙박스 테스트는 소프트웨어의 명세(요구사항)를 기반으로 테스트 케이스를 설계한다.
- 화이트박스 테스트는 소스 코드의 내부 구조와 로직을 바탕으로 테스트 케이스를 설계한다.
- 블랙박스 테스트는 내부 구현을 알지 못해도 수행할 수 있으므로 구조 기반 테스트라고도 한다.
- 화이트박스 테스트 기법에는 구문 커버리지, 결정 커버리지, 조건 커버리지 등이 포함된다.
정답
③ 블랙박스 테스트는 명세 기반 테스트이며, 구조 기반 테스트는 화이트박스 테스트를 가리킨다.
해설
블랙박스 테스트는 내부 구조를 고려하지 않고 입력과 출력만으로 검증하기 때문에 명세 기반 테스트(Specification-based Testing)라고 합니다. 반면 화이트박스 테스트는 내부 코드 구조를 분석하므로 구조 기반 테스트(Structure-based Testing)라고 부릅니다.
따라서 ③번 보기에서 블랙박스 테스트를 구조 기반 테스트라고 표현한 것은 잘못된 설명입니다.
오답: ① 블랙박스 테스트가 명세(요구사항)를 기반으로 한다는 설명은 옳습니다.
오답: ② 화이트박스 테스트가 내부 구조와 로직 기반이라는 설명은 옳습니다.
정답: ③ 블랙박스 테스트를 구조 기반 테스트라고 한 것은 틀린 설명입니다. 명세 기반이 올바릅니다.
오답: ④ 구문·결정·조건 커버리지가 화이트박스 기법에 속한다는 설명은 옳습니다.
학습 정리
이번 회차에서는 정보처리기사 테스트 케이스 설계의 핵심 세 가지를 다루었습니다. 첫째, 화이트박스 커버리지는 구문→결정→조건→MC/DC 순으로 강도가 높아집니다. 둘째, 블랙박스 기법에는 동치 분할·경계값 분석·원인-결과 그래프 등이 있습니다. 셋째, 블랙박스는 명세 기반, 화이트박스는 구조 기반이라는 차이를 반드시 구분해야 합니다.
정보처리기사 테스트 케이스 설계 영역은 매 시험마다 2~3문제 이상 꾸준히 출제됩니다. 각 기법의 정의와 특징을 정확히 구분하는 연습을 반복하면 고득점에 도움이 됩니다.