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

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

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

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

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

Изображение для тестирования на основе данных

В этом руководстве вы узнаете

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

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

Пример:

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

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

Подход 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 тестовых примера. Тестовый сценарий можно использовать для повторения следующегоwing тестовые примеры, просто добавляя значения тестовых данных к Excel

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

И так далее

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

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

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

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

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

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

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

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

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

Вывод:

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