20 февраля 2021 4025
Александр Александров, гуру российского тестирования, говорит о качественных сценариях тест-дизайна и как улучшить несоответствующий. Эксперт делится примерами и рекомендациями.
Окей, гуру! Проектирование тестов: удобство чтения в сравнении с  удобством написания

Риски проектирования тестов для ручного и автоматизированного тестирования

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

С другой стороны, этот риск несоответствующего тест-дизайна является проблемой для тестирования в целом (вне рамок автоматизации тестирования). Качественный тест-дизайн может существенно упростить и ускорить процесс работы следующих специалистов:

  • Тестировщика (выполнение тестов вручную)
  • Инженера по автоматизации тестирования (разработка и выполнение скриптов)
  • Руководителя группы тестирования (анализ результатов ручного и автоматизированного тестирования)

Тест-дизайн и требования

Вспомним основы тест-дизайна.

Тестирование всегда проводится на основе требований.

Требования должны быть:

  • Полными
  • Непротиворечивыми
  • Однозначными
  • Отслеживаемыми
  • Тестируемыми
  • и т. д.

Для проверки всех требований необходимо как можно раньше начать проектирование тестов.

Требования обычно претерпевают изменения в процессе выполнения проекта. Эти изменения должны быть отражены в тест-дизайне и автоматизированных тестовых скриптах.

Тестирование на основе данных основано на отделении шагов тестирования от тестовых данных, что обеспечивает:

  • Увеличение объема тестовых данных (типичная активность автоматизации тестирования) без обновления тестового сценария
  • Уменьшение времени выполнения тестов за счет направленного выбора данных с использованием классов эквивалентности, граничных значений, попарного тестирования и т.д.

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

Любой тестовый сценарий имеет определенный формат и контент. Типичный  формат одинаков повсюду (см. Luxoft, RUP, Macroscope) и включает:

1)      Номер шага

2)      Действие

3)      Ожидаемый результат


Дьявол кроется в деталях :(

Главный вопрос: Соответствует ли контекст формату?

Рассмотрим типичный тестовый сценарий (Рис. 1).

Рис. 1. Типичный тестовый сценарий

Рис. 1. Типичный тестовый сценарий

Глядя на этот тестовый сценарий возникают следующие вопросы:

  • Что значат слова “few”, “any” и “for example”?
  • Как можно проверить цену?
  • Как можно проверить, что недоступность кнопки на шаге 5 - это не дефект?
  • Сколько раз необходимо повторять шаги 2-7 и как найти данные для этих повторений?

Обратите внимание, что эти вопросы возникают в рамках как ручного, так и автоматизированного тестирования.


Каким мы хотим видеть обновленный тестовый сценарий?

Мы можем модифицировать структуру тестового сценария следующим образом:

  • Номер шага (без изменений)
  • Действие (без изменений)
  • Входные данные (все, что пользователь может ввести /выбрать/нажать и т.д.)
  • Ожидаемый результат (все проверки при выполнении действия)

Так мы получаем улучшенный тестовый сценарий (Рис. 2):

Рис. 2. Улучшенный тестовый сценарий

Рис. 2. Улучшенный тестовый сценарий


Повторы и текстовые пояснения

Некоторые из указанных выше проблем уже решены, но мы идем дальше.

Необходимо избавиться от следующего:

  • Конструкций типа “Repeat steps from … to …”, которые могут вызвать недоумение при ручном тестировании и усложнить скрипт автоматизированного тестирования, а также затруднить их обновления (не забывайте об изменении требований);
  • Таких слов, как “corresponding”, “any”, “appropriate” и т.д. – см. Рисунок 3.
Рис. 3. Пример использования слова “corresponding” в тестовом сценарии

Рис. 3. Пример использования слова “corresponding” в тестовом сценарии


Почувствуйте разницу между действиями и ожидаемыми результатами

Далее необходимо разделить смесь действий и ожидаемых результатов (Рис. 4).

Рис. 4. Смесь действий и ожидаемых результатов

Рис. 4. Смесь действий и ожидаемых результатов

Правила следующие:

  • Все действия (например, шаг 12) заносятся в столбец “Действие”.
  • Все ожидаемые результаты (например, шаги 13 и 14) заносятся в столбец “Ожидаемый результат”.

Это позволяет сократить число шагов тестового сценария.


“Le Mieux Est L’ennemi du Bien” или «Лучшее — враг хорошего»

Следующий шаг — избавиться от «универсальных» сценариев, в которых UI зависит от тестовых данных (Рис. 5):

Рис. 5. Зависимость UI от тестовых данных

Рис. 5. Зависимость UI от тестовых данных

На Рисунке 6 показан еще один пример универсальных сценариев: 

Рис. 6. Еще один пример универсальных сценариев

Рис. 6. Еще один пример универсальных сценариев

На шаге 5 тестового сценария имеется «универсальная» команда “Execute action”, которая выполняется как “Move 1 element …” ("Переместить 1 элемент...") для набора данных GU-01 и как “Move all elements …” ("Переместить все элементы...") для набора данных GU-02.

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

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


Какой тестовый сценарий рекомендуется для тестирования на основе данных?

Формат тестового сценария:

  • Номер шага
  • Действие
  • Входные данные (все, что пользователь может ввести /выбрать/нажать и т.д.)
  • Ожидаемый результат (все проверки при выполнении действия)

Содержание тестового сценария:

  • Нет явно указанных циклов – вместо этого используем несколько наборов данных
  • Нет общих слов – вместо этого используем явно указанные значения – данные или ссылки

Набор данных:

  • Роли, ценности
  • Ссылки на хранилище данных (запросы)

Подготовка данных:

  • Предварительные условия (содержимое базы данных)
  • Выполнение SQL-запросов
  • Специальные тестовые сценарии

Как понять, что мы на правильном пути?

Критерии:

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


Преимущества

  • Для ручного тестирования – увеличение надежности выполнения тестов
  • Для автоматизированного тестирования – улучшение понимания, эффективности и результатов автоматизированного тестирования


Глубже погрузиться в тему тест-дизайна вы можете на наших практических онлайн-курсах

Последние статьи в блоге

Обновление карт ИИ-эффективности: учтены 243-ФЗ и актуальные модели LLM

Учебный центр IBS выпустил обновлённые карты по работе с искусственным интеллектом. В новой версии учтены изменения на рынке моделей и федеральный закон, который вступил в силу с 1 сентября 2026 г.

09 сентября 2026

«Метанавыки»: новое направление для тех, кто смотрит в будущее

В сентябре 2026 года Учебный центр IBS открывает набор на новое направление обучения — «Метанавыки». Это три специализированные программы, разработанные для тех, кто хочет прокачать мышление, чтобы управлять искусственным интеллектом, а не конкурировать с ним.

01 сентября 2026

Саммари вебинара «Почему Java-разработчику следует брать на вооружение Quarkus»

Константин Чвилёв, практикующий Java-разработчик, на реальном кейсе внедрения в крупном проекте импортозамещения показал, почему Quarkus может стать оптимальным выбором для современных облачных приложений: от сравнения производительности со Spring Boot до асинхронной интеграции с платёжной системой и подводных камней, с которыми пришлось столкнуться команде.

28 августа 2026

Как защитить информацию в приложениях, использующих ИИ

Представим, что системы контроля и анализа транзакций в банке начинают игнорировать 30% мошеннических операций. Система управления энергосетью выводит из строя ключевой узел подачи электроэнергии в город. Чат-бот службы поддержки начинает массово раскрывать персональные данные клиентов. К сожалению, это новая реальность, с которой может столкнуться любая компания, интегрирующая ИИ-системы в бизнеспроцессы.

Новости
26 августа 2026

Разработка видеокурса «Angular. Продвинутый уровень» для ИТ-команды оператора связи

Когда крупная компания решает перевести обучение разработчиков во внутренний формат, встает вопрос не просто контента, а масштабируемости, унификации и экономической эффективности. Именно с такой задачей к нам пришел один из ведущих операторов связи.

Новости
20 августа 2026

Спецпредложение на курсы по Astra Linux

Учебный центр IBS, авторизованный учебный центр «Группы Астра», объявляет о специальной цене на официальные курсы по операционной системе Astra Linux Special Edition 1.8.

Новости
17 августа 2026

ИИ-агенты в ERP-системах: каковы глобальные тренды и каким путем идет Россия

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

Новости
11 августа 2026

Саммари вебинара «ИИ-инструменты в работе архитектора ПО»

Дмитрий Овчаренко, технический директор с 15-летним опытом в архитектуре ПО, на сквозном примере стартапа — платформы для кондитеров — показал, как ИИ помогает архитектору ускорить работу на всех этапах: от чистого листа до готовых артефактов для команды.

Новости
07 августа 2026

Контроль качества ИИ-систем: от теории к практике

На результаты внедрения искусственного интеллекта в компаниях влияет сложный комплекс факторов. Для получения эффективного решения необходим контроль его качества и устранение узких мест на протяжении всей работы над проектом. О том, как этого добиться, рассказали заместитель директора центра перспективных разработок IBS Денис Воденеев и старший аналитик группы Data Science IBS Илья Гайдуков.

Новости
05 августа 2026

Саммари вебинара «Искусственный интеллект для бизнес-аналитика. Автоматизация для усиления экспертизы»

Максим Охманюк, эксперт с 25-летним опытом в IT, бизнес-анализе и управлении проектами, разобрал, как ИИ становится инструментом усиления аналитика, а не его заменой.

Новости
31 июля 2026

Как мы проектировали систему оценки ИТ-персонала для федерального ритейлера

В Учебном центре IBS мы разрабатываем методологию оценки персонала под задачи конкретного клиента. В крупной федеральной розничной сети с десятками ИТ-ролей и разрозненными критериями уровней специалистов это потребовало создания единой системы с нуля. Рассказываем, как это было.

28 июля 2026

Будущее разработки ПО: от кода к оркестрации агентов

Мультимодальные интерфейсы, внедрение ИИ-инструментов, новые подходы к анализу данных и принятию решений в компаниях уже активно меняют процесс разработки программного обеспечения. О том, как может эволюционировать создание ПО в недалеком будущем, рассказал Максим Ковтун, управляющий партнер «Разработка и тестирование» IBS.

Новости
23 июля 2026

IBS запускает независимую сертификацию для тестировщиков ПО

Центр сертификации IBS инициировал новую программу независимой оценки квалификации для тестировщиков программного обеспечения. Сертификация IBS позволяет ИТ-специалистам систематизировать знания, подтвердить соответствие единому стандарту качества и повысить конкурентоспособность на рынке труда.

21 июля 2026

Внедрение BI-систем: почему проект может не дать результатов

Реализация системы бизнес-аналитики (BI) может пройти технически гладко, но не принести ожидаемого эффекта компании. Причина обычно не в самой платформе, а в организации работы над проектом. Начальник отдела витрин данных и аналитики IBS Анна Филиппова поделилась взглядом на то, почему возникают такие ситуации и как их избежать.

17 июля 2026

Саммари вебинара «Проектирование высоконагруженной системы на примере агрегатора авиабилетов»

Алексей Додонов, эксперт с 20-летним опытом в ИТ, на сквозном кейсе разобрал эволюцию архитектуры стартапа по продаже авиабилетов — от монолита до распределённой системы, и как команда решала проблемы производительности на каждом этапе.

16 июля 2026

Бесплатный вебинар «Результативный ИИ в бизнесе: как внедрять безопасно, измеримо и с реальной пользой»

Искусственный интеллект — это уже не просто тренд, а рабочий инструмент. Но как перейти от пилотов и экспериментов к системному процессу с понятными метриками и управляемыми рисками?

Новости
03 июля 2026

ИИ в бизнесе: почему экономия на зарплате не всегда равна прибыли

Внедрение ИИ в корпоративную среду стало рутинной задачей для многих ИТ-директоров и руководителей проектов. Однако первые волны оптимизма уже столкнулись с суровой реальностью.

Жизнь компании
18 июня 2026

Саммари вебинара «Техсобес на Java: как системный подход и работа с ИИ превращают стресс в оффер»

Владимир Низов, технический директор с 10-летним стажем и эксперт Учебного центра IBS, рассказал, почему кандидаты проваливают технические интервью и как этого избежать. Отдельно разобрал работу с ИИ. Главное: заучивать тысячи страниц не нужно. Достаточно освоить индексный подход и единый паттерн системного дизайна. А ИИ воспринимать как инструмент с чёткими ограничениями.

Новости
09 июня 2026

Опыт развертывания корпоративной/ведомственной ИИ-инфраструктуры

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

Новости
02 июня 2026

«Аниматор с провалами памяти»: 6 ограничений ИИ, которые не дают вам писать качественный код

Вы когда-нибудь просили ИИ написать метод на Spring Boot, получали красивый, идеально отформатированный код, а он не работал? Потом вы копали глубже и находили, что нейросеть использовала RestTemplate вместо WebClient, забыла про @Transactional, а в методе с @PreUpdate пыталась изменить данные, которые уже ушли в SQL. И вы думали: «Ну, нейросеть же глупая». Нет. Не глупая. Она просто пишет код не как человек.

Новости
28 мая 2026

Нужна помощь? Оставьте заявку, и мы свяжемся с вами в ближайшее время

Согласен получать на e-mail информационные рассылки о новостях Учебного центра IBS
Корпоративное обучение Бесплатные вебинары Оценка персонала Сертификация О нас Стать тренером Блог Личный кабинет
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.