Рост спроса на Agile и DevOps существенно повлиял на традиционные методы тестирования. Это помогло командам избежать проблем, связанных с медленным циклом выпуска ПО, и повысить общую скорость разработки продукта.
В данной статье мы представим вам технику тестирования на основе ключевых слов, которая значительно повышает качество тестирования и позволяет более эффективно выявлять потенциальные проблемы и дефекты ПО.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
- Что такое тестирование на основе ключевых слов
- Зачем проводить тестирование на основе ключевых слов
- Преимущества
- Как это работает?
- Этапы
- Компоненты
- Часто используемые структуры
- Тестирование на основе данных vs тестирование на основе ключевых слов
- Ограничения
- Инструменты
- Как выполнять?
- Часто задаваемые вопросы (FAQ)
Что такое тестирование на основе ключевых слов?
Тестирование на основе ключевых слов (Keyword-Driven testing) – это тип автоматизированного функционального тестирования, который разделяет создание тест-кейсов от разработки тестов. Keyword-Driven тестирование включает в себя набор ключевых слов, которые можно повторно использовать в разных тестах. Ключевое слово – это комбинация действий пользователя с объектом теста. Использование ключевых слов делает тест-кейсы более понятными, легко автоматизируемыми и поддерживаемыми.
В Keyword-Driven тестировании ключевые слова представляют собой действия пользователя, например, клики мышью, нажатия клавиш или выбор объектов.
Например, в форме входа в систему LambdaTest ключевое слово “login” используется для проверки функциональности входа в систему и связанных с ним действий.
Подход, основанный на ключевых словах, помогает в разных аспектах. Например, люди без технического образования могут легче понять процесс автоматизации тестирования, так как он отделяет кодирование от создания тест-кейсов. Кроме того, ручные тестировщики могут быстро создавать автоматизированные тестовые скрипты.
Фреймворк на основе ключевых слов разделяет тест-кейсы на четыре компонента:
- Шаг тестирования – описывает действие, выполняемое над объектом тестирования.
- Объект тестирования – Содержит имена элементов веб-страницы, таких как имена пользователей, пароли и т.д.
- Действие – относится к действиям пользователя, таким как щелчок мышью, открытие браузера и т.д.
- Тестовые данные – значение объекта, используемое для выполнения действий пользователя.
Зачем проводить тестирование на основе ключевых слов?
Тестирование на основе ключевых слов имеет множество преимуществ. Оно сокращает техническое обслуживание и автоматически обновляет тесты при изменении ключевых слов. Кроме того, тест-кейсы становятся более простыми и понятными для всех, включая тех, кто не обладает глубокими техническими навыками.
Ниже перечислены причины, по которым следует запускать тесты на основе ключевых слов:
- Существует стандартная библиотека для работы с общими компонентами.
- Высокая степень повторного использования кода.
- Не требуется знание скриптовых языков программирования.
- Детали скриптов не видны пользователям.
- Тест не только лаконичен, но и обладает гибкостью и легкостью в поддержке.
Преимущества
Преимущества Keyword-Driven тестирования :
- Позволяет создавать автоматизированные тесты для пользовательского интерфейса без программирования.
- Имеет встроенную систему, которая упрощает управление тестами, разделяя их на этапы, объекты, данные и действия.
- Тесты можно легко повторно использовать с помощью ключевых слов.
- Тесты представлены в упрощенном виде и удобно отображаются в электронных таблицах или других форматах.
- Расширяет возможности тестирования, позволяя тестовым скриптам считывать данные из файлов CSV, объектов ADO и баз данных ODBC.
- Функциональные тесты могут быть запущены на ранних стадиях разработки с помощью тестирования на основе ключевых слов, что способствует успешному автоматизированному тестированию в целом.
Как это работает?
При Keyword-Driven тестировании действия записываются с помощью ключевых слов. Запуск тестов на основе ключевых слов осуществляется путем перетаскивания соответствующих ключевых слов в действие.
В данном контексте “ключевое слово” означает действия, которые пользователь выполняет в тест-кейсах. Фреймворк автоматизации тестирования преобразует каждое ключевое слово в код, который выполняет автоматизацию тестов.
Для описания связанных действий используются составные ключевые слова, которые улучшают модульность тест-кейсов. Простое изменение ключевых слов позволяет быстро изменить действие.
Этапы
Процесс тестирования на основе ключевых слов состоит из двух фаз: фаза проектирования и разработки и фаза реализации.
- Фаза проектирования и разработки: В процессе проектирования и разработки выполняются определенные действия, описывающие ключевые слова. Каждое действие связано с конкретным ключевым словом и выполняется последовательно.
- Фаза реализации: На этапе реализации выполнение может быть вручную или автоматическим, в зависимости от ситуации. Весь набор команд выполняется в определенном порядке.
Компоненты
Система тестирования на основе ключевых слов помогает разделять тестовый код и данные, улучшая автоматизированное тестирование. Использование фреймворков, например, Selenium, для написания таких тестов делает их многоразовыми и сокращает расходы на поддержку.
Фреймворк тестирования на основе ключевых слов использует операции и инструкции, заданные в файле Excel. Тестовые скрипты считывают инструкции и входные данные теста из этого файла. Затем эти данные используются для выполнения тест-кейсов в приложении, после чего результаты записываются обратно в файл Excel.
Система, управляемая ключевыми словами, требует наличия следующих компонентов:
- Лист Excel – в нем хранятся ключевые слова и тестовые данные для тест-кейсов, этапов тестирования, тестовых объектов и действий.
- Хранилище объектов – это текстовый файл или файл свойств, в котором собраны значения локаторов веб-элементов. В нем хранятся данные в виде пар ключ-значение.
- Библиотека функций – используется для выполнения действий.
- Тестовая таблица данных – это файл Excel, в котором содержатся значения данных, применяемые к объектам.
- Тестовый скрипт – это сценарий для взаимодействия с тестируемыми приложениями, используя библиотечные функции и тестовые данные.
- Selenium (или любой другой фреймворк) – это инструмент, используемый для настройки тестовой среды.
- Скрипт драйвера – это механизм, который взаимодействует с тестовыми скриптами. Он собирает данные из переменных среды, читает файл Excel, вызывает функции, связанные с ключевыми словами, и отображает результаты.
Распространенные структуры фреймворка
Основная задача фреймворка на основе ключевых слов – обнаружить ключевые слова и разработать связанные с ними функции. Фреймворки на основе ключевых слов можно разделить на два типа:
- Фреймворки, где ключевые слова соответствуют отдельным функциям: В этом случае функции представляют собой набор действий или шагов. Например, функция “вход в систему” может состоять из нескольких шагов. Когда ключевое слово соотносится с функцией, это означает, что оно связано с набором шагов.
- Ключевые слова соответствуют базовым действиям над объектами во фреймворках: Например, если вы хотите выполнить операцию click по кнопке или операцию set или type в текстовом поле, ключевыми словами, которые вы будете использовать в этом случае, будут set, click и type. Эти ключевые слова связаны с функциями, которые выполняют указанные действия, такие как нажатие на элемент или ввод значения в текстовое поле. Каждая функция, связанная с ключевым словом, выполняет только одно действие.
Давайте рассмотрим приведенные ниже примеры тест-кейсов для вышеупомянутых структур фреймворка, управляемых ключевыми словами:
- TC_01: Войдите в Gmail, подсчитайте количество отправленных сегодня писем, а затем выйдите из системы.
- TC_02: Войдите в Gmail, затем отправьте письмо одному из получателей и выйдите из системы.
- TC_03: Войдите в Gmail, подсчитайте количество писем, которые вы сегодня получили, и выйдите из системы.
Тестирование на основе данных и тестирование на основе ключевых слов
При автоматизации тестов можно использовать различные входные данные. Управляемое данными тестирование включает запуск теста с разными наборами входных данных, чтобы проверить, как приложение реагирует на изменение значений переменных. В этой методике данные используются в качестве входных значений для выполнения скриптов. Каждый набор данных в скрипте представляет собой отдельный тест-кейс. Таким образом, чем больше наборов данных вы используете, тем больше у вас будет тест-кейсов.
Давайте рассмотрим, чем тестирование, управляемое данными, отличается от тестирования, управляемого ключевыми словами:
Тестирование на основе данных | Тестирование на основе ключевых слов |
---|---|
Включает в себя использование различных хранимых данных, значений и переменных. | Включает в себя использование определенных ключевых слов. |
Хранение данных в различных форматах, таких как CSV-файлы, листы Excel, базы данных, таблицы и т.д. | Хранение данных в листах Excel. |
Пользователь декодирует все тестовые скрипты | Пользователь кодирует все тестовые скрипты. |
Может протекать в несколько этапов. | Может проходить в два различных этапа. |
Менее трудоемкий метод. | Более трудоемкий метод. |
Процесс, требующий много времени. | Наименее затратный по времени метод. |
Требуется программирование и технические знания. | Не требуется программирование или технические знания. |
Не требует обширного планирования. | Требует обширное планирование. |
Ограничения
Тестирование на основе ключевых слов имеет ряд ограничений. К ним относятся следующие:
- Создание и управление ключевыми словами для разных типов действий может быть сложным в случае больших проектов и масштабирования.
- На начальном этапе требует значительного времени и усилий для изучения.
- Если не провести правильное планирование, система может пострадать от излишнего количества ключевых слов. Для эффективности системы важно создавать значимые ключевые слова.
- Внедрение функций, связанных с ключевыми словами, требует наличия опытных программистов и технических специалистов.
Инструменты
Ниже перечислены некоторые инструменты, используемые для проведения тестирования на основе ключевых слов.
- Selenium: Selenium – популярное решение для веб-тестирования, поддерживающее различные операционные системы и браузеры, такие как Firefox, Chrome, IE и Headless. Использование Selenium делает поддержку кода простой и эффективной. В Selenium ключевые слова представляют собой отдельные действия, такие как открытие браузера, переход на веб-сайт, нажатие кнопки или ввод текста в форму. Тест-кейсы создаются путем организации этих ключевых слов в таблицу, где каждая строка – это определенный шаг, а каждый столбец содержит аспекты шага, такие как ключевое слово, объект и вводимые данные.
- Ranorex: Ranorex – это коммерческая платформа для автоматизации тестирования. С помощью Ranorex инженеры по тестированию могут писать тест-кейсы без написания кода. Инструмент позволяет записывать действия пользователя, добавлять проверки и комбинировать ключевые слова с тестированием на основе данных.
- Robot: Robot Framework – еще одна мощная система автоматизации тестирования на основе ключевых слов. Это универсальная система автоматизации тестирования, которая очень полезна для приемочного тестирования. Robot Framework в основном написан на языке Python. Фреймворк хорошо интегрируется с Selenium WebDriver, популярными API, Appium и MongoDB.
Как проводить Keyword-Driven тестирование?
Вы можете проводить как ручное, так и автоматизированное тестирование с использованием ключевых слов, однако, как правило, оно используется в автоматизированном тестировании.
Автоматизация тестирования с использованием ключевых слов помогает:
- Снизить затраты на техническое обслуживание.
- Избежать избыточных спецификаций.
- Повысить возможность повторного использования функций.
- Улучшить поддержку и переносимость тестов.
- Провести обширное тестирование.
Вы можете создавать простые и функциональные тесты с использованием тестирования на основе ключевых слов на ранних этапах разработки. Простейший способ создания таких тестов – записывать их, вносить изменения и настраивать после записи. Важно связать каждое ключевое слово с командой, тестовым скриптом или функцией, которая будет выполнять соответствующие действия.
Вы можете использовать облачные платформы автоматизированного браузерного тестирования, такие как LambdaTest, для выполнения тестов на основе ключевых слов.
LambdaTest также предлагает несколько других фреймворков автоматизации тестирования, таких как Cypress, Playwright и Puppeteer для автоматизированного кросс-браузерного тестирования.
Что касается автоматизации мобильного тестирования, вы можете автоматизировать тестирование мобильных приложений с помощью лучших фреймворков для тестирования приложений, таких как Appium, Espresso и XCUITest.
Заключение
Тестирование на основе ключевых слов требует тщательного планирования, что может отнимать много времени и ресурсов. Однако, как только фреймворк для тестирования настроен, остальная часть процесса становится намного проще.
Вы можете использовать фреймворки автоматизированного тестирования, такие как Selenium, для настройки среды тестирования на основе ключевых слов, даже если у вас нет никаких технических знаний.
Часто задаваемые вопросы (FAQ)
Что такое Keyword-Driven тестирование в Selenium?
В рамках тестирования с использованием ключевых слов все операции и инструкции записываются во внешний файл Excel. Фреймворки автоматизации тестирования, такие как Selenium, помогают разделить код и данные, чтобы облегчить поддержку тест-кейсов.
Зачем проводится Keyword-Driven тестирование?
Тестирование с использованием ключевых слов – это полезный подход для автоматизации тестирования программных приложений, который позволяет пользователям без технического образования создавать и поддерживать тесты. Это позволяет проводить тесты быстро и многократно. Такой подход удобен при тестировании приложений, которые имеют большое количество функций или подвержены частым изменениям.
Что такое тестирование с использованием ключевых слов и тестирование с использованием данных?
Тестирование с использованием ключевых слов и тестирование на основе данных – это два подхода к автоматизации тестирования программных приложений.
При тестировании с использованием ключевых слов действия и данные определены в таблице. Тест выполняется последовательным выполнением шагов из таблицы.
При тестировании на основе данных тестовые данные и ожидаемые результаты хранятся в файле данных. Тест выполняется путем чтения данных из файла и последующего выполнения соответствующих действий.
Чем отличается BDD от разработки, управляемой ключевыми словами?
Поведенческая разработка (BDD) – это подход к разработке ПО, где определяется желаемое поведение системы на понятном человеку языке, а затем написание кода для его реализации. В то же время тестирование с использованием ключевых слов – это подход, где действия и данные определяются в таблице, и тест выполняется в соответствии с шагами, указанными в таблице. BDD используется для разработки системы, в то время как тестирование с использованием ключевых слов – для автоматизации тестирования системы.
Перевод статьи «Keyword Driven Testing Tutorial: A Comprehensive Guide With Examples and Best Practices».