분류 트리 방법 (Classification Tree Method, CTM)

CTM은 1993년 Grimm과 Grochtmann에 의해 개발된 테스트 설계 방법으로, 소프트웨어의 테스트 관련 측면을 체계적으로 분류하고 조합하여 테스트 케이스를 생성한다.

분류 트리 방법은 테스트 대상 시스템의 입력 도메인을 여러 분류(Classifications)로 나누고, 각 분류 아래에 클래스(Classes)들을 정의하는 방식으로 작동한다.
여기서 분류는 테스트할 특성이나 매개변수를 의미하고, 클래스는 그 특성이 가질 수 있는 구체적인 값들을 의미한다.

예를 들어, 온라인 쇼핑몰의 주문 시스템을 테스트한다고 가정해보자:

  1. 분류: 결제 방법

    • 클래스: 신용카드, 계좌이체, 휴대폰 결제
  2. 분류: 배송 옵션

    • 클래스: 일반배송, 특급배송, 해외배송
  3. 분류: 주문 금액

    • 클래스: 1만원 미만, 1-5만원, 5만원 이상

주요 단계

  1. 분류(Classification): 테스트 관련 측면(classifications)과 해당 값(classes)을 식별한다.
  2. 조합(Combination): 다양한 분류의 클래스들을 조합하여 테스트 케이스를 생성한다.
  3. 명세(Specification): 생성된 조합을 바탕으로 실제 테스트 케이스를 작성한다.

특징

  • 블랙박스 테스팅 방법으로, 다양한 유형의 시스템에 적용 가능하다.
  • 등가 분할(Equivalence Partitioning)과 경계값 분석(Boundary Value Analysis) 원칙을 활용한다.
  • 그래픽 기반 기법으로, 루트, 브랜치, 리프로 구성된 트리 구조를 사용한다.
  • 테스트 케이스 간의 관계를 시각적으로 표현하여 테스트 커버리지를 쉽게 이해할 수 있다.

장점

  1. 체계적인 접근: 테스트 프로세스에 구조화된 접근 방식을 제공한다.
  2. 효율성: 테스트 케이스 설계와 생성 과정을 효율적으로 만든다.
  3. 가시성: 테스트 케이스 간의 관계를 시각적으로 표현하여 이해도를 높인다.

최근 발전

  1. 우선순위 기반 테스트 케이스 생성: 요소에 가중치를 할당하여 테스트 케이스의 우선순위를 결정할 수 있다.
  2. 테스트 시퀀스 생성: 클래스 간 유효한 전이를 정의하여 자동으로 테스트 시퀀스를 생성할 수 있다.

CTM은 테스트 설계를 체계화하고 효율화하는 강력한 도구이지만, 복잡한 시스템에서는 트리가 매우 복잡해질 수 있다는 점에 유의해야 한다.
따라서 적절한 수준의 추상화와 분류가 중요하다.


참고 및 출처