Фреймворки автоматизации тестирования - вещи, которые вы должны знать!

Содержание:

Anonim

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

  • Что такое фреймворк?
  • Что такое TEST Automation Framework?
  • Типы фреймворков автоматизации
  • 1) Линейный сценарий - запись и воспроизведение
  • 2) Архитектура тестовой библиотеки.
  • 3) Платформа тестирования на основе данных.
  • 4) Система тестирования на основе ключевых слов или таблиц.
  • 5) Платформа автоматизации гибридного тестирования.

Что такое фреймворк?

Вместо того, чтобы давать книжное определение фреймворка, давайте рассмотрим пример.

Я уверен, что вы посетили семинар / лекцию / конференцию, где участников попросили соблюдать следующие правила:

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

Как вы думаете, можно провести семинар БЕЗ соблюдения этих правил ????

Ответ - большое ДА! Конечно, вы можете провести семинар / лекцию / конференцию / демонстрацию без вышеуказанных рекомендаций (на самом деле некоторые из нас не будут следовать им, даже если они заложены… :-)

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

Основываясь на вышеизложенном, Структуру можно определить как набор руководящих принципов, выполнение которых дает положительные результаты.

Что такое TEST Automation Framework?

Набор руководящих принципов, таких как стандарты кодирования, обработка тестовых данных, обработка репозитория объектов и т. Д., Соблюдение которых во время сценариев автоматизации дает положительные результаты, такие как увеличение повторного использования кода, более высокая переносимость, снижение затрат на обслуживание скриптов и т. Д. Имейте в виду, что это всего лишь рекомендации и не правила; они не являются обязательными, и вы все равно можете создавать сценарии, не следуя инструкциям. Но вы упустите преимущества наличия Framework.

Типы фреймворков автоматизации

1) Линейные сценарии
2) Архитектура тестовой библиотеки.
3) Платформа тестирования на основе данных.
4) Система тестирования на основе ключевых слов или таблиц.
5) Платформа автоматизации гибридного тестирования.

Давайте посмотрим на них подробнее -

1) Линейный сценарий - запись и воспроизведение

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

Пример: подумайте о том, чтобы войти в приложение для бронирования рейсов и проверить, загрузилось ли приложение при успешном входе в систему. Здесь тестировщик просто запишет шаги и добавит шаги проверки.

SystemUtil.Run "flight4a.exe", "", "", "open"Диалог ("Логин"). WinEdit ("Имя агента:"). Установите "Guru99"Диалог ("Логин"). WinEdit ("Пароль:"). Установите "Меркурий"Диалог («Вход»). WinButton («ОК»). ЩелкнитеОкно проверки бронирования билетов загружено после успешного входа в систему.Окно («Бронирование рейса»). Check CheckPoint («Бронирование рейса»)

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

  • Самый быстрый способ сгенерировать скрипт
  • Опыт автоматизации не требуется
  • Самый простой способ изучить возможности инструмента тестирования

Недостатки

  • Небольшое повторное использование скриптов
  • Тестовые данные жестко запрограммированы в скрипт
  • Кошмар обслуживания

2) Архитектура тестовой библиотеки.

Это также известно как «Структурированные сценарии» или «Функциональная декомпозиция».

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

Пример: Используя тот же пример, что и выше, функция входа в систему бронирования авиабилетов будет выглядеть так.

Функция Вход ()SystemUtil.Run "flight4a.exe", "", "", "open"Диалог ("Логин"). WinEdit ("Имя агента:"). Установите "Guru99"Диалог ("Логин"). WinEdit ("Пароль:"). Установите "Меркурий"Диалог («Вход»). WinButton («ОК»). ЩелкнитеКонечная функция

Теперь вы вызовете эту функцию в основном скрипте следующим образом

Вход в систему ()---------------------------Другие вызовы функций / шаги тестирования.---------------------------

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

  • В структурированных сценариях достигается более высокий уровень повторного использования кода по сравнению с «Запись и воспроизведение».
  • Сценарии автоматизации менее затратны в разработке из-за более частого повторного использования кода.
  • Упрощенное сопровождение скриптов

Недостатки

  • Для написания скриптов с использованием Test Library Framework необходимы технические знания.
  • На планирование и подготовку сценариев тестирования требуется больше времени.
  • Тестовые данные жестко запрограммированы в скриптах

3) Платформа тестирования на основе данных.

В этой платформе, в то время как логика тестового случая находится в тестовых сценариях, тестовые данные разделяются и хранятся вне тестовых сценариев. Тестовые данные считываются из внешних файлов (файлы Excel, текстовые файлы, файлы CSV, источники ODBC, объекты DAO, объекты ADO) и загружаются в переменные внутри тестового сценария. Переменные используются как для входных значений, так и для значений проверки. Сами тестовые сценарии подготавливаются либо с использованием линейных сценариев, либо с помощью Test Library Framework.

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

Шаг 1) Создайте тестовый файл данных, который может быть Excel, CSV или любым другим источником базы данных.

Имя агента

Пароль

Джимми

Меркурий

Тина

МЕРКУРИЙ

Счет

Меркурий

Шаг 2) Разработайте тестовый сценарий и сделайте ссылки на свой источник тестовых данных.

SystemUtil.Run "flight4a.exe", "", "", "open"Диалог («Логин»). WinEdit («Имя агента:»). Установить DataTable («Имя агента», dtGlobalSheet)Диалог («Логин»). WinEdit («Пароль:»). Установить DataTable («Пароль», dtGlobalSheet)Диалог («Вход»). WinButton («ОК»). ЩелкнитеОкно "Проверить бронирование на рейс" загружено.Окно («Бронирование рейса»). Check CheckPoint («Бронирование рейса»)** Примечание. «DtGlobalSheet» - это лист Excel по умолчанию, предоставляемый QTP.

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

  • Изменения в тестовых сценариях не влияют на тестовые данные.
  • Тестовые примеры можно выполнять с несколькими наборами данных.
  • Можно выполнить множество сценариев тестирования, просто изменив тестовые данные во внешнем файле данных.

Недостатки

  • Требуется больше времени для планирования и подготовки тестовых сценариев и тестовых данных.

4) Система тестирования на основе ключевых слов или таблиц.

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

Фреймворк, управляемый ключевыми словами, состоит из 3 основных компонентов, а именно. Ключевое слово, карта приложения, функция компонента.

Что такое ключевое слово?

Ключевое слово - это действие, которое может быть выполнено в компоненте графического интерфейса. Бывший . Для текстового поля компонента графического интерфейса некоторые ключевые слова (действия) будут InputText, VerifyValue, VerifyProperty и так далее.

Что такое карта приложений?

Карта приложения предоставляет именованные ссылки для компонентов графического интерфейса. Карты приложений - это не что иное, как « репозиторий объектов »

Что такое функция компонента?

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

Пример : Чтобы понять представление ключевых слов, возьмем тот же пример. Он включает в себя 2 шага

Шаг 1. Создание таблицы данных (отличной от таблицы тестовых данных, созданной в Data Driven Framework). Эта таблица данных содержит действия, которые необходимо выполнить для объектов графического интерфейса, и соответствующие аргументы, если таковые имеются. Каждая строка представляет один тестовый шаг.

Объект

(Приложение MAP)

Действие

(КЛЮЧЕВЫЕ СЛОВА)

Аргумент

WinEdit (имя агента)
Набор
Guru99
WinEdit (Пароль)
Набор
Меркурий
WinButton (ОК)
Нажмите
Окно (бронирование рейса)
Проверять
Существуют

Шаг 2 : Написание кода в виде компонентных функций.

После создания таблицы (таблиц) данных вы просто пишете программу или набор скриптов, которые читаются на каждом шаге, выполняют шаг на основе ключевого слова, содержащегося в поле «Действие», выполняют проверку ошибок и регистрируют любую релевантную информацию. Эта программа или набор скриптов будут похожи на псевдокод ниже:

Функция main (){Call ConnectTable (Name of the Table) {// Вызов функции для подключения к таблице.while (Call TableParser ()! = -1) // Вызов функции для анализа и извлечения значений из таблицы.{Передайте значения соответствующим функциям КОМПОНЕНТОВ, например Set (Имя объекта, Аргумент), например Set (Имя агента, Guru99).}}Вызов CloseConnection () // Функция закрытия соединения после выполнения всех операций.} // Конец основного

Вот и все, что касается фреймворка, управляемого ключевыми словами.

Преимущество Keyword Driven Framework состоит в том, что ключевые слова можно использовать повторно. Чтобы понять это, рассмотрите возможность проверки операции входа на веб-сайт, например YAHOO MAIL. Таблица будет выглядеть так -

Объект (КАРТА ПРИЛОЖЕНИЯ) Действие (КЛЮЧЕВОЕ СЛОВО) Аргумент
WebEdit (имя пользователя) Набор Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
WebEdit (Пароль) Набор ххххх
WebButton (ОК) Нажмите
Окно (Yahoo Mail) Проверять Нагрузки

Если вы заметите, что в этом случае ключевые слова Set, Click, Verify остаются такими же, для которых уже разработаны соответствующие функции компонентов. Все, что вам нужно сделать, это изменить сопоставление приложений (репозиторий объектов) с более раннего резервирования рейсов на Yahoo Mail, изменив значения аргументов, и тот же сценарий будет работать!

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

  • Обеспечивает высокую степень повторного использования кода
  • Независимый инструмент тестирования
  • Независимо от тестируемого приложения, тот же сценарий работает для AUT (с некоторыми ограничениями)
  • Тесты могут быть разработаны с AUT или без него.

Недостатки

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

ПРИМЕЧАНИЕ. Несмотря на то, что Micro Focus UFT рекламирует себя как KeyWord Driven Framework, вы не можете добиться полной независимости от инструментов тестирования и приложений с помощью HP UFT.

5) Платформа автоматизации гибридного тестирования.

Как следует из названия, эта структура представляет собой комбинацию одной или нескольких рассмотренных выше структур, основанных на их сильных сторонах и пытающихся смягчить их слабые стороны. Эта среда автоматизации гибридного тестирования - это то, во что большинство инфраструктур развиваются с течением времени и в нескольких проектах. Компания Maximum Industry использует Keyword Framework в сочетании с методом декомпозиции функций.

PS: Стоит упомянуть и другие фреймворки:

Фреймворк тестовой модульности

В этой структуре общие задачи в сценарии тестирования сгруппированы как модули.

Пример : с помощью действий в QTP можно создать скрипты Modualr.

Пример сценария для входа в систему

SystemUtil.Run "flight4a.exe", "", "", "open"Диалог ("Логин"). WinEdit ("Имя агента:"). Установите "Guru99"Диалог ("Логин"). WinEdit ("Пароль:"). Установите "Меркурий"Диалог («Вход»). WinButton («ОК»). Щелкните'Конец сценария

Теперь вы можете вызвать это действие в основном скрипте следующим образом:

RunAction ("Логин [аргумент]", oneIteration)

Тестирование бизнес-процессов (BPT)

Эта структура разбивает большие бизнес-процессы на компоненты, которые можно многократно использовать в одном или разных сценариях тестирования. Например, бизнес-процесс бронирования полета разделен на такие компоненты, как вход в систему, поиск рейсов, бронирование, оплата и выход из системы, которые можно повторно использовать в одном бизнес-процессе или в разных процессах. Кроме того, BPT способствует более тесной координации между малыми и средними предприятиями и инженерами по автоматизации.