Тестирование с помощью таблицы принятия решений — это техника тестирования методом «чёрного ящика», используемая для проверки нескольких комбинаций входных данных в различных условиях.
Её также называют техникой «причина-следствие», где записываются причины и последствия тестирования. На основе этой таблицы проводятся различные тест-кейсы для проверки поведения системы.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
- Что такое таблица принятия решений
- Значение таблиц принятия решений
- Преимущества тестирования на основе таблиц принятия решений
- Недостатки тестирования на основе таблиц принятия решений
- Примеры тестирования на основе таблиц принятия решений
- Заключение
Что такое таблица принятия решений
Таблица принятия решений содержит данные о различных правилах, условиях тестирования и вводимых тестировщиком данных. Входные данные в таблице отмечаются как «Истина (True)» или «Ложь (False)», «Да» или «Нет» и т. д. Такая техника помогает в тестировании простых и сложных программ.
С помощью этой таблицы можно выявить все возможные комбинации для тестирования. Кроме того, она устраняет риски, обеспечивает безопасность системы и качественное тестовое покрытие.
Для большей наглядности ниже приведён пример, демонстрирующий тест-кейсы для снятия денег в банкомате:
Условие | Тест 1 | Тест 2 | Тест 3 |
Сумма снятия средств меньше или равна балансу на карте | Истина | Ложь | Ложь |
Предоставлен кредит | – | Истина | Ложь |
Действие | |||
Снятие разрешено | Истина | Истина | Ложь |
Каждый столбец в приведённой таблице содержит бизнес-логику программы и комбинации различных обстоятельств. Кроме того, в столбце «Действия» представлен результат, связанный с этими обстоятельствами.
Такая техника тестирования может быть полезна для тестирования программы со сложной бизнес-логикой.
Существует несколько видов таблиц принятия решений:
- Таблицы с ограниченным вводом — условия в этой категории ограничены. Например, «Истина» или «Ложь».
- Таблицы с расширенным вводом — условия могут иметь более двух значений, кроме «Истина» или «Ложь».
Вот некоторые общие обозначения, используемые в таблицах принятия решений.
- «Y» может использоваться для обозначения «Истины (True)». Можно использовать «И», «T» или «1».
- «N» означает «Ложь (False)». Также допускается использование обозначений «Л», «F» или «0».
- «—» или «N/A» указывает, что условие не имеет значения.
Значение таблиц принятия решений
Другие техники, такие как тестирование граничных значений и эквивалентное разделение, также охватывают различные обстоятельства. Однако могут возникнуть проблемы, когда система демонстрирует различное поведение при разных входных данных.
Именно в такой ситуации таблица принятия решений может оказаться полезной.
Она также включает в себя тестирование больших наборов данных, что позволяет тестировать всю систему более эффективно.
Вот ещё несколько пунктов, отражающих важность этой техники тестирования:
- Помогает тестировщикам понять влияние комбинаций входных данных при реализации бизнес-логики.
- В сложной бизнес-логике структурированность и наглядность помогают чётче понять требования к продукту.
- Помогает команде тестировщиков более эффективно разрабатывать тест-кейсы.
- Экономит время и силы тестировщиков на переписывание тест-кейсов и сценариев.
Преимущества тестирования на основе таблиц принятия решений
- Это эффективный метод тестирования.
- Позволяет проводить анализ приложений со сложной бизнес-логикой.
- Обеспечивает полное тестовое покрытие со всеми возможными комбинациями входных данных.
- Тестирование таблиц принятия решений можно автоматизировать.
- Позволяет выявить недостающие требования как в простых, так и в сложных сценариях тестирования.
Недостатки тестирования на основе таблиц принятия решений
- Может занять много времени, что повлечёт увеличение затрат на тестирование.
- Такое тестирование предоставляет результаты в виде «Истина» или «Ложь», что не позволяет получить данные о безопасности и общей производительности ПО.
- Для работы со сложными таблицами принятия решений требуются опытные тестировщики, обладающие необходимыми навыками.
- В случае внесения изменений в ПО необходимо внести соответствующие изменения в таблицы. Поэтому их приходится регулярно обновлять, что приводит к дополнительным затратам и усилиям со стороны команды тестировщиков.
- Такие таблицы не предоставляют информацию о пользовательском опыте или общем качестве программы.
Примеры тестирования на основе таблиц принятия решений
- Осуществление входа в систему
При входе в систему таблица принятия решений может состоять из таких данных, как имя пользователя и пароль. Можно добавить дополнительные условия, например, неверный пароль или имя пользователя. Если вводимая информация не соответствует реальным учётным данным пользователя, таблица может показать сообщение об ошибке в качестве результата.
Имя пользователя (Условие) | Истина | Истина | Ложь | Ложь |
Пароль (Условие) | Истина | Ложь | Истина | Ложь |
Результат (Действие) | Вход в систему | Неверный пароль | Неверное имя пользователя | Неверное имя пользователя и пароль |
Тест 1: имя пользователя и пароль корректны.
Тест 2: корректное имя пользователя, но неверный пароль.
Тест 3: неверное имя пользователя, но корректный пароль.
Тест 4: Неверное имя пользователя и пароль.
- Система светофоров
Для тестирования системы светофоров можно легко создать таблицу принятия решений. В таблице указаны такие входные данные, как состояние каждого светофора, наличие дорожных знаков приоритета и присутствие сотрудников ГИБДД. Кроме того, в действиях указывается, кто именно регулирует движение.
Условие | Тест 1 | Тест 2 | Тест 3 | Тест 4 | Тест 5 | Тест 6 | Тест 7 | Тест 8 |
Состояние светофора (работает или нет) | Истина | Истина | Истина | Истина | Ложь | Ложь | Ложь | Ложь |
Наличие дорожных знаков приоритета | Истина | Истина | Ложь | Ложь | Истина | Истина | Ложь | Ложь |
Присутствие ГИБДД | Истина | Ложь | Истина | Ложь | Истина | Ложь | Истина | Ложь |
Действие | ||||||||
Движение регулируется светофорами | – | Истина | – | Истина | – | – | – | |
Движение регулируется знаками приоритета | – | – | – | – | – | Истина | – | |
Движение регулируется сотрудниками ГИБДД | Истина | – | Истина | – | Истина | – | Истина | |
Движение транспорта разрешено | – | – | – | – | – | – | – | Истина |
- Учёт продукции на химическом предприятии
Это пример таблицы принятия решений для химического предприятия. В таблице указаны условия и действия, которые компания должна предпринять в различных обстоятельствах.
Условие | Тест 1 | Тест 2 | Тест 3 | Тест 4 | Тест 5 |
Авторизован ли сотрудник? | Ложь | Истина | Истина | Истина | Истина |
Химическое вещество в наличии | – | Ложь | Истина | Истина | Истина |
Является ли химическое вещество опасным? | – | – | Ложь | Истина | Истина |
Обучен ли сотрудник? | – | – | – | Ложь | Истина |
Действие | |||||
Разрешить выдачу товара | X | X | |||
Отклонить выдачу товара | X | X | X |
Заключение
Тестирование с помощью таблиц принятия решений является одной из наиболее эффективных техник тестирования ПО. Её можно использовать в различных сценариях и контекстах. К тому же табличное представление помогает анализировать бизнес-логику продукта.
Тестирование таблиц принятий решений подходит как для маленьких, так и крупных компаний и позволяет использовать большое количество входных данных.
Среди недостатков такой техники можно отметить её трудоёмкость, отсутствие возможности получения данных о безопасности и общей производительности ПО, а также сложность работы с таблицами.
Перевод статьи «What is Decision Table Testing in Software Testing?».
Пингбэк: Тестирование "черного ящика"