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

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

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

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

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

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

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

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

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

Можно придумать что-то из мира фантастики, например, взобраться на 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.

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

Понравилась статья? Поделиться с друзьями:
Комментариев: 5
  1. Lumen

    Спасибо бро! От души все расписал!

  2. smpr

    Спасибо, разобралась. :oops:

    1. Ирина Костина (автор)

      Рады стараться 🙂

  3. Алина

    Спасибо! Очень помогли)

    1. Ирина Костина (автор)

      Очень рады! Пишите, какие темы были бы Вам еще интересны 🙂

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: