Таблиці рішень використовуються для дослідження взаємодії між комбінаціями умов. Вони надають чіткий метод перевірки всіх відповідних комбінацій, щоб гарантувати, що продукт обробляє всі можливі умови, взаємозв'язки і обмеження. Таблиці рішень є ефективним методом тестування програмного забезпечення, що використовується для аналізу реакції системи на різні вхідні дані.
Таблиці прийняття рішень
Тестування за допомогою таблиць прийняття рішень – це одна з технік тест-дизайну методом чорного ящика, яка відноситься до динамічного аналізу. Вона також відома як таблиця причинно-наслідкових зв'язків. А схематична демонстрація логіки відома як причинно-наслідковий графік. Це візуальне уявлення використовується для отримання таблиці рішень.
Інші методи досліджень, наприклад, перевірка на еквівалентність або аналіз граничних значень, часто застосовуються тільки для конкретних вхідних даних. Техніка таблиці рішень використовується у тому випадку, коли для різних вихідних використовується комбінація вхідних даних. Основною метою є перевірка бізнес-логіки і тестового покриття.
Таблиця рішень, як правило, має 4 складові:
- Умови – список можливих умов.
- Варіанти виконання дій – це комбінація зі списку виконаних або невиконаних умов.
- Дії – це список всіляких дій.
- Необхідність дій – вказівка потрібно чи не потрібно виконувати відповідну дію для кожної з комбінацій умов.
Приклад застосування таблиць рішень.
Умова дуже проста: якщо користувач вводить правильне ім'я користувача і пароль, він буде авторизований і перенаправлений на домашню сторінку. Якщо будь-які з даних, що вводяться є неправильними, то з'явиться повідомлення про помилку.
Умова | 1 | 2 | 3 | 4 |
Ім'я користувача (T/F) | F | T | F | T |
Пароль (T/F) | F | F | T | T |
Результат (E/H) | E | E | E | H |
Умовні позначення:
T – Правильне ім’я користувача/пароль.
F – Неправильне ім’я користувача/пароль
E – Відображається повідомлення про помилку.
H – Користувач авторизований/Відображається домашня сторінка.
Розглянемо окремо кожен із стовпчиків:
Стовпчик 1. Ім’я користувача і пароль були неправильні. Відображається повідомлення про помилку.
Стовпчик 2. Ім’я користувача було правильним, але пароль був неправильним. Відображається повідомлення про помилку.
Стовпчик 3. Неправильне ім’я користувача, але правильний пароль. Відображається повідомлення про помилку.
Стовпчик 4. Ім’я користувача і пароль були правильними, авторизація пройшла успішно, відображається домашня сторінка.
Для того щоб конвертувати це у тестовий приклад, можна створити декілька тест-кейсів.
Тест-кейс 1. Ввести валідні ім’я користувача та пароль, натиснути кнопку «Увійти».
Очікуваний результат: користувач авторизований і перенаправлений на домашню сторінку.
Тест-кейс 2. Ввести валідне ім'я користувача та невалідний пароль, натиснути на кнопку входу.
Очікуваний результат: відображається повідомлення про помилку.
Тест-кейс 3. Ввести невалідне ім’я та валідний пароль, натиснути кнопку «Увійти».
Очікуваний результат: відображається повідомлення про помилку.
Тест-кейс 4. Ввести невалідне ім’я користувача та пароль, натиснути на кнопку входу.
Очікуваний результат: відображається повідомлення про помилку.
Необхідно звернути увагу на той факт, що всі кейси, крім першого, перевіряють одне і те ж правило. Таким чином, була створена найпростіша таблиця рішень. За необхідності її можна розширити.
Ще один приклад застосування рішень на прикладі працездатності принтера
Умови | Принтер не друкує | Y | Y | Y | Y | N | N | N | N |
Мерехтить червоний індикатор | Y | Y | N | N | Y | Y | N | N | |
Принтер не розпізнається | Y | N | Y | N | Y | N | Y | N | |
Дії | Перевірте дріт живлення | X | |||||||
Перевірте дріт принтера | X | X | |||||||
Переконайтесь що ПЗ принтера встановлено | X | X | X | X | |||||
Перевірити/замінити чорнила | X | X | X | X | |||||
Перевірте, чи не застряг папір в лотку | X | X |
Умовні позначення: Y – так; N – ні.
Цей приклад показує простоту, з якою таблиця рішень демонструє можливі комбінації умов і дій. До того ж її легко модифікувати в разі зміни вихідних даних (наприклад, при включенні індикатора іншого кольору в принтері).
Переваги використання таблиці рішень під час тестування ПЗ:
- Навіть найскладніша бізнес-логіка, використовуючи цей метод, може бути легко перетворена в тестові сценарії і випадки.
- Ітеративність роботи. Таблиця, створена на першому етапі, використовується в якості вхідної таблиці для всіх наступних. Ітерація виконується тільки в тому випадку, якщо вихідні дані не є задовільними.
- Проста і зрозуміла техніка. Кожен може використовувати цей метод для розробки тестових сценаріїв і випадків.
- Забезпечення повного охоплення тестових випадків, що істотно допомагає скоротити обсяг роботи.
- Гарантія розгляду всіх можливих комбінацій умов і значень.
- Надання більш компактної документації.
- Легка зміна даних.
Недоліки таблиць рішень під час тестування ПЗ:
- Труднощі в масштабуванні. Потрібно «розділяти» великі таблиці на більш дрібні, щоб запобігти надмірності.
- Збільшення кількості вхідних даних робить таблицю складнішою.
Таблиці рішень є хорошим способом опису вимог, коли існує кілька бізнес-правил, що взаємодіють один з одним. Використовуючи цей метод, фахівцю стає простіше написати вимоги, які включають в себе всі доступні умови. Застосування цієї техніки допомагає краще проаналізувати тестований продукт, систематизувати всі знання по ньому. В результаті стає легше писати повні тестові приклади, охопити всі можливі комбінації.