분류트리 테스트로 조합형 블랙박스 테스트 설계하기
분류트리 테스트의 파라미터·클래스·제약 구조와 조합 전략, 비용 추정, 실무 적용 시 주의할 점을 정리한다.
2026-08-14 · 최초 발행 2025-12-15
조합을 만들기 전에 분류와 제약을 드러낸다
분류트리 테스트(Classification Tree Method, CTM)는 테스트 대상의 파라미터와 그 값인 클래스를 트리로 표현하고, 그 안에서 유효한 조합을 도출하는 블랙박스 테스트 설계 기법이다.
입력값만이 아니라 상태와 실행 환경까지 분류 대상으로 삼을 수 있다. 분류(Parameters), 동등 클래스(Equivalence Classes), 불가능한 조합을 배제하는 제약, 그리고 전수·페어와이즈·직교배열 같은 조합 전략이 함께 구성된다.
이 구조는 클래스가 상호배타적이고 전체 범위를 포괄하는지 MECE 관점에서 점검하게 한다. 중복과 누락을 줄이는 동시에, 어떤 조합을 왜 제외했는지 이해관계자와 공유하기도 쉬워진다.
트리 구조가 제공하는 통제 지점
트리는 파라미터와 클래스의 계층 관계를 보이게 하므로 사양 합의에 활용할 수 있다. 조합 규칙과 제외 조건도 트리, 엣지, 라벨로 표시해 의도한 테스트 케이스를 추적할 수 있다.
전수 조합 수는 각 분류의 클래스 수를 곱한 값에서 제약 조합을 제외해 계산한다. 페어와이즈나 직교배열로 조합을 축소할 경우에도 커버리지 목표에 맞춰 필요한 케이스 수를 정량적으로 추정할 수 있다.
위험도에 따라 조합 전략을 달리 적용하기도 좋다. 고위험 영역은 집중적으로 다루고 저위험 영역은 축소 조합으로 관리하는 방식으로 테스트 포트폴리오를 구성할 수 있다.
테스트 범위에서 케이스 문서화까지
먼저 테스트 범위와 경계를 정하고, 입력·상태·환경에서 파라미터 후보를 식별한다. 기능 정확성, 호환성, 성능 같은 품질 속성과 리스크도 함께 매핑한다.
그다음 도메인 분석과 사양, 로그, 과거 결함을 참고해 파라미터별 클래스를 만든다. 클래스 사이의 상호배타성과 전체포괄성을 검증하고, 디폴트값과 에지 값도 포함한다. 불가능·무의미·중복 조합은 제약 규칙으로 명세한다.
식별자는 CT-<ParameterCode>-<ClassCode>-<Seq>처럼 일관된 체계로 설계할 수 있다. 이후 전수 조합 또는 페어와이즈·직교배열을 선택하고, 분류별 최소 커버리지(Pair, Triple), 제약 충족, 임계값 우선순위를 기준으로 케이스를 선정한다. 케이스에는 절차, 입력, 사전조건, 예상 결과, 검증 포인트, 추적성 ID를 기록한다.
트리 설계와 조합 생성의 순환
파라미터가 많은 검증 영역에서의 활용
웹·모바일 폼에서는 브라우저, 로캘, 입력 길이, 문자 종류, 로그인 상태, 네트워크 품질을 분류할 수 있다. 브라우저는 {Chrome, Edge, Safari}, 길이는 {0, 1, 최대-1, 최대, 최대+1}, 문자는 {ASCII, 유니코드, 이모지 포함}처럼 클래스를 구성한다. 비로그인+결제 불가 같은 제약을 두고, 주요 상호작용은 페어와이즈로 다루되 최대 길이와 이상치는 전수 테스트로 병행한다.
임베디드·자동차 ECU에서는 온도 범위, 전압 상태, 센서 신뢰도, 운전 모드, 안전 레벨을 분류할 수 있다. 특정 모드에서 센서 고장 조합을 금지하거나 안전 레벨별 동작을 제한하는 제약을 둔다. 환경 변수는 직교배열로 균형 있게 표본화하고 고위험 조합은 전수 수행한다.
API·플랫폼 호환성에서는 API 버전, 인증 방식, 권한 레벨, 페이로드 크기, 인코딩, 타임존이 분류 대상이다. 권한 레벨별 메서드 사용 제한을 제약으로 관리하고, CTM으로 만든 조합에서 회귀 핵심셋을 별도로 추출한다. 릴리스 때는 변경된 파라미터만 증분 생성할 수 있다.
전수 조합과 축소 조합의 비용 감각
역할{2} × 브라우저{3} × 인증상태{2} × 데이터크기{3}의 전수 조합은 36 케이스다. 제약 4건을 제외하면 36 - 4 = 32 케이스가 남는다.
페어와이즈를 목표로 하면 실제 케이스 수는 912건 수준이 될 수 있으며, 이는 파라미터 분포와 제약에 따라 달라진다. 케이스 수는 6075% 감소하고 커버리지 손실을 최소화할 수 있다. 리뷰·설계 시간은 30~50% 단축되며, 복합 조건 결함의 검출률 개선으로 결함 누락률 감소를 기대할 수 있다.
다른 조합 기법과의 관계
| 기법 | 성능(케이스 수 관리) | 확장성(파라미터 증가 대응) | 일관성(중복/누락 제어) | 안정성(변경 영향 파악) | 운영 편의(시각화/커뮤니케이션) |
|---|---|---|---|---|---|
| 분류트리 테스트(CTM) | 높음(시각화+제약 기반) | 높음(계층 확장 용이) | 높음(MECE 적용 용이) | 높음(트리 변경 추적) | 높음(트리 다이어그램) |
| 페어와이즈 | 매우 높음(케이스 축소) | 높음 | 중간(제약 관리 필요) | 중간 | 중간(툴 의존) |
| 직교배열 | 높음(균형 표본화) | 중간(정형 배열 제약) | 중간 | 중간 | 중간 |
| 결정 테이블 | 중간(규칙 중심) | 중간 | 높음(규칙 완전성) | 중간 | 중간(표 기반) |
제약과 추적성을 운영하는 방식
클래스가 서로 겹치지 않고 전체 범위를 포괄하는지, 디폴트·경계·에러 클래스가 포함됐는지 점검한다. 자연어로 적힌 제약은 형식 규칙으로 전환하고, 충돌 검출 루프를 운영한다. 제약이 많을 때는 전수 조합보다 직교배열이나 페어와이즈가 효율적일 수 있다.
변경이 잦거나 안전성 영향이 큰 분류에는 우선순위 가중치를 둔다. 고위험 조합은 전수로, 저위험 조합은 축소 조합으로 관리한다.
파라미터, 클래스, 제약의 식별자는 분리하고 테스트 케이스 ID에는 모두 포함한다. 요구사항 ID와 매핑하면 변경 시 영향 분석을 자동화할 수 있다.
신규 도입에서는 파일럿 대상을 정한 뒤 트리 설계 템플릿과 ID 규칙을 표준화하고, 커버리지 기준 합의와 자동화 도구 연계를 순차적으로 진행한다.