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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Критерии:

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


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

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


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

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

Зачем специалистам по 1С изучать системный анализ и архитектуру ПО

Как системный анализ и архитектура ПО помогают эффективнее работать в 1С.

29 апреля 2025

Банка Nutella, IT, ESG — что общего?

Когда вы читали этикетку на продукте не из-за состава, а из-за ESG-маркировки?

25 апреля 2025

Каковы плюсы и минусы монолитной и микросервисной архитектуры при разработке ИТ-продуктов?

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

25 апреля 2025

Станьте архитектором ПО с выгодой! Только в апреле сэкономьте 20 000 ₽ и получите новый модуль по микросервисам в подарок

24 апреля стартует обучение на комплексной программе «Архитектор ПО. Путь к мастерству в проектировании систем»*.

14 апреля 2025

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

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

Новости
10 апреля 2025

Кейс: Интенсив по управлению проектами для промышленной компании

Мы адаптировали курс по управлению проектами под запрос команды крупной промышленной компании и провели обучение. Вот что из этого вышло.

27 марта 2025

Кейс: Обучение сотрудников крупной компании работе с ClickHouse

Рассказываем, как мы организовали обучение команды работе с этой новой для заказчика технологией и каких результатов достигли.

19 марта 2025

Платформа сертификации IBS получила аккредитацию АПКИТ

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) приняла новый регламент сертификации ИТ-специалистов.

Новости
10 марта 2025

Специальные акции на учебные программы

У нас отличная новость для всех, кто стремится развивать свои навыки в мире ИТ.

06 марта 2025

Как остановить спам-атаку

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

06 марта 2025

Учебный центр IBS подписал партнерское соглашение с ООО «РусБИТех-Астра», разработчиком российской операционной системы Astra Linux.

Теперь мы можем проводить авторизованное обучение по работе с Astra Linux для специалистов в области информационной безопасности.

17 февраля 2025

Двойная выгода: покупай один курс — получай второй за 50% стоимости!

Воспользуйтесь возможностью изучить более глубокие аспекты одной области — например, при покупке курса по Java, архитектуре ПО, управлению проектами, системному и бизнес-анализу, тестированию ПО и Big Data вы можете получить второй курс этой же тематики за полцены! Не упустите шанс развить свои навыки и поднять свою карьеру на новый уровень. 

29 января 2025

Сертификация преподавателя Java-разработки для крупного провайдера ИТ-обучения

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

Новости
21 января 2025

Системный аналитик 100 lvl — дорожная карта развития

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

23 декабря 2024

Платформа сертификации IBS признана лучшим digital-решением для корпоративного обучения

Центр сертификации IBS стал обладателем Гран-при премии «Смарт пирамида» — одной из самых престижных российских премий за достижения в области обучения и развития человеческого капитала.

20 декабря 2024

Учебный центр IBS получил сертификат ГОСТ Р ИСО 9001-2015

В октябре 2024 года Учебный центр IBS получил сертификат соответствия ГОСТ Р ИСО 9001-2015. Это важное достижение подтверждает, что мы придерживаемся высоких стандартов качества и результативно управляем образовательными процессами организации.

19 декабря 2024

9 курсов со скидкой до 50%

Друзья, в январе стартует 9 курсов, обучение на которых можно купить со скидкой до 50%*! 

15 декабря 2024

8 заблуждений про тестирование

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

15 декабря 2024

Путь к Fullstack-тестировщику: что нужно знать о ручном и автоматизированном тестировании?

Тестирование программного обеспечения — одна из самых востребованных областей в IT. И часто новички и даже опытные специалисты, желающие строить свою карьеру в этом направлении, часто сталкиваются с вопросом: какое тестирование выбрать — ручное, автоматизированное или Fullstack? У каждого из этих направлений свои особенности, преимущества и требования к знаниям. В этой статье рассмотрим каждое из направлений, их плюсы и минусы, области применения и навыки, необходимые для успеха.

15 декабря 2024

Совет по развитию сертификации ИТ-специалистов при АПКИТ аккредитовал «Платформу сертификации IBS»

Директор департамента обучения и развития IBS Владимир Гернер участвовал в заседании Совета по сертификации ИТ-специалистов при АПКИТ.

Новости Жизнь компании
08 октября 2024

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

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