Таблица решений для тестирования фильтрации с зависимыми фильтрами

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

О том, что это за техника и как правильно с ней работать, написана не одна статья (например, https://habr.com/ru/post/546432/), поэтому саму технику здесь я описывать не буду. Эта и последующие статьи скорее для тех, кто уже имеет представление об этой технике и хотел бы расширить границы ее использования на своих проектах.

В своей работе я часто использую эту технику для тестирования различных бизнес-фич:

  • фильтрации с зависимыми фильтрами

  • форм с зависимыми полями

  • данных в ответах на запросы API в зависимости от данных в запросе

  • алгоритмов с большим количеством входных условий/параметров и итоговых действий системы

  • и др.

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

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

Представим, что на веб-портале есть раздел с реестром данных по сущности, для которой существует статусная модель:

  • НЕ проведен осмотр

  • Проведен осмотр

  • Сформирован документ (на основе осмотра)

  • Подписан документ (сформированный на основе осмотра)

Для каждого из трех статусов «Проведен осмотр», «Сформирован документ», «Подписан документ» в разделе есть фильтр, в котором можно выбрать значения: «Не выбрано», «Да», «Нет». Все фильтры доступны для выбора, не зависимо от того, что было выбрано в другом фильтре из трех.

Для фильтрации по «Сформирован документ» и «Подписан документ» существует зависимость:

  • если документ сформирован, значит осмотр точно был пройден

  • если документ подписан, значит осмотр точно был пройден и документ на основании этого осмотра был сформирован

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

Итоговая таблица с тестами представлена ниже.

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

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

Источник: https://habr.com/ru/post/664952/


Интересные статьи

Интересные статьи

Есть способные к обучению объекты, как живые, так и некоторые математические конструкции. Обучение можно формулировать по-разному, но будучи обученным - что происходит при принятии решения? Некоторое ...
Привет! 28 января 2022 в прошел питчинг проектов-участников третьего набора Privacy Accelerator в рамках технического трека ежегодной конференции Privacy Day, посвященной теме защиты персональных данн...
Для хранения тестовых данных обычно требуется такой тип данных, который:• допускает объявление нескольких свойств;• имеет минимальное поведение или вообще его не имеет;• позволяет легко с...
Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ автопроцесс ручного тестирования (далее – автотесты) большой информационной системы (д...
Практически все коммерческие интернет-ресурсы создаются на уникальных платформах соответствующего типа. Среди них наибольшее распространение получил Битрикс24.