Что такое DDT?

Управляемое данными тестирование

Управляемое данными тестирование (DDT – Data Driven Testing) – это метод тестирования программного обеспечения, при котором тестовые данные хранятся в виде таблицы условий. В DDT есть тест, который умеет принимать набор входных параметров из таблицы. Этот тест должен сравнить результат, полученный в ходе прогонки входных параметров с заранее установленным эталонным результатом. DDT также называют тестированием на основе таблиц или параметризованным тестированием.

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

Data Driven Framework

Data Driven Framework – это среда автоматизированного тестирования. Она позволяет тестировщикам объединять как положительные, так и отрицательные тест-кейсы в один тест. Входные значения могут храниться в одном или нескольких источниках данных, таких как .xls, .xml, .csv и базы данных.

Содержание:

Для чего используют DDT?

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

Пример:

Мы хотим протестировать авторизацию с несколькими полями ввода с 1000 различными наборами входных данных.

Для тестирования могут быть применены следующие подходы:

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

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

Подход 3. Импортировать данные из таблиц. Извлечь тестовые данные из строк Excel и выполнить скрипт.

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

Ведь он – это не что иное, как Data-Driven Framework.

Как создать фреймворк

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

Шаг 1. Определить тест-кейсы:

  • Ввод существующего имени пользователя(Username) и пароля(Password) – Успешный вход.
  • Ввод неправильного Username и существующего Password – Сбой входа в систему.
  • Ввод существующего Username и неправильного Password – Сбой входа в систему.

Шаг 2. Подробно расписать шаги тестирования для вышеуказанных 3 тестовых случаев.

Тест-кейсОписаниеШагиТестовые данныеОжидаемые результаты
1Авторизация по существующим данным1. Запустите приложение
2. Введите имя пользователя пароль
3. Нажмите Ок
4. Проверьте результаты
Имя пользователя: действительное
Пароль: действительный
Успешный вход
2Авторизация с ошибочными данными1. Запустите приложение
2. Введите имя пользователя пароль
3. Нажмите Ок
4. Проверить результаты
Имя пользователя: не существующее
Пароль: действительный
Вход в систему невозможен
3Авторизация с ошибочными данными1. Запустите приложение
2. Введите имя пользователя пароль
3. Нажмите Ок
4. Проверьте результаты
Имя пользователя: действительное пароль: недействительныйВход в систему невозможен

Шаг 3. Создать тестовый скрипт

Вы можете заметить, что шаги всех 3-х тестов остаются одинаковыми. Далее необходимо создать скрипт для их выполнения.

// Псевдокод

// Шаг 1: Запуск приложения
driver.get("URL of the Application");  

// Шаг 2: Ввод Username 
txtbox_username.sendKeys("valid"); 

// Шаг 3: Ввод Password 
txtbox_password.sendKeys("invalid"); 

// Шаг 4: Проверка результатов 
If (Next Screen) print success else Fail

Шаг 4. Создать файл в формате Excel/csv с входными тестовыми данными

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

// Псевдокод
// Цикл выполняется трижды
for (i = 0; i & lt; = 3; i++) {
    // Считывание данных из таблицы и сохранение в переменные
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Шаг 1: Запуск приложения
    driver.get("URL of the Application");

    // Шаг 2: Ввод Username
    txtbox_username.sendKeys(input_1);
    
    // Шаг 3: Ввод Password
    txtbox_password.sendKeys(input_2);
    
    // Шаг 4: Проверка результатов
    If(Next Screen) print success
    else Fail
}

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

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

И так далее.

Лучшие практики DDT

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

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

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

У параметризованного тестирования есть множество преимуществ, рассмотрим некоторые из них:

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

Недостатки DDT

К недостаткам параметризованного тестирования относятся следующие моменты:

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

Вывод

  • Data Driven Framework – это система автоматизации тестирования, которая хранит тестовые данные в виде таблиц и файлов.
  • В параметризованных тестах входные данные могут храниться в одном или нескольких источниках данных, таких как xls, XML, csv и базы данных.
  • Создание отдельного теста для каждого набора данных – длительный и трудоемкий процесс. Data Driven Framework решает эту проблему, сохраняя данные отдельно от функциональных тестов.
  • Для параметризованного тестирования идеальным вариантом является использование реальной информации.
  • DDT предоставляет возможность тестировать приложение с несколькими наборами данных во время регрессионного тестирования.
  • Недостатком этого метода является то, что он зависит от навыков команды автоматизации.

Перевод статьи «What is Data Driven Testing? Learn to create Framework».

1 комментарий к “Что такое DDT?”

  1. Пингбэк: Основы Selenium

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *