Программирование  •  27 декабря  2022  •  5 мин чтения

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

Учимся использовать один из самых простых методов тест-дизайна
Таблица принятия решений — инструмент тест-дизайна, или процесса создания тестов. Таблица помогает придумать, как и что тестировать в программном обеспечении, например на сайте или в приложении. Её можно использовать для проверки требований, собранных для разработки ПО, например проверять, что учтены все возможные варианты.
Правил и условий может быть неограниченное количество, но чем их больше, тем неудобнее работать с таблицей. Действие обычно одно или два, но это число тоже ничем не ограничено
Ячейки таблицы заполняются с опорой на три параметра, которые расположены в шапке и первом столбце. Всё начинается с условий работы системы, выбранных из требований. Далее идут правила, которые отражают выполнение условий. Завершается таблица действиями — это результаты, которые наступают при соблюдении правил.

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

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

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

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

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

В примере с расчётом скидки в продуктовом магазине таблица неполная. На первый взгляд в ней всё логично, но что будет, если человек делает покупки четыре раза в неделю, но каждый раз только на 500 рублей? Научиться видеть такие нюансы помогают наставники на курсе «Инженер по тестированию». Пройти первый блок можно бесплатно.

Преимущества и недостатки метода

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

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

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

Премущества


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

Удобство. Один столбец таблицы — один готовый тест-кейс.

Простота. Таблицу решений можно составить в Google-таблице, Excel, на бумаге или даже на салфетке, если хочется. Чтобы использовать метод, не нужно уметь писать код или осваивать специальную программу.

Недостатки


Долго. Главный минус метода: для составления таблицы нужно время, которого всегда не хватает. Иногда тестировщик думает, что проще потратить полчаса-час на тестирование, а не на составление таблицы.

Иногда к недостаткам таблицы принятия решений относят её громоздкость: количество кейс тестов в столбцах считается по формуле Nm, где N – это количество вариантов ответа на каждое условие, а m — количество условий. Каждое новое условие увеличивает таблицу в геометрической прогрессии, поэтому в какой-то момент она становится неудобной для восприятия. Но это не недостаток метода, а лишь сигнал, что тестировщик неверно использует инструмент или для данной ситуации это не подходит, и стоит подумать над другой техникой тест-дизайна.
Материал по теме:
Кто такой инженер по тестированию и как им стать, чтобы начать IT-карьеру

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

Алгоритм составления таблицы следующий:

  1. Выписать в первый столбик все условия, по одному в каждой строке.

  2. Рассчитать и построить необходимое количество столбцов. Например, если для каждого условия два варианта ответа — «да» или «нет», то правил будет 2(количество условий).

  3. В каждый столбец выписать варианты ответов на условия так, чтобы комбинации получались разные. Сначала все «да», потом все промежуточные варианты с «да» и «нет», потом только все «нет».

  4. Создать в строке после условий строку с действиями. Под каждым столбцом записать, какое будет решение для данной ситуации.

  5. Оптимизировать таблицу: например, удалить столбцы, решения для которых быть не может, и скомпоновать условия, которые дают одинаковый результат. Либо спросить о них у аналитика или продакт-менеджера, если есть сомнения.

  6. Использовать получившиеся столбцы как тесты.

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

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

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

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

1. Оптимизировать.
В таблице могут содержаться близкие по смыслу условия. Например, которые касаются одного параметра: цены, возраста, количества заказов. Условие «купленный товар дороже 500 рублей, но дешевле 2000» можно записать по-разному.

Развернутая запись
Оптимизированная
товар дороже 500 ₽
товар дешевле 2000 ₽
товар стоит от 500 до 2000 ₽

Обе записи верные, но вторая сократит количество столбцов таблицы и упростит работу.

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

Как работать с таблицей принятия решений
Инвертировать можно таблицу любого размера — на ее функциональность расположение столбцов и строк не влияет

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

Допустим, тестировщик проверяет работу формы выдачи кредита на сайте банка. Из требований он знает, что кредит выдаётся со следующими условиями:

● На момент рассмотрения заявки человеку больше 18 лет.
● На момент рассмотрения заявки человеку меньше 55 лет.
● Если ежемесячные выплаты меньше трети ежемесячного дохода, то стандартный процент, иначе — +1%.
● Кредит не выдаётся безработным.

У тестировщика есть четыре условия и два правила — «да» и «нет». Это значит, что количество столбцов будет рассчитываться через степень двойки: 24 = 16.

Так будет выглядеть таблица для тестирования страницы с формой выдачи кредита по четырём условиям
Так будет выглядеть таблица для тестирования страницы с формой выдачи кредита по четырём условиям. В матрице 16 правил
Первые два условия можно оптимизировать, так как они оба касаются возраста. Тогда получится три условия, а количество столбцов сократится вдвое.
Условия о возрасте получателя кредита можно объединить в одно, тогда число столбцов — это 23, то есть 8

Совет эксперта

Ольга Ермолаева

Какой бы замечательной техника ни была, не используйте её только ради того, чтобы использовать. В каждой конкретной ситуации перед началом работы надо анализировать, что больше подойдёт, какой инструмент, какие техники. Прежде чем заводить таблицу в Excel или Google-таблицах, задайте себе несколько вопросов: что даст использование этой техники именно здесь? Как лучше применить технику? Какие условия выбрать и как правильно их скомпоновать?

Всегда смотрите на картину целиком, и только потом идите в частности. Ведь самый главный и универсальный инструмент тестировщика — его голова. Пользуйтесь этим прекрасным инструментом всегда!

Статью подготовили:

Ольга Ермолаева
Спортмастер Лаб
Куратор QA
Мария Соболева
Яндекс Практикум
Редактор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Tue Oct 15 2024 12:14:40 GMT+0300 (Moscow Standard Time)