- Определение
- Как писать
- Несколько советов
- Когда нужен тестовый сценарий
- Хороший сценарий
- Примеры
- Чем отличается сценарий от тест-кейса (таблица)
- Часто задаваемые вопросы о
Определение
Быстрое определение: последовательность шагов пользователя в приложении. Всякий вариант действий (возможность), который может быть протестирован, называется тестовым сценарием. Другие названия (менее распространенные, но тоже релевантные) — сценарий тестирования, тестовая возможность, тестовое условие.
Создавая тестовый сценарий, QA-инженер как бы «ставит себя на место пользователя»; в сценарии он описывает ситуации, возникающие в приложении.
Тестовый сценарий обычно представляет собой список тест-кейсов сквозного функционального тестирования приложения. Фактически это классификация проверяемых требований высокого уровня, которые разбиваются на категории по функциональности и строятся на юз-кейсах (что является хорошей практикой).
В одном сценарии может быть много тест-кейсов, поэтому тестировщик должен перед сдачей тестового сценария проверить все тест-кейсы по отдельности. Также в процессе лучше советоваться с пользователями, стейкхолдерами и разумеется разработчиками.
Итак, тестовые сценарии — это высокоуровневые документы, описывающие реалистичные варианты действий пользователя в приложении. Сценарии могут быть как позитивными, так и негативными.
Как писать тестовый сценарий
- Ознакомиться с требованиями в проекте, то есть со документами (спецификациями) системных требований (System Requirement Specifications, SRS), бизнес-требований (BRS), и функциональных требований (FRS). Изучить юз-кейсы приложения, мануалы и другие дополнительные материалы.
- По каждому требованию уточнить технические аспекты.
- Понять основные варианты взаимодействия пользователя с приложением.
- Определить возможные сценарии некорректного использования (и в частности злонамеренного)
- После ознакомления с требованиями подготовить список тест-кейсов проверки каждой функции приложения
- После определения базовых тестовых сценариев подготовить матрицу трассировки требований, где будут сопоставлены требования с тестовыми сценариями.
- Сценарии подаются на согласование руководителю проекта / тест-менеджеру / лиду и стейкхолдерам.
Несколько советов
- Иметь под рукой список часто используемых функций и модулей
- В сценариях проверять модули по одному, поддерживая порядок и не забывая о второстепенных модулях
- Сценарии лучше делать «на уровне модуля»
- Стараться не удалять готовые сценарии, чтобы потом не писать с нуля
- Писать сценарии простым понятным языком (а ещё лучше Simple English)
- Лаконичность — каждый сценарий лучше уложить в одну-две строчки (не абзацев)
Почему нужен тестовый сценарий
- Качественные тестовые сценарии дают полное тестовое покрытие
- Сквозная проверка функциональности функций и всего приложения
- Проверка важных транзакций/взаимодействий
- Проверка приложения на всех уровнях всеми привлеченными сторонами
Когда тестовый сценарий не нужен
- В Agile-методологиях типа Scrum тестовые сценарии могут редко применяться
- Когда приложение нестабильное; чрезвычайно сложное; или не хватает времени
- Когда сценарии будут в чем-то мешать, например, регрессионному тестированию
Характеристики хорошего сценария
- В идеале, это «указания тестировщикам, что сделать, одной строчкой»
- Упрощает и ускоряет тестирование, устраняет «дублирование действий»
- Создается в результате обдумывания шагов тестирования, их обсуждения, и затем записывается
- Это серия четких последовательных действий/процедур
- Если не хватает времени на написание многих тест-кейсов, команда выбирает вариант «один большой тестовый сценарий»
- Хороший тестовый сценарий легко модифицировать
Примеры
Для простоты иллюстрации — приложение Gmail, создание последовательности действий для самых используемых модулей: Входа (Inbox), Создания письма (Compose), и Входящих (Inbox)
Compose-модуль
- Введение корректных имени/пароля, далее проверка отображения главной страницы
- Некорректные имя/пароль, проверка отображения главной страницы
- Проверка сообщения об ошибке после введения пустого имени/пароля
- Проверка сброса полей после ввода валидного имени и последующего нажатия кнопки Отмены
- Проверка блокировки аккаунта (или предупреждения на резервную почту) после ввода трех некорректных значений подряд
- Проверка отображения полного имени пользователя на главной странице после ввода валидного имени
Login-модуль
- Проверка возможности доступа к полям To, Cc, Bcc для всех пользователей
- Проверка создания письма, отправки, и получения подтверждения
- Создание, отправка и сохранение в Отправленных
- Проверка обработки невалидных email-адресов
- Проверка автоматического сохранения в Черновиках после создания письма и отмены отправки
- Проверка ручного сохранения Черновика и подтверждения
Inbox-модуль
- Все полученные письма отображены, и выделены жирным шрифтом как непрочитанные
- Правильное отображение ID письма отправителя (Sender ID) последних писем
- Выбор (Select) письма > Ответ (Reply) > Пересылка (Forward); проверка его сохранения в Отправленных и наличия во Входящих у получателя
- Проверка получения и загрузки прикрепленных документов
- Проверка приклеплений на вирусы
- Выбор письма > Ответ > Пересылка > Сохранение как Черновика > Проверка его наличия в Черновиках
- Проверка, что все прочитанные входящие письма не выделены как непрочитанные
- Все Сс-получатели видимы всем пользователям
- Все Bcc-получатели скрыты
- Выбор письма > Удаление > проверка наличия в Корзине
Чем отличается сценарий тестирования и тест-кейс
Тест-кейс | Сценарий тестирования |
---|---|
Четко прописанные этапы тестирования приложения/сайта | Документация высокого уровня, описывающая end-to-end-функциональность, которая будет протестирована |
Сосредоточен на том, «что тестировать» и «как тестировать» | «Что тестировать» |
Прописанные этапы, условия начала, ожидаемые результаты; нет неопределенности | Может быть некоторая неопределенность в сценарии из-за его краткости и ориентированности на человека |
Тест-кейсы могут иметь источником тестовые сценарии; один сценарий может «порождать» множество тест-кейсов | Основывается на use-кейсах |
Полезен при тщательном тестировании приложения/сайта | Полезен для быстрого тестирования E2E-функциональности приложения/сайта |
Требуется довольно много времени и усилий на создание и выполнение | Сравнительно мало усилий на создание и выполнение |
FAQ (ЧаВо)
Что входит в тестовый сценарий?
Компоненты сценария: начальные условия, входные данные, пользовательские ожидаемые действия, и результаты которые должны быть. Сценарии группируются по use-кейсам, на основе которых созданы.
Может ли быть создан автоматически?
Да, может быть или полностью ручным и рассчитанным на выполнение тестировщиком-мануальщиком; или созданным инструментом автоматизации, полностью или частично.
В чем разница между тестовым сценарием, тест кейсом, тест-сьютом?
Тестовый сценарий — последовательность тестовых действий, которая может делиться на отдельные тест-кейсы.
Тест-сьют (тестовый набор) — совокупность тест-кейсов, сгруппированных по какому-то признаку (обычно функциональности).
Кто пишет сценарии тестирования?
Кроме тестировщиков, сценарии тестирования могут писать бизнес-аналитики.
Какие бывают сценарии тестирования?
Самых разных видов, как функционального, так и нефункционального — сценарии приемочного, нагрузочного, дымового, и т.п.
Зачем вообще нужны эти сценарии? Не проще все автоматизировать на 100%?
Это удобнее и human-friendly.
Чем отличается тестовый сценарий от чек-листа?
В чек-листе описывается список вещей, которые будут протестированы; в сценарии — этапы (шаги) и действия.
Что такое негативный тестовый сценарий?
Сценарий с негативными ситуациями/сбоями/отклонениями от так называемого «happy path», то есть беспроблемного использования, и происходит нечто непредусмотренное/ошибочное, когда система не выдает положенный результат.
***
Совсем немного о системном тестировании
Тестовый артефакт =+ документация
Все об SQL в QA