Найти в Дзене

Техники тест-дизайна. Тестирование состояний и переходов. Часть 4.

Оглавление

Продолжаем изучать техники тест дизайна!

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

🟢Тестирование состояний и переходов

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

Что такое состояния и переходы?

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

Как проводится тестирование состояний и переходов?

Тестирование состояний и переходов включает в себя следующие шаги:

  1. Определение возможных состояний системы.
  2. Идентификация событий, которые могут вызывать переходы между состояниями.
  3. Разработка тестовых сценариев, которые проверяют корректность переходов между состояниями.
  4. Выполнение тестовых сценариев и анализ результатов.

Основные понятия

Точка входа — старт работы системы или приложения.

Переход (transition) — переход системы из одного состояния в другое, который происходит в результате действий пользователя или при определённых условиях.

Событие (event) — (надпись над стрелкой) — действие пользователя, которые он выполнил для перевода системы в другое состояние, или действия самой системы, меняющие её состояние.

Действие (action) — реакция приложения на действия пользователя или самой системы (на событие).

Условия перехода (transition conditions) — условия, которые необходимы для перехода системы в другое состояние, например изменение даты для начисления процентов на вклад.

Состояние (state) — состояние системы до или после перехода в результате действий пользователя или при определённых условиях.

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

Роли пользователей (actors) — пользователи, которые могут по-разному влиять на систему в зависимости от уровня прав доступа (зарегистрированный пользователь, менеджер, администратор).

Пример тестирования состояний и переходов

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

  • Точка входа - в данном случае это тот момент, когда вы перешли на сайт.
  • Переход - за переход можно считать ввод ваших данных и прочее, после чего вы нажимаете забронировать.
  • Событие - мы перевели наше место в самолете в состояние Забронировано.
  • После оплаты билета система переходит в состояние «Билет оплачен».
  • Когда происходит получение билета, система отправляет его по электронной почте и переходит в состояние «Билет получен».
  • Завершающим этапом является предъявление билета при посадке. Если все эти этапы пройдены, цикл бронирования успешно завершается, и система выходит из процесса.
-2

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

И наша схема уже преобразуется:

-3

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

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

При создании диаграмм состояний и переходов важно помнить о следующем:

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

Преимущества диаграмм состояний и переходов включают:

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

Недостатки:

  • существует риск пропустить неочевидные переходы;
  • при слишком сложной структуре продукта диаграммы могут стать громоздкими и запутанными;
  • они служат лишь основой для применения других методов;
  • их использование бесполезно при недостаточном понимании продукта.

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

Обучение тестированию