Тестирование на основе данных
Тестирование на основе данных - это метод тестирования программного обеспечения, при котором данные тестирования хранятся в виде таблицы или электронной таблицы. Тестирование на основе данных позволяет тестировщикам вводить один тестовый сценарий, который может выполнять тесты для всех тестовых данных из таблицы и ожидать результатов теста в той же таблице. Это также называется тестированием на основе таблиц или параметризованным тестированием.
Платформа, управляемая данными
Data Driven Framework - это среда автоматизации тестирования, в которой входные значения считываются из файлов данных и сохраняются в переменных в тестовых сценариях. Это позволяет тестировщикам объединять как положительные, так и отрицательные тестовые примеры в один тест. Входные данные в структуре, управляемой данными, могут храниться в одном или нескольких источниках данных, таких как .xls, .xml, .csv, а также в базах данных.
В этом руководстве вы узнаете
- Что такое тестирование на основе данных?
- Почему тестирование на основе данных?
- Как создать среду автоматизации, управляемую данными
- Лучшие практики тестирования на основе данных:
- Преимущества тестирования, управляемого данными
- Недостатки тестирования на основе данных:
Почему тестирование на основе данных?
Тестирование на основе данных важно, поскольку тестировщики часто используют несколько наборов данных для одного теста, а создание отдельных тестов для каждого набора данных может занять много времени. Тестирование на основе данных помогает хранить данные отдельно от тестовых сценариев, и одни и те же тестовые сценарии могут выполняться для различных комбинаций входных тестовых данных, и результаты тестирования могут быть получены эффективно.
Пример:
Например, мы хотим протестировать систему входа в систему с несколькими полями ввода с 1000 различными наборами данных.
Чтобы проверить это, вы можете использовать следующие подходы:
Подход 1) Создайте 1000 сценариев по одному для каждого набора данных и запускайте каждый тест отдельно один за другим.
Подход 2) Вручную измените значение в тестовом скрипте и запустите его несколько раз.
Подход 3) Импортируйте данные из таблицы Excel. Получите тестовые данные из строк Excel одну за другой и выполните сценарий.
В данных трех сценариях первые два трудоемки и требуют много времени. Поэтому идеально подходит третий подход.
Таким образом, третий подход - это не что иное, как структура, управляемая данными.
Как создать среду автоматизации, управляемую данными
Предположим, вы хотите протестировать функциональность входа в систему приложения.
Шаг 1) Определите тестовые случаи
- Введите правильное имя пользователя и пароль - Успешный вход в систему
- Введите неправильное имя пользователя и правильный пароль - Ошибка входа
- Введите правильное имя пользователя и неправильный пароль - Ошибка входа
Шаг 2) Создайте подробные этапы оценки для вышеуказанных 3 тестовых случаев.
Прецедент# | Описание | Шаги тестирования | Данные испытаний | Ожидаемые результаты |
---|---|---|---|---|
1 | Проверьте логин на наличие действительных учетных данных |
| Имя пользователя: действующий пароль: действующий | Успешный вход в систему |
2 | Проверьте логин на предмет неверных учетных данных |
| Имя пользователя: неверный пароль: действительный | Неверный логин |
3 | Проверьте логин на предмет неверных учетных данных |
| Имя пользователя: действующий пароль: недействительный | Неверный логин |
Шаг 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 предлагает множество преимуществ, некоторые из них:
- Позволяет тестировать приложение с несколькими наборами значений данных во время регрессионного тестирования.
- Данные тестирования и данные проверки могут быть организованы в один файл, который отделен от логики тестового примера.
- Основываясь на инструменте, можно иметь тестовые сценарии в одном репозитории. Это упрощает понимание, обслуживание и управление текстами.
- Действия и функции можно повторно использовать в разных тестах.
- Некоторые инструменты автоматически генерируют тестовые данные. Это полезно, когда необходимы большие объемы случайных тестовых данных, что помогает сэкономить время.
- Тестирование на основе данных может выполняться на любом этапе разработки. Задачи тестирования, основанные на данных, обычно объединяются в один процесс. Однако его можно использовать в нескольких тестовых случаях.
- Позволяет разработчикам и тестировщикам четко отделить логику своих тестовых случаев / скриптов от тестовых данных.
- Одни и те же тестовые примеры можно выполнять несколько раз, что помогает сократить количество тестовых примеров и сценариев.
- Любые изменения в тестовом скрипте не влияют на тестовые данные.
Недостатки тестирования на основе данных:
Некоторые недостатки метода автоматизированного тестирования, управляемого данными:
- Качество теста зависит от навыков автоматизации команды разработчиков.
- Проверка данных - трудоемкая задача при тестировании большого количества данных.
- Техническое обслуживание - большая проблема, так как для тестирования, управляемого данными, требуется большой объем кода.
- Требуются технические навыки высокого уровня. Тестировщику, возможно, придется изучить совершенно новый язык сценариев.
- Будет больше документации. В основном связано с управлением скриптами, инфраструктурой тестирования и результатами тестирования.
- Текстовый редактор, такой как Блокнот, необходим для создания и поддержки файлов данных.
Вывод:
- На основе данных - это среда автоматизации тестирования, которая хранит тестовые данные в виде таблицы или электронной таблицы.
- В среде автоматизации тестирования на основе данных входные данные могут храниться в одном или нескольких источниках данных, таких как xls, XML, csv и базы данных.
- Создание индивидуального теста для каждого набора данных - длительный и трудоемкий процесс. Платформа Data Driven Testing решает эту проблему, храня данные отдельно от функциональных тестов.
- В тестировании на основе данных это идеальный вариант для использования реалистичной информации.
- Это позволяет тестировать приложение с несколькими наборами значений данных во время регрессионного тестирования.
- Недостатком этого метода является то, что он зависит от навыков автоматизации команды разработчиков.