Как использовать таблицы принятия решений в тестировании

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

Для начала выясним, что же такое “Таблица решений”. Для этого обратимся к любимой Википедии за формальным определением: таблица принятия решений – это способ компактного представления модели со сложной логикой. Простыми словами, это варианты действий при различных входных условиях.

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

Итак, какие входные параметры мы имеем?

  • Наличие с собой ключа. Варианты: Да или Нет
  • Есть ли кто-то дома. Варианты: Да или Нет
  • На месте ли консьерж, который может открыть дверь. Варианты: Да или Нет

Какие наши возможные действия?

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

Есть еще варианты?

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

Все необходимые данные у нас есть, теперь нужно собрать все в красивую табличку. Слева в столбец перечисляем входные параметры или “условия”.

Снимок экрана 2016-08-30 в 22.55.50

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

Снимок экрана 2016-08-30 в 22.56.43

“Да” означает, что условие выполняется, “Нет” – не выполняется. Прочерк – неважно выполняется ли это условие (например, если у нас есть ключ, нам все равно на месте ли консьерж, мы открываем дверь сами).

Для каждого варианта выполнения нужно определить ожидаемое действие. Смотрим на вариант 1: если ключ с собой, мы открываем дверь ключом. Напротив соответствующего действия ставим символ “Х”, который показывает, что должно выполняться именно это действие.

Снимок экрана 2016-08-30 в 23.06.28
Основой метода построения таблицы решения является таблица из четырех блоков:Если внимательно посмотреть на таблицу, можно заметить, что каждый столбец представляет собой отдельный тест-кейс! Вуаля 🙂

Снимок экрана 2016-08-30 в 23.07.20
Давайте заменим случай из жизни на случай из тестирования, например, известная всем форма авторизации в системе.Такая таблица позволит нам рассмотреть все возможные варианты развития событий и результат каждого такого события.

Мы знаем, что форма содержит поля логина, пароля и кнопки “Войти” и “Отмена”. 

При вводе неверных данных система выдает соответствующую ошибку о том, что логин или пароль введены неверно. Если мы не ввели значение для логина или пароля – система выдает ошибку о необходимости заполнить поля.

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

  • Логин: пустое значение / верное значение / неверное значение
  • Пароль: пустое значение / верное значение / неверное значение
  • Кнопки: Войти / Отмена

Пустое значение выбрано как отдельное условие из-за того, что ошибка в этом случае отличается от ошибки ввода неверного значения. Кнопки объединили в одно условие, т.к. мы можем нажать или одну или другую кнопку, одновременно нажать две – проблематично 🙂

Выделим возможные действия:

  • Успешная авторизация
  • Ошибка “Неверно введены логин или пароль”
  • Ошибка “Заполните поля логин или пароль”
  • Авторизация отменена

После того, как выбрали условия и варианты действия начинается самое интересное – составить таблицу решений!

Выписываем в столбец все условия и варианты:

decision table

Считаем, что в случае неверного значения для логина и пустого значения пароля – система выдает нам обе ошибки. Как должна вести себя ваша программа – смотрите в требованиях и спецификациях 🙂

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

Снимок экрана 2016-08-30 в 23.11.24

В итоге для проверки всех возможных вариантов действий с формой авторизации нам потребуется 18 тест-кейсов. Они по факту уже готовы и записаны в таблице.

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

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

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

Хорошего дня читающему этот пост 🙂

Похожие статьи

Курсы удалённо. Плюсы и минусы обучения онлайн

Наш партнер по поиску вакансий, компания Jobsora, провела анализ плюсов и минусов онлайн обучения. Рады представить вам результат работы! Пандемия нежданно охватила весь мир.Сегодня все учебные заведения…

Как отличить стресс от нагрузки? В тестировании

Название статьи достойно публикации в каком-нибудь именитом блоге на личную эффективность. Но речь здесь пойдет про тестирование 🙂 Нагрузочное и стрессовое – подвиды нефункционального тестирования.…

Ответы