← Назад к вопросам

Что такое таблица принятия решений?

1.0 Junior🔥 181 комментариев
#Тестовая документация#Техники тест-дизайна

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Таблица принятия решений (Decision Table Testing)

Что такое таблица принятия решений?

Это техника тестирования, где мы организуем все комбинации входных условий и ожидаемые результаты в виде таблицы. Помогает находить все возможные сценарии и баги в логике.

Основная идея

Система имеет логику - если условие A верно И условие B верно, результат X. Мы создаем таблицу со всеми сценариями.

Пример 1: Одобрение кредита

Условия:

  • Возраст >= 18 лет
  • Кредитный скор >= 600
  • Доход >= $30,000

При всех условиях верны - ОДОБРИТЬ, при хоть одном неверно - ОТКЛОНИТЬ.

Пример 2: Система скидок

Условия: сумма заказа > $100, постоянный клиент, использует промокод.

Логика: сумма > $100 И постоянный = 10% скидка, промокод = 15% скидка, оба = 20%.

Как создать таблицу

  1. Определить условия - какие переменные влияют?
  2. Определить действия - какой результат для каждой комбинации?
  3. Определить правила - какие комбинации возможны?
  4. Написать тест-кейсы - для каждой строки создать тест

Сокращение комбинаций

При 10 условиях было бы 2^10 = 1024 комбинации. Сокращаем:

  • Тестируем все True и все False
  • Комбинации с изменением одного условия
  • Граничные случаи
  • Эквивалентное разбиение (диапазоны)

Преимущества

  • Находим все логические комбинации
  • Убеждаемся что все if-else работают
  • Находим баги в сложной логике
  • Структурированный подход
  • Легко управлять тестами
  • Можно автоматизировать

Применение

Банк: одобрение кредита (возраст, скор, доход, история). E-commerce: доставка (вес, страна, срочность). Insurance: расчет премии (возраст, тип полиса, риск). Healthcare: назначение лекарства (возраст, вес, аллергии).

Инструменты

Простые: Excel, Google Sheets, Confluence. Специализированные: JIRA, TestRail, Cucumber, SpecFlow.

Типичные ошибки

Забыть невозможные комбинации (Active И Deleted одновременно). Неправильно определить логику (разработчик реализовал OR, мы тестируем AND). Забыть граничные значения.

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

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

Не используй когда: логика простая, условия независимы, уже есть unit-тесты.

Заключение

Decision Table Testing - мощный инструмент для тестирования сложной логики. Помогает систематически проверить все комбинации, найти баги в условной логике, документировать требования. Особенно полезно для финансовых систем, страховки, банков где логика критична.

Что такое таблица принятия решений? | PrepBro