use-cases

Use-cases (юз-кейсы)

Use-cases (юз-кейс) — это техника в управлении проектами и разработке ПО, которая используется для описания функциональных требований к системе или приложению. Он описывает, как пользователь будет использовать систему, чтобы выполнить конкретную задачу. Расписывает но не так подробно — какие шаги он должен предпринять и как система должна реагировать на каждый из этих шагов. Use-cases являются одним из артефактов тестовой документации.

Основные атрибуты use-cases:

  1. Название юз-кейса: краткое описание того, что делает пользователь.
  2. Акторы: список всех пользователей, которые могут использовать систему или приложение.
  3. Описание: детальное описание, как пользователь будет использовать систему или приложение для выполнения конкретной задачи.
  4. Предусловия: условия, которые должны быть выполнены до начала использования системы.
  5. Шаги использования: пошаговое описание того, что пользователь должен сделать, чтобы выполнить задачу.
  6. Альтернативные шаги: шаги, которые могут быть выполнены, если основные шаги не сработают.
  7. Результаты: описание того, что должно произойти после выполнения задачи.
  8. Ограничения: описание ограничений или ограничений, которые могут влиять на использование системы.

Примеры

Покупка товара в интернет-магазине

Название: Покупка товара Акторы: Пользователь, Интернет-магазин. Описание: Пользователь заходит на сайт интернет-магазина, выбирает товары, которые он хочет купить, добавляет их в корзину и проходит процесс оформления заказа. Предусловия: Пользователь должен быть зарегистрирован на сайте. Шаги использования:

  1. Пользователь выбирает товары, которые он хочет купить, и добавляет их в корзину.
  2. Пользователь переходит на страницу оформления заказа.
  3. Пользователь заполняет форму с личными данными и адресом доставки.
  4. Пользователь выбирает способ оплаты и подтверждает заказ. Результаты: Заказ успешно оформлен, и пользователь получает подтверждение на свой электронный адрес.

Еще один пример юз-кейса, например, с онлайн-магазином. Рассмотрим сценарий «Оформление заказа»:

Название: Оформление заказа Акторы: Покупатель, Система Краткое. Описание: Покупатель оформляет заказ на товары в онлайн-магазине Предусловия: Покупатель авторизован в системе, добавил товары в корзину Основной поток:

  1. Покупатель переходит на страницу корзины
  2. Система отображает список товаров в корзине
  3. Покупатель выбирает адрес доставки и метод оплаты
  4. Система запрашивает данные для доставки и оплаты у Покупателя
  5. Покупатель вводит данные для доставки и оплаты
  6. Система проверяет корректность введенных данных
  7. Система формирует заказ и отправляет уведомление на email Покупателя и в службу доставки
  8. Покупатель получает уведомление об успешном оформлении заказа Ожидаемый результат: Заказ оформлен и отправлен на доставку

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

Еще немного примеров из реальных юз-кейсов и сценариев использования.

Главные отличия от тест-кейса

Основное отличие между use-cases и тест-кейсом заключается в том, что use-cases описывает более широкий контекст использования системы. Тогда как тест-кейс является более узким вариантом, который описывает только тестирование конкретной функции или возможности системы. Use-cases может включать множество тест-кейсов внутри себя, а также другие элементы, такие как пользовательский интерфейс, отчетность и взаимодействие с другими системами.

use-cases
use-cases

Кому в команде девелопмента будут полезны use-cases?

Use-cases диаграммы могут быть полезны для всей команды разработки, включая бизнес-аналитиков, разработчиков, тестировщиков и менеджеров проектов. Бизнес-аналитики могут использовать use-cases диаграммы для определения требований и предоставления разработчикам более детальной информации о том, как система должна работать. Разработчики могут использовать use-case диаграммы в качестве основы для разработки, а также для тестирования и отладки своего кода. Тестировщики могут использовать use-case диаграммы для определения тест-кейсов и проверки соответствия требованиям, а менеджеры проектов могут использовать их для контроля за процессом разработки и оценки прогресса.

Пять важных моментов, которые следует учитывать при создании use-cases

  1. Определение актеров: Необходимо ясно определить, кто является основными участниками процесса, который описывается в use-cases. Это могут быть пользователи, клиенты, поставщики или любые другие люди или системы, взаимодействующие в рамках определенной функциональности.
  2. Описание шагов. Важно описать каждый шаг процесса в деталях, начиная с начального состояния, процесса выполнения действий и заканчивая конечным состоянием.
  3. Необходимо определить предусловия и постусловия. Предусловия — это условия, которые должны быть выполнены перед началом процесса, а постусловия — это результаты, которые должны быть достигнуты по завершении процесса. Оба этих аспекта важны для правильного понимания процесса.
  4. Включение альтернативных сценариев. Use-case не всегда будет выполняться в идеальных условиях, поэтому необходимо включать альтернативные сценарии, которые могут возникнуть в процессе выполнения.
  5. Определение завершения процесса. Важно ясно определить, как процесс завершается. Это может быть достижение определенной цели, получение определенного результата или ошибка, которая приводит к неудачному завершению процесса.

Обратите внимание, что эти моменты могут варьироваться в зависимости от конкретного проекта и специфики бизнес-процессов.

Вместо итого о use-cases

Один из важных аспектов использования use-cases заключается в том, чтобы не только определить функциональные требования. Но и убедиться, что все заинтересованные стороны (заказчики, разработчики, тестировщики и т.д.) имеют единое понимание того, что должно быть реализовано. Для этого нужно чтобы все описания юз-кейсов ясны и понятны, а также документировать любые изменения, которые могут произойти в процессе разработки.

Еще одним важным аспектом use-cases является то, что они могут помочь выявить неочевидные требования. При написании юз-кейсов необходимо детально рассмотреть каждый аспект процесса и выделить все возможные условия, которые могут повлиять на работу системы. Это может помочь выявить те аспекты, которые могут быть пропущены при обычном анализе требований.

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

В целом, использование use-cases является важным инструментом для определения функциональных требований и установления единого понимания между всеми заинтересованными сторонами. Они могут помочь выявить неочевидные требования и упростить процесс тестирования. В конечном итоге это может сэкономить время и снизить риски в процессе разработки программного обеспечения.

I believe in QA, все о тестировании