Таблица принятия решений в тестировании

Тестирование с помощью таблицы принятия решений — это техника тестирования методом «чёрного ящика», используемая для проверки нескольких комбинаций входных данных в различных условиях.

Её также называют техникой «причина-следствие», где записываются причины и последствия тестирования. На основе этой таблицы проводятся различные тест-кейсы для проверки поведения системы.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Содержание:

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

Таблица принятия решений содержит данные о различных правилах, условиях тестирования и вводимых тестировщиком данных. Входные данные в таблице отмечаются как «Истина (True)» или «Ложь (False)», «Да» или «Нет» и т. д. Такая техника помогает в тестировании простых и сложных программ.

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

Для большей наглядности ниже приведён пример, демонстрирующий тест-кейсы для снятия денег в банкомате:

УсловиеТест 1Тест 2Тест 3
Сумма снятия средств меньше или равна балансу на картеИстинаЛожьЛожь
Предоставлен кредитИстинаЛожь
Действие
Снятие разрешеноИстинаИстинаЛожь

Каждый столбец в приведённой таблице содержит бизнес-логику программы и комбинации различных обстоятельств. Кроме того, в столбце «Действия» представлен результат, связанный с этими обстоятельствами. 

Такая техника тестирования может быть полезна для тестирования программы со сложной бизнес-логикой.

Существует несколько видов таблиц принятия решений:

  1. Таблицы с ограниченным вводом — условия в этой категории ограничены. Например, «Истина» или «Ложь».
  2. Таблицы с расширенным вводом — условия могут иметь более двух значений, кроме «Истина» или «Ложь».

Вот некоторые общие обозначения, используемые в таблицах принятия решений.

  • «Y» может использоваться для обозначения «Истины (True)». Можно использовать «И», «T» или «1».
  • «N» означает «Ложь (False)». Также допускается использование обозначений «Л», «F» или «0». 
  • «—» или «N/A» указывает, что условие не имеет значения.

Значение таблиц принятия решений

Другие техники, такие как тестирование граничных значений и эквивалентное разделение, также охватывают различные обстоятельства. Однако могут возникнуть проблемы, когда система демонстрирует различное поведение при разных входных данных.

Именно в такой ситуации таблица принятия решений может оказаться полезной.

Она также включает в себя тестирование больших наборов данных, что позволяет тестировать всю систему более эффективно.

Вот ещё несколько пунктов, отражающих важность этой техники тестирования:

  • Помогает тестировщикам понять влияние комбинаций входных данных при реализации бизнес-логики.
  • В сложной бизнес-логике структурированность и наглядность помогают чётче понять требования к продукту. 
  • Помогает команде тестировщиков более эффективно разрабатывать тест-кейсы. 
  • Экономит время и силы тестировщиков на переписывание тест-кейсов и сценариев.

Преимущества тестирования на основе таблиц принятия решений

  1. Это эффективный метод тестирования.
  2. Позволяет проводить анализ приложений со сложной бизнес-логикой. 
  3. Обеспечивает полное тестовое покрытие со всеми возможными комбинациями входных данных.
  4. Тестирование таблиц принятия решений можно автоматизировать.
  5. Позволяет выявить недостающие требования как в простых, так и в сложных сценариях тестирования.

Недостатки тестирования на основе таблиц принятия решений 

  1. Может занять много времени, что повлечёт увеличение затрат на тестирование.
  2. Такое тестирование предоставляет результаты в виде «Истина» или «Ложь», что не позволяет получить данные о безопасности и общей производительности ПО.
  3. Для работы со сложными таблицами принятия решений требуются опытные тестировщики, обладающие необходимыми навыками.
  4. В случае внесения изменений в ПО необходимо внести соответствующие изменения в таблицы. Поэтому их приходится регулярно обновлять, что приводит к дополнительным затратам и усилиям со стороны команды тестировщиков.
  5. Такие таблицы не предоставляют информацию о пользовательском опыте или общем качестве программы. 

Примеры тестирования на основе таблиц принятия решений

  1. Осуществление входа в систему

При входе в систему таблица принятия решений может состоять из таких данных, как имя пользователя и пароль. Можно добавить дополнительные условия, например, неверный пароль или имя пользователя. Если вводимая информация не соответствует реальным учётным данным пользователя, таблица может показать сообщение об ошибке в качестве результата. 

Имя пользователя (Условие)ИстинаИстинаЛожьЛожь
Пароль (Условие)ИстинаЛожьИстинаЛожь
Результат (Действие)Вход в системуНеверный парольНеверное имя пользователяНеверное имя пользователя и пароль

Тест 1: имя пользователя и пароль корректны.

Тест 2: корректное имя пользователя, но неверный пароль.

Тест 3: неверное имя пользователя, но корректный пароль.

Тест 4: Неверное имя пользователя и пароль. 

  1. Система светофоров

Для тестирования системы светофоров можно легко создать таблицу принятия решений. В таблице указаны такие входные данные, как состояние каждого светофора, наличие дорожных знаков приоритета и присутствие сотрудников ГИБДД. Кроме того, в действиях указывается, кто именно регулирует движение.

УсловиеТест 1Тест 2Тест 3Тест 4Тест 5Тест 6Тест 7Тест 8
Состояние светофора (работает или нет)ИстинаИстинаИстинаИстинаЛожьЛожьЛожьЛожь
Наличие дорожных знаков приоритета ИстинаИстинаЛожьЛожьИстинаИстинаЛожьЛожь
Присутствие ГИБДДИстинаЛожьИстинаЛожьИстинаЛожьИстинаЛожь
Действие
Движение регулируется светофорамиИстинаИстина
Движение регулируется знаками приоритетаИстина
Движение регулируется сотрудниками ГИБДДИстинаИстинаИстинаИстина
Движение транспорта разрешеноИстина
  1. Учёт продукции на химическом предприятии

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

УсловиеТест 1Тест 2Тест 3Тест 4Тест 5
Авторизован ли сотрудник?ЛожьИстинаИстинаИстинаИстина
Химическое вещество в наличииЛожьИстинаИстинаИстина
Является ли химическое вещество опасным?ЛожьИстинаИстина
Обучен ли сотрудник?ЛожьИстина
Действие
Разрешить выдачу товараXX
Отклонить выдачу товараXX X

Заключение 

Тестирование с помощью таблиц принятия решений является одной из наиболее эффективных техник тестирования ПО. Её можно использовать в различных сценариях и контекстах. К тому же табличное представление помогает анализировать бизнес-логику продукта. 

Тестирование таблиц принятий решений подходит как для маленьких, так и крупных компаний и позволяет использовать большое количество входных данных.

Среди недостатков такой техники можно отметить её трудоёмкость, отсутствие возможности получения данных о безопасности и общей производительности ПО, а также сложность работы с таблицами.

Перевод статьи «What is Decision Table Testing in Software Testing?».

1 комментарий к “Таблица принятия решений в тестировании”

  1. Пингбэк: Тестирование "черного ящика"

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *