Что такое метод дерева классификации?

Метод дерева классификации (Classification Tree Method, CTM) — визуальная техника тест-дизайна, предоставляющая структурированный способ декомпозиции входного домена объекта тестирования в дерево классификаций и классов, а затем генерацию тест-кейсов путём выбора комбинаций из дерева.

Ключевые концепции

  • Объект тестирования: Корневой узел — система, функция или фича, которую тестируют
  • Классификация: Релевантный для тестирования аспект или измерение (категория параметра)
  • Класс: Конкретное значение или раздел внутри классификации
  • Таблица комбинаций: Матрица под деревом, показывающая какие классы комбинируются в тест-кейсы

Структура дерева классификации

graph TD A[Объект теста: Онлайн-оплата] --> B[Способ оплаты] A --> C[Сумма] A --> D[Валюта] B --> B1[Кредитная карта] B --> B2[PayPal] B --> B3[Банковский перевод] C --> C1["Малая (<$50)"] C --> C2["Средняя ($50-$500)"] C --> C3["Большая (>$500)"] D --> D1[USD] D --> D2[EUR] D --> D3[GBP]

Дерево разбивает «Онлайн-оплату» на три классификации (Способ оплаты, Сумма, Валюта), каждая со своими классами.

Построение дерева: пошагово

Шаг 1: Определить объект тестирования и его релевантные аспекты.

Шаг 2: Для каждого аспекта создать узел классификации.

Шаг 3: Под каждой классификацией перечислить возможные классы (значения/разделы).

Шаг 4: Добавить уточнения — классы могут иметь подклассификации при необходимости.

Шаг 5: Построить таблицу комбинаций для выбора тест-кейсов.

Таблица комбинаций

Под деревом создайте таблицу где:

  • Столбцы = тест-кейсы
  • Строки = классы (листовые узлы)
  • Метки (X или точка) показывают, какой класс выбран для каждого тест-кейса
TC1TC2TC3TC4TC5
Кредитная картаXX
PayPalXX
Банк. переводX
МалаяXX
СредняяXX
БольшаяX
USDXX
EURXX
GBPX

Каждый тест-кейс выбирает ровно один класс из каждой классификации.

CTM vs. Эквивалентное разбиение

CTM основывается на EP, но добавляет:

  • Визуальную структуру — дерево делает декомпозицию наглядной
  • Иерархическое уточнение — классы можно далее подразделять
  • Явный выбор комбинаций — таблица показывает, какие именно комбинации вы тестируете

Когда использовать CTM

  • Сложные входные домены с множеством связанных параметров
  • Когда нужен визуальный обзор пространства тестирования
  • Когда стейкхолдеры должны визуально проверить покрытие
  • Как дополнение к попарному тестированию для выбора осмысленных комбинаций

Продвинутые деревья классификации

Иерархическое уточнение

Классы могут иметь подклассификации, создавая более глубокие деревья:

graph TD A[Регистрация пользователя] --> B[Тип пользователя] A --> C[Способ ввода] B --> B1[Физлицо] B --> B2[Компания] B2 --> B2a[Малый бизнес] B2 --> B2b[Корпорация] C --> C1[Ручная форма] C --> C2[Social Login] C2 --> C2a[Google] C2 --> C2b[GitHub]

Комбинирование CTM с попарным тестированием

Для больших деревьев исчерпывающая комбинация всех классов порождает слишком много тест-кейсов. Применяйте попарный выбор к таблице комбинаций:

  1. Постройте дерево классификации
  2. Перечислите все классы листовых узлов как параметры
  3. Подайте на вход PICT или сгенерируйте попарные комбинации вручную
  4. Заполните таблицу комбинаций попарно выбранными тест-кейсами

Реальный пример: Поиск в интернет-магазине

Объект теста: Поиск товаров

Классификации:
├── Поисковый запрос
│   ├── Одно слово
│   ├── Несколько слов
│   ├── Со спецсимволами
│   └── Пустой
├── Фильтры
│   ├── Без фильтров
│   ├── Фильтр категории
│   ├── Фильтр ценового диапазона
│   └── Несколько фильтров
├── Сортировка
│   ├── По релевантности
│   ├── Цена (по возрастанию)
│   ├── Цена (по убыванию)
│   └── Новинки
└── Пагинация
    ├── Первая страница
    ├── Средняя страница
    └── Последняя страница

При 4 x 4 x 4 x 3 = 192 исчерпывающих комбинациях попарное даёт примерно 16-20 тест-кейсов.

Упражнение: Постройте дерево классификации

Сценарий: Вы тестируете функцию экспорта файлов:

  • Формат: PDF, CSV, Excel, JSON
  • Диапазон данных: Последние 7 дней, 30 дней, Пользовательский, Все данные
  • Содержимое: Только сводка, Подробное, С графиками
  • Доставка: Скачивание, Email, Облачное хранилище

Задания:

  1. Нарисуйте дерево классификации
  2. Создайте таблицу комбинаций минимум с 6 тест-кейсами
  3. Убедитесь, что каждый класс появляется хотя бы в одном тест-кейсе
Подсказка

Наибольшая классификация имеет 4 класса, поэтому нужно минимум 4 тест-кейса. Для покрытия всех классов понадобится 4-6 тест-кейсов.

Решение

Таблица комбинаций (6 тест-кейсов, все классы покрыты):

TC1TC2TC3TC4TC5TC6
PDFXX
CSVX
ExcelX
JSONXX
7 днейXX
30 днейX
Пользоват.XX
ВсеX
СводкаXX
ПодробноеXX
С графикамиXX
СкачиваниеXX
EmailXX
ОблакоXX

6 тестов вместо 4 x 4 x 3 x 3 = 144 исчерпывающих.

Советы профессионала

  • Чётко определите объект тестирования. Размытый корень ведёт к размытому дереву.
  • Держите классификации независимыми. Если две классификации сильно зависимы, рассмотрите их объединение или добавьте ограничения.
  • Используйте CTM для коммуникации. Визуальное дерево отлично подходит для встреч по ревью — стейкхолдеры быстро заметят пропущенные аспекты.
  • Уточняйте итеративно. Начните с простого дерева, затем добавляйте подклассификации.
  • Отмечайте невалидные комбинации. В таблице помечайте невозможные комбинации, чтобы не генерировать бесполезные тест-кейсы.