Архитектура автоматизации: Скрипты на основе данных (data-driven)

Проблема: Как можно разместить тестовые данные в таблицы, не прописывая их жестко в коде тестовых сценариев?

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

Контекст:
Участники:

  • Автоматизаторы разрабатывают скрипты.
  • Любой (в том числе, бизнес пользователь) может создать входные данные вписывая их в таблицы.

Продукт:

  • Любой.

Цель:

  • Любая функциональность, которая должна быть протестирована в различный вариациях различающаяся только входными данными или же параметрами

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

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

Выполнение тестов:

  • Тесты выполняются по сценариям в соответствии с входными данными.

Оценка:

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

Атрибуты качества:
Cопровождение и поддержка:

  • Высокое.
  • Сценарии тестирования могут быть адаптированы к изменениям интерфейса без внесения изменений в данные.

Проверка:

  • Средняя/высокая.
  • Данные для тестов можно легко проанализировать и проверить.
  • Тестовые сценарии могут быть быть легко проверены на основных данных.

Целостность и зависимость: 

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

Возможность повторного использования:

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

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