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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Любой тестовый сценарий имеет определенный формат и контент. Типичный  формат одинаков повсюду (см. 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-запросов
  • Специальные тестовые сценарии

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

Критерии:

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


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

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


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

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

Сквозная логика: от бизнес-процесса к реализации без потерь

Главный принцип работы с проектной документацией — поддерживать её связность и актуальность. Любая, даже самая детальная схема (BPMN, Use Case, C4), мгновенно теряет ценность, если она конфликтует с другой. Узнаёте? Сначала все силы бросают на «личный кабинет», но после пары спринтов главным внезапно становятся «возвраты». В результате возникает опасный разрыв: цели проекта, реализуемый функционал и схемы, которые должны их описывать, живут своей жизнью. Документация превращается в «мёртвые зоны», которые больше не отражают реальность.

29 августа 2025

Заказная разработка ПО в IBS: безопасная разработка и доставка

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

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

Сертификация ИТ-специалистов: точная оценка ваших компетенций

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

Новости
22 августа 2025

Группа компаний IBS запускает национальную сертификацию для бизнес-аналитиков

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

Жизнь компании
20 августа 2025

От разработчика к тренеру: как превратить экспертизу в стабильный доход

Часто к преподаванию переходят после достижения «карьерного потолка»: на уровне сеньора процессы отлажены, и новые вызовы исчезают. Однако вместо того чтобы долго преподавать за символическую плату, можно сосредоточиться на создании системного заработка. Разберём реальные способы: от коучинга до запуска курсов.

Новости
13 августа 2025

Установка и настройка брокера сообщений Kafka на Windows

Цель задания: научиться устанавливать и настраивать Apache Kafka на операционной системе Windows, а также выполнять базовые операции с топиками и сообщениями.

21 июля 2025

Почему Python? Полный разбор Python vs Java в ML

«Когда 9 из 10 курсов по машинному обучению используют Python — это не случайность. Это результат десятилетия эволюции инструментов, сообщества и образовательной экосистемы».

21 июля 2025

Что должен знать и уметь архитектор ПО в 2025 году

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

21 июля 2025

Памятка по документированию архитектурных решений

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

Новости
18 июля 2025

Летняя акция: учитесь онлайн с выгодой, не выходя из отпуска! До конца августа второй курс со скидкой 50%

Проведите лето с пользой для карьеры – второй курс со скидкой 50%!

09 июля 2025

5 курсов июля со скидкой 30%

Друзья, у нас остались последние места на курсах, которые стартуют в июле. Сейчас есть возможность записаться на обучение со скидкой 30%!

Новости
04 июля 2025

Карьерный трек аналитика: от базы к экспертизе

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

27 июня 2025

Почему именно сейчас стоит учиться на бизнес-аналитика уровня Middle. «Руководство BABOK» в подарок участникам программы!

Вы в ИТ, вам за 30. Вроде бы всё хорошо — есть работа, скиллы, стабильность. Но в воздухе — тревожность. Проекты замораживаются. Бизнес урезает бюджеты. От ИТ ждут не просто задач, а конкретного влияния на прибыль.

25 июня 2025

Уничтожит ли ИИ-генератор кода профессию разработчика?

С появлением ИИ-инструментов, а также в связи недавним анонсом Canva Code, который генерирует код за пару кликов, многие задумались: не станут ли такие инструмент угрозой для разработчиков? Давайте разберемся, есть ли здесь реальные риски, или это все же преувеличения.

23 июня 2025

Проектное резюме консультанта 1С: карьерный инструмент, чтобы выделиться среди других кандидатов

Рассказываем о продвинутой альтернативе привычного резюме для консультантов 1C и других специалистов с проектной занятостью.

Новости
19 июня 2025

Выбор карьеры: Менеджер бизнес-процессов или Бизнес-аналитик уровня Middle?

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

Новости
18 июня 2025

В Учебном центре IBS планируется запуск курсов по продуктам TData

Читайте о стратегическом соглашении TData и IBS и наших новых курсах

11 июня 2025

Компетенции бизнес-аналитиков: Junior и Middle в сравнении

В условиях динамично развивающейся ИТ-индустрии важно чётко понимать, какие навыки и знания необходимы для успешной работы на каждом этапе карьерного пути. Сегодня обсудим разницу в компетенциях ИТ бизнес-аналитиков уровней Junior и Middle. Если вы только начинаете свой путь в ИТ бизнес-анализе или, наоборот, уже обладаете некоторым опытом, этот материал поможет вам понять, какие навыки необходимы на каждом уровне и как развиваться дальше.

Новости
05 июня 2025

Лимит на сбои. Как понять, что система перегружена, а не просто плохо сделана?

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

Новости
03 июня 2025

Кто такой аналитик 1С?

Аналитик 1С — это специалист, который занимается оптимизацией бизнес-процессов с использованием программного обеспечения 1С. Его задача — анализировать существующие процессы, выявлять недостатки и разрабатывать решения для повышения эффективности. Аналитик переводит бизнес-требования в технические задания для разработчиков, становясь мостом между пользователями и ИТ-отделом. Эта роль требует как технических знаний, так и навыков коммуникации, что позволяет вносить значительный вклад в развитие компании и улучшение её конкурентоспособности.

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

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.