Тестирование на основе юзкейсов (от англ. use case, переводится как сценарий использования) – это разновидность тестирования “черного ящика”. Оно позволяет определить тест-кейсы, охватывающие всю систему от начала до конца.
Собственно use case – это описание того, как конечный пользователь будет взаимодействовать с системой. Юзкейсы широко используются при разработке тестов на системном или приемочном уровнях.
Юзкейсы пишутся еще до начала фазы разработки. Команда тестирования может использовать их для создания тест-кейсов. А получившиеся тест-кейсы могут быть использованы для системного, регрессионного, приемочного и других видов тестирования. Помимо проверки отдельных компонентов ПО, тестирование на основе юзкейсов способствует выявлению пробелов в программах.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание
- Что такое use case?
- Как написать use case?
- Пример use case
- Кто пишет юзкейсы?
- Методы создания юзкейсов
- Различия между use case и test case
- Что собой представляет тестирование на основе юзкейсов?
- Контрольный список для тестирования по юзкейсам
- Предусловия для создания тест-плана на основе юзкейсов
- Кто выполняет тестирование по юзкейсам?
- Как выполнять тестирование по use case?
- Лучшие практики тестирования по юзкейсам
- Заключение
- Часто задаваемые вопросы (FAQs)
Что такое use case?
Юзкейс – это наглядное представление того, как пользователь взаимодействует с системой или продуктом. При его создании мы ориентируемся на пользователя, а не на систему. В юзкейсе описываются позитивные и негативные сценарии, а также любые критические вариации или исключения, которые должны быть обработаны. Юзкейс может быть написан в виде документа или представлен наглядно.
Use case служит следующим целям:
- Помогает установить требования к проекту
- Изображает различные способы взаимодействия пользователя с системой
- Визуализирует архитектуру системы
- Помогает оценить потенциальные риски и системные зависимости
- Позволяет легко донести сложные технические требования до соответствующих заинтересованных сторон (стейкхолдеров)
Менеджеры проектов должны знать все необходимые подробности, касающиеся сценариев использования ПО, чтобы оперативно коммуницировать со стейкхолдерами и соединять бизнес-требования с техническими.
Допустим, вы являетесь руководителем проекта, связанного с электронной коммерцией. Ваша компания хочет внедрить модель, основанную на подписке для премиальных клиентов, которые смогут получать больше скидок и кэшбэк при совершении покупок в Интернете.
Создание юзкейса поможет заинтересованным сторонам и проектной команде лучше понять, как пользователи будут взаимодействовать с продуктом, а также оценить недостатки и преимущества проекта.
Как написать use case?
В зависимости от целевой аудитории юзкейсы могут отличаться. Но все они должны включать следующие компоненты:
- Краткое описание. Оно поясняет общую суть юзкейса.
- Предварительные условия. Это действия, которые пользователь должен выполнить до начала выполнения юзкейса.
- Система. Здесь указывается продукт, сервис или программное обеспечение, которые будут использованы в тесте.
- Действующие лица. Действующее лицо (или актор) – это пользователь, который взаимодействует с системой и демонстрирует определенное поведение. Это также может быть другая система или целая организация. В юзкейсе могут быть указаны первичные и вторичные акторы. Первичный может инициировать взаимодействие с системой, а вторичный – предоставлять системе необходимые сервисы.
- Основной поток или основной сценарий. Это конкретная последовательность действий и взаимодействий между действующими лицами и системой. Это типичный рабочий процесс, в ходе которого действующее лицо получает ожидаемый результат.
- Альтернативный поток. Помимо типичного рабочего процесса, система может иметь альтернативный сценарий взаимодействия.
- Поток исключений. Поток, который не позволяет пользователю достичь желаемого результата.
- Пост-условия. Это действия, которые должны быть выполнены по завершению юзкейса.
Пример use case
Теперь, когда мы разобрались в основах, давайте создадим юзкейс для реального проекта.
В качестве примера возьмем веб-приложение для доставки еды. Приложение может использоваться для размещения и отслеживания заказов, обработки платежей и связи с рестораном, который доставляет заказ.
Вот возможный вариант юзкейса для описанного приложения:
- Описание юзкейса. Пользователь может заказать еду через Интернет.
- Система. Веб-приложение для доставки еды.
- Предварительные условия. Пользователь должен получить доступ к системе в режиме онлайн с действительными учетными данными.
- Первичный актор. Клиент, заказывающий еду через Интернет и производящий оплату.
- Основной поток или основной сценарий. Клиент может изучить меню ресторанов и сделать заказ, исходя из удобства и предпочтений в еде.
- Пост-условие. Система отправляет уведомление о деталях заказа с указанием произведенных платежей.
Кто пишет юзкейсы?
Клиент или заказчик предоставляет спецификацию требований к продукту. Команда разработчиков может написать возможные юзкейсы в соответствии с предоставленной спецификацией. Также возможен вариант, когда для написания юзкейсов проводятся специальные совещания.
Все заинтересованные стороны проекта могут принять участие в совещании, на котором проводится утверждение целей и задач продукта. После того как юзкейсы написаны и доработаны, они передаются заказчику для ознакомления.
Методы создания юзкейсов
Существует множество стандартных способов, которые помогут вам определить возможные сценарии использования продукта. Рекомендуется привлекать заказчиков на каждом этапе, чтобы можно было четко определить все необходимые требования к системе.
Среди методов, используемых командами разработчиков по всему миру, можно назвать следующие:
- Проведение интервью с пользователями, чтобы понять их поведение и ожидания.
- Анализ отзывов и замечаний пользователей, чтобы в перспективе выявить те области, которые не учтены или нуждаются в улучшении.
- Проведение консультаций с экспертами в предметной области или специалистами по бизнес-процессам.
- Организация совещаний с клиентами для проведения “мозгового штурма” и идентификации всех возможных юзкейсов. В семинаре могут участвовать продакт менеджеры, владельцы продуктов, разработчики, тестировщики, бизнес-аналитики и заказчики.
Различия между юзкейсами и тест-кейсами
Давайте попробуем понять разницу между юзкейсом и тест-кейсом:
Юзкейс | Тест-кейс |
---|---|
Представляет собой наглядное изображение последовательности действий, выполняемых субъектом, взаимодействующим с системой, для достижения поставленных целей и задач. | Это стандартный документ, содержащий различные элементы тестирования, шаги воспроизведения, ожидаемые результаты и т.д. |
Создается для понимания взаимодействия конечного пользователя с системой в целом. | Создается для валидации требований к системе. |
Основан на спецификациях системных требований. | Основан на юзкейсах. |
Ориентирован на конечного пользователя. | Ориентирован на получение результатов тестирования. |
Дает четкое представление о функциональных требованиях и закладывает прочный фундамент, на который могут опираться команды тестирования. | Помогает команде тестирования обеспечивать качество продукта. Этот документ можно использовать повторно и в будущем. |
Что собой представляет тестирование на основе юзкейсов
Тестирование на основе юзкейса – это разновидность методики тестирования “черного ящика”, которая позволяет создавать тест-кейсы. Используется для функционального тестирования с целью выявления дефектов в разрабатываемой системе.
Оно важно для выявления недостатков, связанных с программным приложением, которые могли быть упущены при модульном тестировании. С помощью тестирования юзкейсов можно определить качество программного обеспечения при выполнении сквозного тестирования.
Ниже приведены некоторые характеристики тестирования на основе юзкейсов:
- Помогает организовать и структурировать функциональные требования.
- Описывает основной и альтернативный потоки событий.
- Идентифицирует цели и требования к поведению различных действующих лиц.
- Помогает лучше понять систему.
Преимущества тестирования на основе юзкейсов
В этом разделе мы рассмотрим некоторые преимущества тестирования Use case:
- Оно помогает установить требования к системе с максимальной точностью и ясностью.
- Оно отображает последовательность шагов, описывающих взаимодействие реальных пользователей с системой.
- Оно позволяет команде тестирования мыслить как пользователь, что позволяет легче выявить любые проблемы, связанные с юзабилити.
- В юзкейсах подробно описываются предусловия, постусловия, бизнес-правила, исключения и т.д., что помогает команде тестирования легко разработать необходимые тест-кейсы.
Недостатки тестирования на основе юзкейсов
Тестирование на основе юзкейсов имеет и отрицательные стороны.
Во-первых, юзкейсы охватывают только функциональные требования, исключая нефункциональное тестирование, что может стать серьезной проблемой в долгосрочной перспективе.
Во-вторых, юзкейсы пишутся с точки зрения пользователя. В системе могут быть сценарии, которые не поддерживаются с точки зрения конечного пользователя и могут быть упущены в документации. Таким образом, покрытие тестами некоторых функций или модулей не будет стопроцентным.
Чеклист для тестирования на основе юзкесов
Специалистам, занимающимся тестированием ПО, важно знать, как проводить тестирование на основе юзкейсов, чтобы достичь желаемых результатов.
Для выполнения тестирования на основе юзкейсов можно следовать приведенному ниже контрольному списку.
- Определите юзкейсы. Первый шаг начинается с определения необходимых юзкейсов. Они могут быть определены командами тестирования и продакт-менеджерами, после чего окончательный список юзкейсов передается всем заинтересованным сторонам проекта.
- Подберите тест-кейсы для каждого юзкейса. После завершения работы над юзкейсами команда тестирования может выбрать один или несколько тест-кейсов, относящихся к каждому сценарию.
- Определите условия выполнения для каждого тест-кейса. Определяются необходимые условия для выполнения заданных сценариев. Это делается для всех тест-кейсов, выбранных на предыдущем этапе.
Эти шаги помогут вам выполнить тестирование на основе юзкейсов для отдельного модуля или продукта.
Предусловия для создания тест-плана на основе юзкейсов
Вот некоторые предварительные условия, которые могут помочь вам создать отличный план тестирования по юзкейсам:
- Полное и глубокое понимание функциональности системы.
- Оценка сопутствующих рисков и зависимостей на начальных этапах проекта с целью их устранения в случае необходимости.
- Составление правильного плана коммуникаций и заблаговременное информирование о нем заинтересованных сторон.
- Своевременное и оперативное информирование об изменениях в требованиях.
- Привлечение всех ключевых заинтересованных сторон для заблаговременного сбора необходимых входных данных.
Организации должны уметь разрабатывать надежный и эффективный тест-план. Поэтому все чаще приходится тратить много времени и усилий на переосмысление стратегий тестирования на основе юзкейсов и продумывание путей решения вопросов, касающихся нефункциональных требований.
Кто выполняет тестирование по юзкйесам?
Тестирование по юзкейсам невозможно без совместных усилий различных команд проекта. Основная ответственность за это лежит на команде тестирования, которая использует тест-кейсы в качестве готового справочника.
Кроме того, тестировщики знают общую архитектуру системы, поэтому им легче валидировать требования. Разработчики и бизнес-аналитики также могут участвовать в тестировании по юзкейсам, поскольку им с самого начала известны требования к продукту.
После того как разработчики и бизнес-аналитики дадут добро, QA-команда может провести еще один раунд тестирования на основе тест-плана и тест-кейсов. Для обеспечения тестирования технически сложных процессов лучше проконсультироваться с разработчиками.
Также тестировщики могут тесно сотрудничать с владельцами продуктов или бизнес-аналитиками, помогая им разрабатывать сценарии тестирования высокого уровня или тест-кейсы для сквозного тестирования. Такой подход полезен, поскольку владельцы продуктов находятся ближе к конечным пользователям.
Как выполнять тестирование на основе use case?
Давайте рассмотрим на примере, как проводить тестирование по юзкейсам.
У нас есть стандартная функция входа в веб-приложение, которую необходимо протестировать.
Рассмотрим первый шаг сквозного сценария для функции входа в систему, где пользователь вводит электронную почту и пароль в качестве учетных данных для входа.
- Система проверяет пароль.
- Если пароль верен, пользователю предоставляется необходимый доступ.
Возможно расширение данного варианта использования:
- Если пароль недействителен, система выдает сообщение об ошибке и просит пользователя повторить попытку.
- Пользователю для ввода пароля дается четыре попытки. Если пользователь четыре раза введет неправильный пароль, учетная запись пользователя блокируется.
Когда мы говорим о тестировании по юзкейсам мобильных и веб-приложений, мы имеем дело с двумя стандартными подходами к тестированию: ручным и автоматизированным.
Ручное тестирование – это традиционный, надежный подход к проверке требований к системе, не слишком полагающийся на специализированные инструменты и фреймворки. Однако ручное тестирование требует большого количества технических взаимодействий с командами разработки и управления продуктами. Это может отнимать много времени и в конечном итоге сказывается на сроках сдачи продукта.
В настоящее время на смену ручному тестированию пришел более технологичный подход, известный как автоматизация тестирования. Для этого используются популярные фреймворки автоматизации, такие как Selenium, Cypress, Playwright, Puppeteer и др., которые позволяют достичь более качественных результатов за меньшее время.
Помимо вышеперечисленных фреймворков существуют также различные облачные платформы для автоматизации тестирования, например LambdaTest.
Лучшие практики тестирования на основе юзкейсов
Тестирование по юзкейсам – это наглядное представление всех возможных участников, их поведения и взаимодействия с системой. Этот вид тестирования закладывает прочный фундамент для определения функциональных требований.
Тестировщики и аналитики качества обращаются к результатам тестирования по юзкейсам, чтобы убедиться, что все требуемые функциональные возможности системы охвачены, а все пробелы устранены.
Для того, чтобы тестирование по юзкейсам приносило желаемые результаты, можно следовать некоторым лучшим практикам:
- Храните все тестовые активы, такие как тест-кейсы и результаты тестирования, централизованно в одном месте, чтобы все команды, работающие на проекте, могли легко получить к ним доступ.
- Четко определитесь с неймингом юзкейсов, чтобы командам было проще ссылаться на них в случае необходимости.
- Отслеживайте условия и метрики, используемые в юзкейсах, чтобы в перспективе внести необходимые изменения или улучшения. Это поможет пересмотреть и модернизировать стратегии и процессы тестирования.
Заключение
В данной статье мы разобрали, что собой представляет тестирование на основе use case, а также его достоинства и недостатки.
Тестирование по юзкейсам – это один из видов функционального тестирования методом “черного ящика”, который позволяет оценить систему с точки зрения пользователя. Хорошо продуманный юзкейс помогает оптимизировать процессы разработки и тестирования в долгосрочной перспективе.
Часто задаваемые вопросы (FAQs)
Что такое юзкейсы и тест-кейсы?
Юзкейсы основаны на требованиях и помогают оценить, как происходит взаимодействие между конечными пользователями и системой. В отличие от этого, тест-кейс — это документ, который используют тестировщики для проверки правильности работы той или иной функции.
Что является примером юзкейса?
Отдельный юзкейс часто представляет собой этапы в процессе работы программного обеспечения или платформы. Например, при покупке в онлайн-магазине юзкейсы могут включать шаги добавления товаров в корзину, выбора способа оплаты и доставки, оформления заказа.
Что такое use case в тестировании ПО?
В программном тестировании понятие “use case” относится к конкретному сценарию или взаимодействию конечного пользователя с системой. Юзкейсы помогают тестировщикам понять, как продукт работает в реальных ситуациях, и выявить потенциальные проблемы или ошибки. Юзкейсы необходимы для того, чтобы убедиться, что программное обеспечение соответствует требованиям пользователей и выполняет свои функции так, как задумано.
Что такое тестирование по юзкейсам?
Тестирование по юзкейсам – это метод, при котором программное обеспечение тестируется на основе типичных сценариев, с которыми сталкиваются пользователи. При этом проверяется, функционирует ли система так, как ожидается, и соответствует ли она требованиям. Это позволяет убедиться в том, что программное обеспечение удобно, надежно и соответствует реальным условиям использования.
Что такое use case в Agile?
В Agile под юзкейсом понимается описание конкретного взаимодействия или сценария, связанного с системой или программным приложением. В нем отражаются действия пользователя для достижения определенной цели. Юзкейсы помогают командам разработки и тестирования понять требования пользователей и обеспечить соответствие конечного продукта их потребностям.
Кто пишет юзкейсы при тестировании?
При тестировании программного обеспечения юзкейсы обычно пишутся бизнес-аналитиками, продакт-менеджерами или специалистами по контролю качества. Они совместно изучают требования пользователей и создают подробные сценарии использования, чтобы убедиться в том, что приложение функционирует в реальных рабочих условиях.
Каково основное преимущество тестирования по юзкейсам?
Основным преимуществом тестирования по юзкейсам является возможность проверки функциональности системы с точки зрения конечных пользователей. Такая проверка гарантирует, что ПО соответствует заявленным требованиям и работает так, как ожидается в реальных сценариях. Имитация взаимодействия с пользователем помогает выявить и устранить любые проблемы, связанные с юзабилити или функциональностью, на ранних этапах разработки.
Кто создает тест-кейсы для QA?
Тест-кейсы для QA обычно создаются самими инженерами QA или тестировщиками. Они анализируют требования, спецификации и пользовательские истории (User Story) для разработки тест-кейсов, охватывающих различные аспекты программного обеспечения. Они обеспечивают всестороннее покрытие тестами, чтобы выявить любые проблемы до выпуска программного обеспечения.
Перевод статьи «Use Case Testing Tutorial: Comprehensive Guide With Best Practices».