Что такое тестирование, управляемое данными? Научитесь создавать Framework

Тестирование на основе данных

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

Платформа, управляемая данными

Платформа, управляемая данными — это среда автоматизации тестирования, в которой входные значения считываются из файлов данных и сохраняются в переменных в тестовых сценариях. Это позволяет тестировщикам объединять как положительные, так и отрицательные тестовые примеры в один тест. Входные данные в платформе, управляемой данными, могут храниться в одном или нескольких источниках данных, таких как .xls, .xml, .csv и базы данных.

Платформа, управляемая данными

Почему тестирование на основе данных?

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

Например, мы хотим протестировать систему входа в систему с несколькими полями ввода и 1000 различными наборами данных.

Чтобы проверить это, вы можете использовать следующие различные подходы:

Подход 1) Создайте 1000 сценариев по одному для каждого набора данных и запускайте каждый тест отдельно один за другим.

Подход 2) Вручную измените значение в тестовом скрипте и запустите его несколько раз.

Подход 3) Импортируйте данные из листа Excel. Получите тестовые данные из строк Excel одну за другой и выполните скрипт.

В приведенных трех сценариях первые два являются трудоемкими и трудоемкими. Поэтому идеально следовать третьему подходу.

Таким образом, третий подход — это не что иное, как Data-Driven Framework.

Как создать платформу автоматизации, управляемой данными

Платформа автоматизации на основе данных

Предположим, вы хотите проверить функциональность входа в приложение.

Шаг 1) Определите тестовые примеры

  • Введите правильное имя пользователя и пароль – вход успешный.
  • Введите неправильное имя пользователя и правильный пароль – Ошибка входа в систему.
  • Введите правильное имя пользователя и неправильный пароль – Ошибка входа в систему.

Шаг 2) Создайте подробные шаги тестирования для трех вышеперечисленных тестовых случаев.

Прецедент# Описание Шаги тестирования Тестовые данные Ожидаемые результаты
1 Проверьте вход в систему на наличие действительных учетных данных
  1. Запустить приложение
  2. Введите пароль пользователя
  3. Нажмите «ОК»
  4. Проверить результаты
Имя пользователя: действительный пароль: действительный Войти успешно
2 Проверьте вход в систему на предмет неверных учетных данных
  1. Запустить приложение
  2. Введите пароль пользователя
  3. Нажмите «ОК»
  4. Проверить результаты
Имя пользователя: неверный пароль: действительный Неверный логин
3 Проверьте вход в систему на предмет неверных учетных данных
  1. Запустить приложение
  2. Введите пароль пользователя
  3. Нажмите «ОК»
  4. Проверить результаты
Имя пользователя: действительный пароль: неверный Неверный логин

Шаг 3) Создать тестовый сценарий

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

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

Шаг 4) Создайте Excel/CSV с входными тестовыми данными.

Платформа автоматизации на основе данных

Шаг 5) Шаг Измените сценарий для циклического перебора входных тестовых данных. Входные команды также должны быть параметризованы.

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

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

  • Введите неправильное имя пользователя и неправильный пароль – Ошибка входа.
  • Введите правильное имя пользователя и пустой пароль – Ошибка входа.
  • Введите пустое имя пользователя и пустой пароль – Ошибка входа.

И так далее

лучший инструмент тестирования на основе данных

1) Testsigma

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

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

Testsigma

Требования:

  • Интеграция с внешними источниками данных: Эта функция обеспечивает прямое подключение к электронным таблицам Excel, CSV-файлам и таблицам баз данных для централизованного управления тестовыми данными. Она исключает жестко закодированные значения и позволяет поддерживать тестовые данные независимо от тестовой логики. Вы можете обновлять наборы данных без изменения тестовых сценариев, обеспечивая гибкость и удобство сопровождения. Я использую это для эффективного управления сотнями вариантов данных, сохраняя при этом чистоту и возможность повторного использования тестовых сценариев.
  • Автоматизированная итерация по нескольким строкам данных: Testsigma автоматически выполняет тестовые сценарии для нескольких строк данных за один запуск теста, значительно расширяя охват тестирования. Вы можете проверять множество комбинаций входных данных, граничных условий и вариантов бизнес-правил без дублирования тестовых случаев. Эта функция прозрачно обрабатывает логику последовательности данных и итерации. Я обнаружил, что это особенно эффективно для комплексного регрессионного тестирования с минимальными затратами на обслуживание скриптов.
  • Динамическая параметризация шагов тестирования: Это позволяет заменять статические значения динамическими параметрами, которые получают данные из внешних источников во время выполнения. Вы можете настроить шаги тестирования таким образом, чтобы они адаптировались к различным входным данным, условиям и ожидаемым результатам в зависимости от значений набора данных. Эта функция поддерживает сложные преобразования данных и условную логику. Я использую её для создания гибких тестовых сценариев, которые учитывают разнообразные бизнес-требования и рабочие процессы пользователей.
  • Отчеты об исполнении на уровне данных: Платформа генерирует подробные отчеты, которые анализируют результаты тестирования по отдельным комбинациям данных, точно показывая, какие входные данные прошли проверку, а какие нет. Вы можете анализировать закономерности, выявлять проблемные диапазоны данных и отслеживать сбои в конкретных строках набора данных. Эта функция предоставляет визуальные панели мониторинга и экспортируемые аналитические данные для обмена информацией с заинтересованными сторонами. Я рекомендую использовать эти данные для определения приоритетов в улучшении качества данных и совершенствования стратегий тестирования.
  • Поддержка обработки данных на разных платформах: Testsigma расширяет возможности тестирования на основе данных для веб-приложений, мобильных приложений и API в рамках единых рабочих процессов. Вы можете использовать одни и те же наборы данных для проверки согласованности между различными уровнями приложения и технологиями. Эта функция обеспечивает всестороннюю сквозную проверку с параметризованными потоками данных. Я использовал её для проверки того, что обработка данных на бэкэнде корректно отражается во фронтенд-интерфейсах на нескольких платформах одновременно.

Плюсы

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

Минусы

  • Мне приходилось тщательно управлять наборами данных, потому что большие объемы могут быстро привести к путанице.

Цены:

  • Цена: Индивидуальная ценовая политика с возможностями тестирования на основе данных, включенными в комплексный тарифный план подписки.
  • Бесплатная пробная версия: 14-дневная бесплатная пробная версия

Посетите Testsigma >>

14-дневная бесплатная пробная версия

лучшие практики тестирования, управляемого данными

Ниже приведены лучшие практики тестирования на основе данных:

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

Преимущества тестирования, управляемого данными

Data-Driven предлагает множество преимуществ, вот некоторые из них:

  1. Позволяет тестировать приложение с несколькими наборами значений данных во время регрессионного тестирования.
  2. Данные тестирования и данные проверки могут быть организованы в одном файле, отдельно от логики тестового примера.
  3. Благодаря этому инструменту тестовые сценарии можно хранить в одном репозитории. Это упрощает понимание, поддержку и управление текстами.
  4. Действия и функции можно повторно использовать в разных тестах.
  5. Некоторые инструменты автоматически генерируют тестовые данные. Это полезно, когда необходимы большие объемы случайных тестовых данных, что помогает сэкономить время.
  6. Тестирование на основе данных может выполнять любой этап разработки. Тестирование на основе данных обычно объединяется в один процесс. Однако его можно использовать в нескольких тестовых случаях.
  7. Позволяет разработчикам и тестировщикам четко отделять логику своих тестовых случаев/скриптов от тестовых данных.
  8. Одни и те же тестовые примеры могут выполняться несколько раз, что помогает сократить количество тестовых примеров и сценариев.
  9. Любые изменения в тестовом сценарии не влияют на тестовые данные.

Недостатки тестирования, управляемого данными

Некоторые недостатки метода автоматизированного тестирования на основе данных:

  1. Качество теста зависит от навыков автоматизации команды внедрения.
  2. Проверка данных — трудоемкая задача при тестировании большого объема данных.
  3. Обслуживание является большой проблемой, поскольку для тестирования, управляемого данными, требуется большой объем кода.
  4. Требуются технические навыки высокого уровня. Тестировщику, возможно, придется изучить совершенно новый язык сценариев.
  5. Будет больше документации. В основном это связано с инфраструктурой тестов управления скриптами и результатами тестирования.
  6. Для создания и обслуживания файлов данных необходим текстовый редактор, например «Блокнот».

Заключение

  • Data-driven — это среда автоматизации тестирования, которая хранит тестовые данные в формате таблицы или электронной таблицы.
  • В среде автоматизации тестирования на основе данных входные данные могут храниться в одном или нескольких источниках данных, таких как xls, XML, CSV и базы данных.
  • Создание индивидуального теста для каждого набора данных — длительный и трудоемкий процесс. Платформа тестирования, управляемого данными, решает эту проблему, сохраняя данные отдельно от функциональных тестов.
  • В тестировании на основе данных это идеальный вариант использования реалистичной информации.
  • Это позволяет тестировать приложение с несколькими наборами значений данных во время Регрессионное тестирование
  • Недостатком этого метода является то, что он зависит от навыков автоматизации команды внедрения.

Подведем итог этой публикации следующим образом: