Программирование • 14 августа 2023 • 5 мин чтения

Сценаристика в тестировании: что такое тестовый сценарий и зачем он нужен

В работе тестировщики опираются на инструкции, чтобы проверять то, что нужно. Одна из таких инструкций — тестовый сценарий, причём пишут его сами инженеры по тестированию.

Что такое тестовый сценарий

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

Проходясь по тестовому сценарию, специалист последовательно выполняет эти пункты и смотрит, соответствует ли реальный результат ожидаемому. Если результат не тот или какой-то пункт выполнить невозможно — он составляет об этом отчёт.

Обычно тестовый сценарий описывает проверку одной конкретной функции: регистрации пользователя, заказа товара, загрузки фотографии. Хотя иногда бывают и более комплексные, позволяющие проверить работу нескольких функций в связке.

В тестировании есть похожий инструмент — тест-кейс. Разница с тестовым сценарием в том, что он проверяет одну конкретную функцию, содержит гораздо более подробные инструкции: куда именно нажать, какие данные ввести, иногда даже — как конкретно перемещать курсор. Это часто позволяет обнаружить локальные ошибки.

А тестовый сценарий описывает несколько функций и позволяет сымитировать последовательность действий пользователя. С его помощью можно проверить функциональность в целом и обнаружить ошибки, влияющие на всю работу приложения.

Часто тестовый сценарий включает в себя несколько последовательных тест-кейсов

Кто и зачем пишет сценарии тестирования

Сценарии пишут сами тестировщики. Обычно это не новички, а более опытные члены команды тестирования, которые уже погружены в специфику продукта.

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

Сценарии тестирования пишут с несколькими целями:

● Пошаговый план позволяет точно проверить всё, что нужно, и ничего не упустить.
● В сценарии четко прописаны ожидаемые результаты — их не нужно предполагать и выдумывать.
● С помощью тестового сценария продукт может проверить даже тестировщик, который пока с ним слабо знаком и не знает, что конкретно нужно делать и проверять.
● Сценарий позволяет всегда проверять функцию одинаково. Часто повторные проверки нужны после обновлений, и прохождение по тому же самому сценарию позволяет быстро обнаружить, что сломалось после внесения изменений в код.
● По тестовому сценарию можно написать программу для автоматизированного тестирования.

На курсе по тестированию «С нуля до автоматизатора» студенты учатся писать подробные тестовые сценарии и грамотно их выполнять, фиксируя найденные ошибки. А также создавать автоматизированные алгоритмы для прохождения сценариев.

Преимущества тестовых сценариев

У тестовых сценариев есть несколько преимуществ перед хаотичным тестированием:

Системность
Подробное описание позволяет обнаружить гораздо больше ошибок и недоработок, поскольку есть чёткий план проверки на каждую нужную функцию или пользовательский сценарий.

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

✅ Повышение скорости работы
Когда сценарий уже готов, пройтись по нему и провести проверку гораздо проще, чем разбираться с нуля.

Автоматизация
По сценарию можно написать автоматический скрипт, если в компании принято использовать автотесты.

Удобство работы с большими командами
По стандартному тестовому сценарию проверку может провести кто угодно — даже недавно нанятый тестировщик. Его не придётся глубоко погружать в контекст, чтобы он мог выполнить работу.

В очень упрощённом виде процесс работы с кодом при наличии тестовых сценариев выглядит так. Сценарий нужно написать только один раз и потом проверять по нему функцию после внесения обновлений

Создание тестовых сценариев

Разработка тестового сценария происходит в пять этапов:

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

2. Определение цели. Нужно определить, что именно будет проверяться этим тестовым сценарием. Целью может быть как проверка функциональности, так и поиск конкретных ошибок.

3. Описание шагов. Написание непосредственно сценария — последовательности шагов, которые нужно выполнить, чтобы протестировать конкретный аспект программного продукта. Шаги должны быть ясными, понятными и охватывать все необходимые действия для достижения цели сценария.

4. Описание ожидаемых результатов. Для каждого шага необходимо прописать конкретные результаты, к которым он должен привести.

5. Документирование. Формирование из последовательности действий документа формата, принятого в компании.

Советы по написанию сценариев

Чтобы понять, как писать тестовые сценарии, важно учитывать несколько рекомендаций:

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

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

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

Чётко прописать ожидаемые результаты. Что именно программа должна выдать, чтобы тестировщик понял, что она работает правильно.

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

Обновлять и поддерживать сценарии. Не забывать вносить в них изменения после обновления функциональности или интерфейса.

Примеры тестовых сценариев

Вот несколько примеров тестовых сценариев для проверки разных функций ПО.
Регистрация нового пользователя

Шаг 1: Открыть веб-приложение.
- Открыть веб-браузер.
- Ввести URL адрес веб-приложения.
- Нажать Enter.

Шаг 2: Перейти на страницу регистрации.
- Найти и нажать на кнопку «Регистрация».
- Дождаться загрузки страницы.

Шаг 3: Ввести данные для регистрации.
- Ввести уникальное имя пользователя в поле «Имя пользователя».
- Ввести пароль в поле «Пароль».
- Повторно ввести пароль для подтверждения в поле «Повторите пароль».
- Ввести адрес электронной почты в поле «Email».
- Нажать на кнопку «Зарегистрироваться».

Шаг 4: Проверить результат регистрации.
- Дождаться загрузки страницы с подтверждением регистрации.
- Проверить, что на странице отображается сообщение «Регистрация успешно завершена».
- Проверить, что новый пользователь появился в списке зарегистрированных пользователей в базе данных.

Шаг 5: Выйти из приложения.
- Найти и нажать на кнопку «Выход».
- Дождаться завершения выхода из приложения.

Покупка товара

1. Запустить приложение онлайн-магазина.
2. Проверить наличие поля поиска на главной странице.
3. Ввести название несуществующего товара в поле поиска.
4. Проверить, что система отображает сообщение об отсутствии результатов поиска.
5. Ввести название существующего товара в поле поиска.
6. Проверить, что система отображает результаты поиска с найденными товарами.
7. Выбрать один из найденных товаров.
8. Проверить, что система отображает подробную информацию о выбранном товаре.
9. Нажать кнопку «Добавить в корзину».
10. Проверить, что выбранный товар успешно добавлен в корзину.
11. Перейти в корзину, нажав на иконку корзины в верхнем меню.
12. Проверить, что система отображает содержимое корзины с выбранным товаром.
13. Нажать кнопку «Оформить заказ» в корзине.
14. Проверить, что система перенаправляет на страницу оформления заказа.
15. Заполнить форму с контактной информацией и адресом доставки.
16. Выбрать способ оплаты.
17. Нажать кнопку «Подтвердить заказ».
18. Проверить, что система обрабатывает заказ и отображает страницу подтверждения заказа с его уникальным номером.
19. Проверить, что информация о заказе на странице подтверждения соответствует ожидаемым данным.
20. Завершить покупку и выйти из приложения.

Подобные сценарии могут быть автоматизированы с помощью инструментов вроде Selenium, Appium или других.

Совет эксперта

Василий Беляков
Тестовые сценарии, как и тест-кейсы, почти всегда вносят изменения в продукт при их прохождении. Важно привести систему после работы с ней в исходное состояние — и это тоже нужно описывать в тестовых сценариях. К примеру, после регистрации нового пользователя стоит разлогиниваться, а ещё лучше — удалять эту сущность, чтобы не засорять базы данных ненужными данными.
Статью подготовили:
Василий Беляков
Яндекс Практикум
Наставник, инженер по обеспечению качества
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Идеи новогодних подарков от нейросети + промокоды на курсы Практикума и акции от партнеров
Wed Jul 31 2024 23:34:52 GMT+0300 (Moscow Standard Time)