소프트웨어 테스트는 결함을 찾기 위해 프로그램을 실행해 보는 활동이고, 어떤 입력을 고를지 정하는 방법이 테스트 기법이다. 정보처리기사에서는 블랙박스·화이트박스의 구분, 동치 분할과 경계값 분석의 적용, 커버리지 종류의 정의가 반복해서 나온다. 용어가 비슷해서 헷갈리지만 예시 하나만 붙들면 정리된다.
블랙박스 테스트는 명세서를 기준으로 입력과 기대 출력을 정하는 방식이고, 대표 기법은 동치 분할, 경계값 분석, 원인-결과 그래프, 결정 테이블, 상태 전이 테스트이다. 화이트박스 테스트는 소스 코드의 구조를 보고 어떤 문장·분기·조건을 실행했는지를 측정하며 구문, 결정, 조건 커버리지 등이 있다. 두 방식은 대립이 아니라 서로 다른 결함을 찾는 보완 관계이다.
점수를 0에서 100 사이로 받는 기능이 있다고 하자. 입력을 유효(0~100)와 무효(0 미만, 100 초과) 세 동치류로 나누고 각 집단에서 대표값 하나씩만 고르면 시험 수를 줄일 수 있다. 오류는 경계에서 자주 생기므로 경계값 분석은 -1, 0, 1, 99, 100, 101처럼 경계와 그 양옆을 고른다. 분할은 비용을 줄이고 경계값은 놓치기 쉬운 결함을 잡는다.
| 커버리지 | 기준 | 특징 |
|---|---|---|
| 구문(문장) | 모든 문장을 한 번 이상 실행 | 가장 약해서 분기 결함을 놓친다 |
| 결정(분기) | 모든 결정이 참과 거짓을 한 번씩 | 구문 커버리지를 포함한다 |
| 조건 | 각 조건식이 참과 거짓을 한 번씩 | 결정의 결과는 못 맞출 수 있다 |
| 조건/결정 | 결정과 조건 모두 만족 | 둘을 합친 것 |
| 변경 조건/결정(MC/DC) | 각 조건이 독립적으로 결과를 바꾸는 것을 확인 | 조건이 n개일 때 최소 n+1개 테스트, 항공·자동차 안전 규격에서 쓴다 |
| 다중 조건 | 조건의 모든 조합 | 2의 n제곱 개 필요 |
if (A and B)에 대해 (참, 거짓)과 (거짓, 참) 두 테스트만 쓰면 A와 B가 각각 참·거짓을 한 번씩 가져 조건 커버리지는 만족하지만, 결정 결과는 계속 거짓이라 참 분기를 실행하지 못한다. 반대로 (참, 참)과 (참, 거짓) 두 테스트면 결정이 참과 거짓을 모두 가져 결정 커버리지는 만족하지만, A가 거짓인 경우를 보지 못해 조건 커버리지는 부족하다. MC/DC는 세 개로 충분하다. (참, 참)과 (거짓, 참)은 A만 달라서 결과가 바뀌고, (참, 참)과 (참, 거짓)은 B만 달라서 결과가 바뀌므로 각 조건이 결과에 독립적으로 영향을 준다는 것을 보일 수 있다. 이 조합은 파이썬으로 모든 경우를 열거해 확인했다.
| 테스트 입력(A, B) | A and B 결과 | 결과를 홀로 바꾼 조건 |
|---|---|---|
| (참, 참) | 참 | 기준 |
| (참, 거짓) | 거짓 | B (참, 참)과 비교 |
| (거짓, 참) | 거짓 | A (참, 참)과 비교 |
서술형은 블랙박스·화이트박스 구분 → 대표 기법 → 예시(경계값 또는 커버리지) → 한계와 조합 순으로 쓴다. 실무에서는 요구사항 단계의 동치 분할과 경계값으로 기본 테스트를 만들고, 코드 단계에서 커버리지 도구로 빠진 분기를 찾아 보강한다. 커버리지 100%가 결함 없음을 뜻하지는 않는다는 점도 덧붙인다.
시험 문제는 보통 “다음 중 블랙박스 테스트 기법이 아닌 것은” 같은 분류형이나, 구간이 주어졌을 때 경계값 테스트 입력을 고르는 선택형으로 나온다. 경계값은 경계 자체와 바로 안쪽, 바로 바깥쪽을 함께 고른다는 원칙을 기억하자. 커버리지 문제에서는 조건과 결정의 차이, 그리고 MC/DC가 조건마다 독립적인 영향을 보인다는 설명을 구분해 두면 보기를 빠르게 거를 수 있다.
블랙박스는 동치 분할·경계값으로 입력을, 화이트박스는 구문·결정·조건·MC/DC로 코드 실행 범위를 설계하며, MC/DC는 조건 n개에 최소 n+1개 테스트가 필요하다.
이 글은 학습용 정리이며 실제 시험 문항과 다를 수 있다. 출제 기준은 큐넷·KISA·한국데이터산업진흥원 등 공식 공지를 확인하라. 그림은 설명용 예시 데이터로 그린 개념도이며 실측 데이터가 아니다.
같은 계좌를 두 사용자가 동시에 건드릴 때 데이터베이스가 어디까지 서로의 작업을 보여 줄지 정하는 설정이…
배당은 회사가 번 이익을 주주에게 현금으로 나눠 주는 일이다. "배당수익률 3%"라는 숫자는 매력적으로 보이지만 세금,…
주식 기사나 증권사 리포트에서 가장 자주 만나는 지표가 PER, PBR, ROE이다. 따로 외우면 숫자의 나열에…
컴퓨터활용능력 스프레드시트 파트에서는 조건에 맞는 값만 합치고 세는 문제가 거의 매 회차 나온다. SUMIF 계열…
엑셀에서 값을 찾아 가져오는 함수 가운데 VLOOKUP은 컴퓨터활용능력 필기·실기 모두에서 가장 자주 나오는 함수이다. 문제의…