Use case тестирование

Что такое use-кейс

Use case (также юз-кейс, юзкейс, use-кейс, сценарий использования, вариант использования, прецедент использования) — перечень действий, выполняемых пользователем при взаимодействии с ИТ-системой для достижения своих целей. 

Use-кейсы используются для описания функциональных требований к системе.

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

Подробнее о юзкейсах.

Пример use-кейса

Упрощенный пример use-кейса клиента, оформляющего свой заказ через приложение интернет-магазина:

ID/Номер use-кейсаUC 001
Название use-кейсаРазмещение заказа
Действующее лицо (пользователь)Клиент
Краткое описаниеОписывает шаги, с помощью которых клиент размещает заказ в приложении
Навигация Клиент добавил товар в корзину и выбрал количество.Покупатель указал, что хочет оформить заказ, нажав на кнопку «Оформить заказ».
Предварительные условия (пред-условия)Покупатель добавил товар в корзину и указал количество.Покупатель указал, что хочет оформить заказ, нажав кнопку «Оформить заказ».
Условия после выполнения (пост-условия)Заказ должен быть оформлен.
Основной (обычный, нормальный) flow (порядок действий)Если клиент не залогинен в систему, ему будет предложено сначала залогиниться:
— Клиент нажимает на кнопку «Оформить заказ».
— Клиент попадает на страницу «Вход/Регистрация».
— Клиент нажимает на кнопку «Вход».
— Клиент вводит имя пользователя и пароль.
— Клиент опять нажимает на кнопку ‘Вход’.
— Клиент входит в систему (залогинен).
Если клиент хочет изменить количество заказанных товаров, он может вернуться назад и изменить количество, затем продолжить оформление заказа:
— Клиент нажимает на кнопку «Назад».
— Клиент перенаправлен на экран «Контактная информация и адрес».
— Клиент нажимает кнопку «Назад».
— Клиент переходит на экран «Подробно о продукте».
— Клиент изменяет количество товара.
— Клиент нажимает кнопку «Оформить заказ».
Если клиент хочет изменить свои контакты и адрес, он может вернуться и изменить данные, а затем продолжить оформление заказа:
— Клиент нажимает на кнопку «Назад».
— Клиент переходит на экран «Контактная информация и адрес».
— Клиент изменяет свои данные.
Если клиент желает отменить заказ, он может отменить заказ и вернуться на главную страницу:
— Для этого клиент нажимает на кнопку «Отмена».
— На экране появится всплывающее окно подтверждения с кнопками «Да» и «Нет».
— Клиент нажимает на кнопку «Да».
— Клиент перенаправлен на главную страницу.
Альтернативный путьЕсли платеж не прошел, клиенту будет показано сообщение «Платеж не прошел» и клиент будет перенаправлен  на основную страницу «Заказа»
Исключения (ошибки)Если платеж не прошел, клиенту будет показано сообщение «Платеж не прошел» и клиент будет перенаправлен  на основную страницу «Заказа»
Бизнес-правила (business rules)<<Список релевантных полей, отображаемых на экранах приложения, с указанием их валидации>>

Кроме показанных выше разделов, может быть еще раздел «Расширенные Use-кейсы», в котором они более детально описываются, или раздел «Дополнительных кейсов», где описываются все допущения и возможные варианты, также раздел, посвященный UI-интерфейсу, то есть изменений в UI, связанных с данным use-кейсом, и другие.

Например, в приведенном выше use-кейсе мы предполагаем, что единственным доступным способом оплаты является кредитная карта, не упоминая альтернативные user flow.

Итак, use-кейс описывает шаги клиента для оформления заказа; цель пользователя — оформление заказа. Также описаны некие альтернативные варианты действий (user flow или поток, также путь) и исключения (ошибки или нештатные ситуации), которые могут возникнуть при оформлении.

Теперь посмотрим, как из юз-кейсов формируются тест-кейсы.

Как создать тест-кейсы из use-кейсов

Принято для каждого возможного пути в use-кейсе создавать отдельный тест-кейс. 

В приведенном выше примере упоминается пять путей/потоков (один основной/обычный путь и четыре альтернативных пути). Таким образом, для приведенного выше примера должно быть написано не менее пяти тест-кейсов. При необходимости и больше. Главное здесь — охват всех возможных (вероятных) вариантов. Обращаем внимание, что для исключений должны быть свои тест-кейсы.

Стандартный порядок действий:

  1. Внимательное изучение use-кейсов и понимание всех вероятных путей «в целом»
  2. Написание тест-кейсов по каждому пользовательскому пути
  3. Также создание подходящих для этих тест-кейсов тестовых данных 

Пример созданного тест-кейса

Опишем основной/обычный пользовательский путь. Далее приведена структура тест-кейса, созданного из use-кейса вначале:

ID тест-кейсаTC 001
ID use-кейсаUC 001
Приоритет Высокий 
Описание В этом тест-кейсе проверяется стандартный процесс оформления заказа клиентом.
— После входа в систему и добавления товара в корзину клиент нажимает кнопку «Оформить заказ».
— Клиент вводит свои контакты и адрес.
— Клиент проверяет данные заказа и переходит на страницу оплаты.
— Клиент производит оплату и, после успешной оплаты, заказ будет оформлен.
Предусловия Клиент должен нажать кнопку «Оформить заказ» в Корзине.
Шаги— Нажать кнопку «Оформить заказ».
— Ввести контактные данные и адрес, в поля указанные ниже:<<Список полей>>
— Нажать кнопку «Отправить».
— Нажать кнопку «Подтвердить и оплатить».
— Выбрать способ оплаты «Кредитная карта».
— Ввести данные кредитной карты в поля, указанные ниже:<<Список полей>>
— Нажать кнопку «Оплатить».
Тестовые данные<<Тестовые данные для каждого поля ввода>>.
Ожидаемый результат— Клиент должен попасть на страницу «Контактная информация и адрес».
— Клиент должен иметь возможность ввести значения, указанные в тестовых данных.
— Контактные данные и адрес должны быть сохранены, а клиент должен перейти на страницу «Информация о заказе».
— Клиент должен быть перенаправлен на страницу оплаты.
— Клиент должен иметь возможность выбрать способ оплаты «Кредитная карта», после чего должны отобразиться соответствующие поля.
— Клиент должен иметь возможность ввести значения, указанные в тестовых данных.
— Оплата должна быть успешной, а на экране должно появиться подтверждающее сообщение «Ваш платеж проведен, заказ оформлен. Ваш номер заказа — XYZ1234».

Для каждого шага тест-кейса должен быть прописан ожидаемый результат.

Подробное руководство по тест-кейсам здесь.

В дополнение, рассмотрим преимущества и челленджи use-кейс-тестирования.

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

Удобство в том, что:

  • Use-кейсы создаются с точки зрения пользователя, и отображают действия, выполняемые пользователем при взаимодействии с системой. Таким образом, «клиент в фокусе», то есть тестирование проводится с его точки зрения. Поскольку QA-команда по умолчанию должна мыслить с точки зрения пользователя/клиента, такой подход помогает им лучше замечать проблемы, связанные с пользовательским опытом (User Experience).
  • Так как тест-кейсы, основная «рабочая единица» тестирования, создаются на основе use-кейсов, подход помогает шире охватить возможные ситуации клиента.
  • Поскольку use-кейсы уже созданы до начала написания кода, и являются «базой» метода, QA-команда быстрее приступает к своим обязанностям, что экономит время на тест-дизайн.
  • Use-кейсы пишутся с пред- и пост-условиями, бизнес-правилами, для обычных и нестандартных пользовательских путей, ошибок и пр., что помогает полнее охватить все сценарии поведения.
  • Легче создаются тест-кейсы, потому что команда «следует за пользователем», и пути легко представить и воспроизвести.

А есть и недостатки:

  • Если в use-кейсе по невнимательности (неопытности) не учтен важный пользовательский путь или сценарий — эффективность метода снижается.
  • Use-кейсы покрывают только функциональные требования.
  • Недостаток как продолжение достоинства: поскольку метод работает с точки зрения клиента, не учитывается, что в системе могут существовать и другие пути/сценарии.

Источник: AoT

Хороший тестировщик это будущий продакт

Какой была ваша первая зарплата в QA и как вы искали первую работу?

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

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас