Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Зачем нужны use case?

Тестирование Время чтения статьи ~4 минуты
Зачем нужны use case? главное изображение

Существует ряд методик для проверки соответствия готового приложения ожиданиям пользователей. Use case — одна из них. Ее часто используют в разработке для проверки того, как пользователи взаимодействуют с системой для достижения конкретной цели. В чём преимущества этой методики и как правильно составить use case? Давайте разберемся!

Автотестирование на JavaScript c нуля

Попробуйте себя с 5 бесплатных уроков

Что такое use case?

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

Часто use case представляют в виде диаграммы. Она лучше всего помогает составить общую картину со всеми участниками процесса, всеми вариантами использования приложения и иногда даже системами, отвечающими за работоспособность сервиса.

Use case диаграмма

Преимущества и ограничения методики use case

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

Основные элементы use case

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

Познакомьтесь с тестированием бесплатно

Начать с 5 бесплатных уроков

Как составить эффективный use case

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

Как улучшить навыки написания use case

  • Чаще описывайте рутины из обычной жизни — от заваривания чая до приготовления плова. Так вы научитесь раскладывать любой процесс на этапы и начнете уделять внимание мелким деталям.
  • Не усложняйте и формулируйте мысли просто, коротко и понятно для коллег.
  • Развивайте насмотренность и изучайте как можно больше чужих use case.
  • Пишите use case по продуктам с аналогичной функциональностью, чтобы самостоятельно проделать путь пользователя и обратить внимание на особенности проекта.

Технику use case важно уметь использовать специалистам разного уровня. Она помогает понять, как должен работать продукт и что нужно пользователю. На курсе «JS: предметно-ориентированное проектирование» вы погрузитесь в изучение методики use case и обязательно разработаете свои на основе данных реальных проектов.

Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря