Як використовувати таблиці прийняття рішень в тестуванні

Сьогодні познайомлю вас з таблицями рішень - що це і як ефективно використовувати в тестуванні. Таблиці рішень зарекомендували себе як зручний і простий спосіб тест-дизайну.

Для початку з'ясуємо, що ж таке «Таблиця рішень». Для цього звернемося до улюбленої Вікіпедії за формальним визначенням: таблиця прийняття рішень - це спосіб компактного представлення моделі зі складною логікою. Простими словами, це варіанти дій при різних вхідних умовах.

Давайте уявимо звичайну ситуацію повернення додому з роботи або навчання. У нас є ключ від домофона. Ми можемо або взяти його з собою, або забути (будинку \ на роботі \ десь ще). У момент повернення додому нас можуть чекати родичі \ друзі \ собака, яка вміє відкривати двері, або вдома нікого немає - всі пішли гуляти.

Отже, які вхідні параметри ми маємо?

  • Наявність з собою ключа. Варіанти. Так чи ні
  • Чи є хтось удома. Варіанти. Так чи ні
  • На місці чи консьєрж, який може відкрити двері. Варіанти. Так чи ні

Які наші можливі дії?

  • Ми відкриваємо двері ключем
  • Ми дзвонимо в домофон
  • Ми дзвонимо консьєржа
  • Ми дзвонимо сусідам
  • Ми чекаємо (поки хто-небудь з сусідів вийде і відкриє двері, або наші родичі повернуться додому)

Є ще варіанти?

Можна придумати щось зі світу фантастики, наприклад, піднятися на 20 поверх і проникнути в квартиру через вікно. Поки зупинимося на перелічених вище варіантах дії.

Всі необхідні дані у нас є, тепер треба зібрати все в красиву табличку. Зліва в стовпчик перераховуємо вхідні параметри або "умови".

Далі створюємо стовпці праворуч, де кожен стовпець визначатиме один з можливих варіантів цих умов.

"Так" означає, що умова виконується, "Ні" - не виконується. Прочерк - неважливо чи виконується ця умова (наприклад, якщо у нас є ключ, нам все одно на місці чи консьєрж, ми відкриваємо двері самі).

Для кожного варіанту виконання потрібно визначити очікувану дію. Дивимося на варіант 1: якщо ключ з собою, ми відкриваємо двері ключем. Навпаки відповідного дії ставимо символ "Х", який показує, що повинно виконуватися саме цю дію.


Основою методу побудови таблиці рішення є таблиця з чотирьох блоків: Якщо уважно подивитися на таблицю, можна помітити, що кожен стовпець представляє собою окремий тест-кейс! вуаля 🙂

Ми знаємо, що форма містить поля логіна, пароля і кнопки "Увійти" і "Скасувати".

При введенні невірних даних система видає відповідну помилку про те, що логін або пароль введені невірно. Якщо ми не ввели значення для логіна або пароля - система видає помилку про необхідність заповнити поля.

Виберемо "Умови" для даних сутностей, тобто можливі вхідні значення.

  • Логін. порожнє значення / вірне значення / невірне значення
  • Пароль. порожнє значення / вірне значення / невірне значення
  • Кнопки. Увійти / Скасування

Пусте значення вибрано як окрема умова через те, що помилка в цьому випадку відрізняється від помилки введення невірного значення. Кнопки об'єднали в одну умову, тому що ми можемо натиснути або одну або іншу кнопку, одночасно натиснути дві - проблематично 🙂

Виділимо можливі дії.

Після того, як вибрали умови і варіанти дії починається найцікавіше - скласти таблицю рішень!

Виписуємо в стовпець всі умови і варіанти:

Вважаємо, що в разі неправильного значення для логіна і порожнього значення пароля - система видає нам обидві помилки. Як повинна вести себе ваша програма - дивіться у вимогах і специфікаціях 🙂

Тепер для всіх 18 варіантів визначимо необхідність дій.

Ви можете детальніше розписати введення невірного значення, наприклад, окремо введення цифр, символів, недрукованих символів, копіпаст в поле, максимальне і мінімальне значення, обмеження по довжині, формат поля email і т.д.

Для зручності виконання таких тест-кейсів рекомендую додати ще один рядок до таблиці "Статус проходження тесту" і в ході тестування відзначати тести як Passes / Failed / Blocked / Not Run.

Гарного дня читає цей пост 🙂

Поділитися посиланням: