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