Что такое тестирование на основе данных? Научитесь создавать Framework

Содержание:

Anonim

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

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

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

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

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

  • Что такое тестирование на основе данных?
  • Почему тестирование на основе данных?
  • Как создать среду автоматизации, управляемую данными
  • Лучшие практики тестирования на основе данных:
  • Преимущества тестирования, управляемого данными
  • Недостатки тестирования на основе данных:

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

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

Пример:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Это псевдокод// Тест, шаг 1: запуск приложенияdriver.get («URL приложения»);// Шаг проверки 2: введите имя пользователяtxtbox_username.sendKeys ("действительный");// Тестовый шаг 3: введите парольtxtbox_password.sendKeys («недействительно»);// Шаг проверки 4: проверка результатовЕсли (следующий экран) печать успешна, иначе не удастся

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

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

// Это псевдокод// Петли 3 разаfor (i = 0; i & lt; = 3; i ++) {// Считываем данные из Excel и сохраняем в переменныхint input_1 = ReadExcel (я, 0);int input_2 = ReadExcel (я, 1);// Тест, шаг 1: запуск приложенияdriver.get («URL приложения»);// Шаг проверки 2: введите имя пользователяtxtbox_username.sendKeys (input_1);// Тестовый шаг 3: введите парольtxtbox_password.sendKeys (input_2);// Шаг проверки 4: проверка результатовЕсли (следующий экран) печать успешнаиначе Fail}

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

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

И так далее

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

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

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

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

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

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

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

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

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

Вывод:

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