В процессе разработки ПО создается спецификация — документ, который детально описывает работу системы или продукта. Она включает различные типы требований: бизнес-цели, ожидания пользователей, функциональные характеристики программного обеспечения, особенности интерфейсов и требования к операционной системе. Одним из компонентов такого документа является сценарий использования (Use Case), который демонстрирует, как пользователи взаимодействуют с системой в конкретных ситуациях.
В статье разберемся, что такое Use Case, из каких элементов состоит, как написать сценарии использования и не допустить ошибок.
ЧТО ТАКОЕ USE CASE И ЗАЧЕМ НУЖЕН?
Use Case (вариант использования, ВИ, Прецедент) — это сценарная техника описания взаимодействия. С его помощью может быть описано и пользовательское требование, и требование к взаимодействию систем, и описание взаимодействия людей и компаний в реальной жизни.
Зачем нужны варианты использования:
-
Составить общее представление о продукте.
Позволяют получить целостное видение того, как система будет функционировать и какие задачи будет решать. Они помогают всем участникам проекта (от аналитика до разработчика) понять, как продукт будет использоваться на практике и какие основные функции должны быть реализованы.
-
Показать разработчикам что система должна сделать (именно что, а не как).
Дают четкое описание функциональных требований, фокусируясь на том, какие задачи система должна выполнять, без указания конкретных методов их реализации.
-
Сэкономить время тестировщика на проработку тест-кейсов.
Тестировщики могут быстро создать соответствующие тестовые сценарии, опираясь на уже сформулированные Use Case, что значительно сокращает время на подготовку и позволяет быстрее приступить к тестированию системы.
-
Использовать как скелет для описания технического сценария.
Сценарии использования задают общие рамки, в которые потом можно встраивать более подробные технические детали.
КАК ГРАФИЧЕСКИ ОТОБРАЗИТЬ USE CASE
Графическое отображение Use Case можно выполнить с помощью диаграммы Use Case. Это распространенный способ визуализации функциональных требований системы. Диаграмма Use Case состоит из двух основных элементов: участник (actor) и прецедент (вариант).
На схеме участник изображается «человечком»; прецедент — в виде эллипса, внутри которого указано его название; а стрелки показывают объединение и декомпозицию вариантов использования.
КАК ОПИСАТЬ USE CASE С ПОМОЩЬЮ ТЕКСТА
Для текстовых Use Case обычно применяются стандартные шаблоны, которые можно изменять в зависимости от нужд проекта. В одних случаях используют очень подробные шаблоны пользовательских сценариев, в других — сокращают до минимума. Но есть обязательные поля, которые важно заполнять в любом Use Case.
Название поля | Что содержит |
Заголовок |
Название варианта использования. |
Участники варианта использования |
Основное действующее лицо (actor) и все дополнительные участники. |
Предусловия |
В каком состоянии должен находиться каждый участник Use Case, чтобы ситуация произошла. Например, вариант использования: заказать такси в приложении.Обязательное предусловие: пользователь должен быть авторизован. |
Триггер | Что провоцирует выполнение этого сценария. Например, пользователь попал на страницу сайта для заказа такси через баннер. |
Результат или гарантии успеха |
Что будет результатом успешного выполнения сценария. Например, пользователь заказывает такси в приложении, а гарантией успеха будет начавшаяся поездка. |
Описание (основной сценарий) |
Что должно произойти, чтобы пользователь пришёл от триггера к результату. Например: 1. Пользователь вводит начальную и конечную точку маршрута. 2. Система подбирает доступную машину в радиусе 1 км. 3. Пользователь получает оповещение о времени прибытия машины. |
Расширения (альтернативный сценарий) |
Строится из основного сценария. К каждому пункту основного сценария нужно задать вопрос «А что если?». Если альтернативный сценарий использования возможен, описать его по шагам как основной. Например: 3.1. Пользователь получает оповещение о том, что в радиусе 1 км нет доступных машин. 3.2. Система предлагает повысить класс обслуживания, чтобы расширить радиус поиска. |
ОШИБКИ, КОТОРЫЕ ДОПУСКАЮТ АНАЛИТИКИ ПРИ НАПИСАНИИ USE CASE, И КАК ИХ ИЗБЕЖАТЬ
При написании Use Case аналитики могут допустить ряд ошибок. Ниже мы поговорим о наиболее распространенных из них, а также о том, как их исправить, чтобы создавать более полные, понятные и точные сценарии.
Ошибка №1 — Отсутствие системы
Плохо |
Хорошо |
Основной сценарий: 1. Клиент вводит карточку и PIN. 2. Клиент вводит «снять деньги» и количество. 3. Клиент забирает карточку, наличные и квитанцию. 4. Клиент уходит. |
Основной сценарий: 1. Клиент пропускает карточку для банкомата через считывающее устройство. 2. Банкомат считывает с карточки ID банка номер счета, зашифрованный PIN, подтверждает ID банка и номер счета с помощью главной банковской системы. 3. Клиент вводит PIN. Банкомат сверяет его с зашифрованным PIN, считанным с карточки. 4. Клиент выбирает «быстрое снятие наличности» и указывает сумму в купюрах по 500 руб. 5. Банкомат уведомляет главную банковскую систему о номере счета клиента, и получает в ответ подтверждение и новый баланс. 6. Банкомат выдает деньги, карточку и квитанцию, показывающую новый баланс. 7. Банкомат регистрирует транзакцию. |
Ошибка №2 — Отсутствие основного действующего лица
Плохо |
Хорошо |
Основной сценарий: 1. Получает карточку для банкомата, PIN. 2. Получает в качестве типа транзакции «снять наличные». 3. Получает требуемую сумму. 4. Удостоверяется, что на счете достаточно денег. 5. Выдает, деньги, квитанцию, карточку. 6. Возвращается в исходное состояние. |
Исправление: указать каждое действующее лицо и действие. Исправленный вариант — тот же, что и в предыдущем кейсе. |
Ошибка №3 — Слишком много деталей интерфейса пользователя
Плохо |
Хорошо |
Основной сценарий: 1. Система устанавливает экран для ввода ID и пароля. 2. Клиент вводит ID и пароль, щелкает по кнопке «ОК». 3. Система подтверждает ID и пароль, отображает персональные данные. 4. Клиент вводит имя и фамилию, номер дома, название улицы, города, области, почтовый индекс, номер телефона и щелкает по кнопке «ОК». 5. И т.д. |
Исправление: отказываемся от детализации Основной сценарий: 1. Клиент регистрируется в системе с помощью ID и пароля. 2. Система подтверждает ID и пароль пользователя. 3. Клиент вводит адрес, имя, номер телефона. 4. Система подтверждает, что пользователь ей известен. 5. Клиент указывает товар и его количество. 6. И т.д. |
Ошибка №4 — Низкие уровни целей
Плохо |
Хорошо |
Основной сценарий: 1. Пользователь регистрируется в системе с помощью ID и пароля. 2. Система подтверждает ID и пароль. 3. Пользователь вводит имя. 4. Пользователь вводит адрес. 5. Пользователь вводит номер телефона. 6. Пользователь указывает товар. 7. Пользователь указывает количество товара. 8. Система подтверждает, что пользователь ей известен. 9. И т.д. |
Исправление: объединяем шаги. Основной сценарий: 1. Пользователь регистрируется в системе с помощью ID и пароля. 2. Система подтверждает ID и пароль пользователя. 3. Пользователь вводит персональные данные (имя, адрес, номер телефона), указывает товар и количество. 4. Система подтверждает, что пользователь ей известен. 5. Система удостоверяется при помощи системы управления складами, что на складе есть достаточное количество товара. 6. И т.д. |
Ошибки №5-10
Помимо вышеупомянутых на практике встречается еще несколько ошибок, который допускают аналитики при составлении Use Case:
ИТОГО
Use Case является эффективным инструментом для документирования функциональных требований системы через сценарии использования. Он позволяет структурировано и понятно описывать взаимодействие пользователей с системой. При его составлении необходимо уделять внимание точности в описании участников и детальной проработке сценариев использования, чтобы избежать ошибок и обеспечить ясность и полноту требований.
статьи по теме
-
ЧитатьОткрыта регистрация на митап по тестированию в Ульяновске: MediaSoft QA Weekend05.03.2025
-
ЧитатьПолезные материалы для тестировщиков: каналы, ресурсы и книги17.02.2025
-
ЧитатьПолезные материалы для автотестировщиков: тренажеры, ресурсы, YouTube-каналы17.01.2025
-
ЧитатьИспользование снифферов трафика в тестировании на примере Charles Proxy04.04.2024
-
ЧитатьБрокеры сообщений — что это, из чего состоят, плюсы и минусы: сравниваем Apache Kafka, Redis и RabbitMQ02.08.2023
-
ЧитатьЧто такое нефункциональное ручное тестирование и какие инструменты использоватьСтатья на tproger.ru22.06.2023