Decision Table Testing

Decision Table Testing (Тестування таблиць прийняття рішень) — це техніка тест-дизайну, яка допомагає моделювати складні логічні умови системи. Вона базується на таблиці рішень, яка показує:

  • Умови (Conditions) — вхідні дані або ситуації
  • Дії (Actions) — очікувана поведінка системи
  • Правила (Rules) — комбінації умов, при яких відбуваються дії

Це дозволяє створювати тест-кейси, які покривають усі (або найважливіші) комбінації вхідних умов.

Розглянемо простий приклад.

Приклад:

Умова: користувач може увійти в систему, якщо:

  1. Ввів правильний логін
  2. Ввів правильний пароль
УмовиТест 1Тест 2Тест 3Тест 4
Логін правильнийT (True)T (True)FF
Пароль правильнийT (True)F (False)TF
Дозволити вхідT (True)F (False)FF

Етапи побудови таблиці рішень:

1. Визначення умов

Це всі вхідні змінні або умови, що впливають на результат.

Наприклад: чи користувач увійшов у систему, чи ввів правильний пароль тощо.

2. Визначення можливих значень умов

Зазвичай це True/False чи 0/1, але можуть бути й інші варіанти.

3. Визначення дій

Що має зробити система залежно від комбінації умов? Це можуть бути:

  • Виконати якусь операцію
  • Показати повідомлення
  • Заборонити доступ і т.д.

4. Формування правил

Кожна комбінація умов — це окреме правило (Rule), що призводить до певної дії або дій.

5. Скорочення таблиці (оптимізація)

Іноді деякі комбінації дублюють результати або не мають сенсу — їх можна об’єднати або видалити.

Приклад: Надання знижки постійному клієнту

Умови:

Умова
C1Клієнт є постійним клієнтом
C2Сума замовлення перевищує 1000 грн

Дії:

Дія
A1Надати знижку 10%
A2Надати знижку 5%
A3Не надавати знижку

Логіка дій:

КомбінаціяУмови виконаніЗнижка
Тест 1Постійний клієнт + сума > 100010%
Тест 2Постійний клієнт + сума ≤ 10005%
Тест 3Непостійний клієнт + сума > 10005%
Тест 4Новий клієнт, невелике замовлення0%

Таблиця рішень

УмоваТест 1Тест 2Тест 3Тест 4
C1: Постійний клієнтTTFF
C2: Сума > 1000 грнTFTF
Очікувана діяA1 (10%)A2 (5%)A2 (5%)A3 (0%)

Переваги Decision Table Testing:

ПеревагаПояснення
ЧіткістьВсі логічні умови систематизовані
Повне покриттяКожна важлива комбінація умов врахована
АвтоматизаціяТаблицю легко перевести в автоматичні тести
Виявлення прогалинДопомагає побачити, які варіанти не опрацьовані

Коли використовувати?

СитуаціяDecision Table Testing — підходить?
Багато вхідних умовТак
Складні правила прийняття рішеньТак
Просте позитивне/негативне тестуванняКраще Boundary Value чи Equivalence Partitioning
Бізнес-логіка (знижки, ролі, правила доступу)Ідеально

Інструменти для створення таблиць:

  • Excel або Google Sheets
  • TestRail (та інші TMS)
  • Draw.io або інші діаграмні редактори
  • Mind maps (для візуалізації)

Leave a Reply

Your email address will not be published. Required fields are marked *