IBM Rational Functional Tester: Упрощение автоматизации тестирования графического пользовательского интерфейсаИсточник: IBM
Узнайте, как можно использовать шаблон проекта, который помогает автоматически тестировать графические пользовательские интерфейсы (GUI) с помощью среды IBM Rational Functional Tester в сочетании с инфраструктурой автоматизации тестирования IBM Corporation. Это решение обеспечивает простую архитектуру и предоставляет полный набор функциональных тестов для любого GUI-продукта независимо от его платформы. Шаблон использует предопределенные входные XML-файлы, описывающие последовательность выполнения контрольного теста и ожидаемые окончательные результаты на выходе. Тесты можно разворачивать на различных платформах, генерируя в процессе тестирования детальную трассировку и журналы. В качестве практической демонстрации в статье даются примеры применения шаблона проекта автоматизации тестирования при работе с IBM Database Add-Ins for the Microsoft Visual Studio. Требования заказчиков к сокращению времени разработки и улучшению качества программного обеспечения заставляют организации искать способы автоматизации и оптимизации своих процессов, чтобы оставаться конкурентоспособными. В этой статье описывается шаблон проекта автоматизации тестирования, который может быть использован для автоматизации тестирования инструментальных средств, основанных на графическом пользовательском интерфейсе (graphical user interface - GUI), с целью существенного сокращения времени, необходимого для выполнения тестирования при контроле качества (QA). Кроме того, шаблон проекта направлен на смягчение этих проблем и помогает создать идеальную среду с учетом требований автоматизации тестирования. Он предлагает следующие возможности:
Среда IBM Database Add-Ins for Microsoft Visual Studio предоставляет разработчикам интуитивно понятные средства взаимодействия и интеграции компонентов базы данных для приложений в стадии разработки. Этот инструмент, использующий мощные графические конструкторы, мастера и меню, предлагает интегрированную среду разработки для жизненного цикла и обслуживания объектов баз данных IBM (включая таблицы, представления, хранимые процедуры, функции и т.д.). Программа поддерживает все типы серверов IBM DB2 и IDS. Чтобы работать с предлагаемым шаблоном проекта, необходимы следующие технологии и артефакты среды разработки:
Шаблон проекта автоматизации тестирования Шаблон проекта, рассматриваемый в настоящем документе, изображен ниже в виде архитектурной схемы. Рисунок 1. Архитектурная схема
Объяснение компонентов архитектуры Для продолжения работы важно понять, что находится внутри шаблона проекта. В число архитектурных компонентов шаблона входят следующие:
В этом разделе показано, как наш шаблон проекта используется при разработке механизма автоматизации тестирования для IBM Visual Studio Add-ins. Шаг 1. Создание XML-схемы для данных контрольного теста Начнем с создания схемы для данных контрольного теста. Схема, приведенная ниже, предназначена для хранения данных, необходимых для хранимых процедур теста при работе с IBM Visual Studio Add-In.
Теперь запустим компилятор связывания JAXB для создания Java-пакета, который содержит все Java-классы, основанные на схеме контрольного теста. После завершения скомпилируем Java-пакет, чтобы сгенерировать файлы классов и импортировать созданные классы в сценарий автоматизации тестирования. Эти шаги описаны (с примером) в следующем разделе статьи. Шаг 2. Создание файла спецификации сервера Задайте данные сервера в файле спецификации сервера. Этот файл специфичен для тестируемого приложения. Данные о сервере не включаются в XML-файл контрольного теста, потому что они не меняются так часто, как данные файла контрольного теста. Файл спецификации сервера является общим для всех контрольных тестов, и информация в этом файле изменяется только тогда, когда происходят какие-либо изменения в параметрах подключения к серверу. На эту информацию ссылается элемент serverType схемы, рассмотренной на шаге 1.
В приведенном выше файле свойств все выражения, начинающиеся с #, являются комментариями.
Аналогичным образом в этом файле задается другая информация, необходимая для установления соединения с сервером. Шаг 3. Создание примера XML-файла контрольного теста Теперь создадим пример XML-файла контрольного теста. Этот XML-файл, базирующийся на вышеупомянутой схеме, содержит фактические данные теста. Чтобы добавить новый контрольный тест, пользователь должен создать этот файл. Контрольный тест, приведенный ниже, предоставляет хранимую процедуру и информацию о сервере. В элементе <serverType> пользователь должен указать один или несколько серверов, упомянутых на первом шаге.
Вышеуказанный XML-документ основан на схеме, описанной на шаге 1.
Шаг 4. Выполнение сценариев автоматизации тестирования Выполните сценарий автоматизации, содержащий код для чтения данных контрольного теста, в вашей среде Rational Functional Tester. Это приведет к запуску IBM Database Add-Ins for Visual Studio, и тестируемое приложение создаст хранимую процедуру с данными, указанными в XML-файле контрольного теста, как показано ниже.
Теперь посмотрите на журналы, чтобы определить результат теста.
Если тест не прошел, можно посмотреть сгенерированный файл журнала трассировки, чтобы устранить проблему. Пример файла трассировки приведен ниже.
Реализация инфраструктуры автоматизации Теперь, когда вы можете работать с инфраструктурой автоматизации, ваша среда разработки GUI получает ряд преимуществ, предоставляемых этим решением. Инфраструктура автоматизации позволяет эффективно реализовать следующие возможности: Создание Java-классов контрольного теста с использованием JAXB Приведенная ниже команда связывания берет файл testCaseData.xsd, описанный на шаге 1, и генерирует пакет jaxb.testData, который будет содержать все производные классы, основанные на схеме. Связывание: Xjc -p jaxb.testData testCaseData.xsd -d autoClasses Опция Компилятор связывания создает набор классов, которые представляют элементы в схеме. Компиляция: javac jaxb/testData/*.java Данная команда компилирует все выходные Java-файлы, созданные процессом связывания, и создает файлы классов. Сценарий автоматизации должен импортировать пакет, созданный процессом связывания, и может получить доступ к данным в файле testCaseData.xml, используя демаршализованный API JAXB, как показано ниже в листинге 4.
Как только XML-файл демаршализован, данные XML-файла могут быть использованы в качестве объектов (см. листинг 5).
Преимущество этого метода состоит в том, что пользователь может добавлять новые контрольные тесты, не вникая в подробности Rational Functional Tester и инфраструктуры автоматизации. При использовании JAXB данные контрольного теста автоматически преобразуются в Java-классы, что облегчает интеграцию в инфраструктуру. Кроме того, построенный таким образом документ контрольного теста может быть прочитан любой другой инфраструктурой автоматизации, написанной на Java. Инфраструктура автоматизации выполняет для каждого контрольного теста следующие шаги:
Теперь, когда вы можете работать в фреймворке автоматизации, ваша среда разработки GUI получает ряд преимуществ, предоставляемых этим решением. Фреймворк автоматизации позволяет с выгодой использовать следующие возможности:
Развернув шаблон теста с помощью описанных выше действий, вы получаете в свое распоряжение инфраструктуру автоматизации тестирования, которая позволяет осуществлять автоматизированное тестирование IBM Database Add-Ins for Visual Studio. В настоящее время реализуется инфраструктура для автоматизированного тестирования хранимых процедур. Дальнейшая работа будет направлена на расширение инфраструктуры с целью автоматизации тестирования других элементов, таких как таблицы, функции и представления. |