Русский
Русский
English
Статистика
Реклама

Jubula от мануального тестировщика до автоматизатора один шаг

image

Jubula (Джубула) инструмент для автоматизации тестирования, известный не многим тестировщикам в России. В нашу компанию он пришёл вместе с проектом из Германии.
Программа разработана компанией BREDEX GmbH и является бесплатной. Разработчик указывает, что Jubula способна тестировать приложения на Swing, SWT/RCP/GEF и JavaFX. Тестировщику, использующему Jubula не обязательно знать ни один из языков программирования, поскольку тестирование осуществляется методом чёрного ящика и не требует наличия исходного кода, что позволяет каждому автоматизировать свои тест-кейсы самостоятельно.

Jubula может использоваться как отдельное приложение (как в нашем проекте) или в виде плагина к Eclipse (https://projects.eclipse.org/projects/technology.jubula).

После установки приложения, всё уже готово к использованию: настроена база данных для хранения проектов и AUT-Agent (обеспечивает связь Jubula с тестируемым приложением).

Чтобы создать новый проект, нужно выбрать в меню Test New и заполнить поля. В AUT executable выбираем путь к исполняемому файлу для запуска тестируемого приложения.

image

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

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

image

В основе создания тест-кейсов в Jubula лежит метод ключевых слов (keyword). То есть создавая новый тест-кейс, пользователь находит необходимые действия используя такие слова как click, check, wait и др., добавляет их в тест и присваивает им нужные параметры.

Кроме этого, Jubula предоставляет возможность записать действия, выполняемые тестировщиком, и воспроизвести их впоследствии. Этот метод не пользуется популярностью, хотя и уместен для быстрого создания предусловий, когда, к примеру, необходимо добраться до нужного окна, в котором уже будут произведены проверки.

Для создания тест-кейса можно просто перетащить шаг из Test Case Browser в рабочую область, в которой открыт Ваш тест-сьют. Несколько шагов можно объединить в модуль (Refactor Extract Test Case), который в последствии может быть использован в разных тест-кейсах. Изменение модуля приведёт к изменению шагов во всех тестах, где он используется, с этим нужно быть аккуратнее. Если модуль открыт в рабочей области, легко посмотреть все тест-кейсы, где он используется, нажав F7. В Jubula есть еще много горячих клавиш, которые очень удобно выделены отдельной строкой в разделе Help. Кроме того, в Help Contents с помощью поисковой строки можно найти интересующую информацию по любой функции программы (на английском языке).

image

Перед созданием тест-кейсов нужно добавить все графические компоненты, используемые в тесте. Это делается легко с помощью Object Mapping Mode, который активируется, когда приложение открыто. Наводим курсор на нужный объект и нажимаем Ctrl + Shift + q. Объекту нужно присвоить имя и сохранить, затем его можно выбрать в окошке Component Names в нужном шаге.

image

При необходимости Jubula позволяет создать собственные специфические шаги. Для этого существуют действия executeExternalCommand и invokeExternal(Method). С их помощью запускаются скрипты или .jar файлы. Без знания JAVA создать собственные команды не получится. В нашем проекте инженер-конфигуратор написал несколько крупных .jar файлов, к которым Jubula обращается через .bat, прописываемые в executeExternalCommand.

Рассмотрим на примере модуля, созданного в нашем проекте для сравнения активного окна с изображением, хранящимся на SVN. Сначала в виде переменной сохраняется имя будущего .jpg файла (StoreValue), в стандартном шаге takeScreenshotofActivWindow прописывается это имя и путь, по которому будет располагаться новый скриншот, а затем в шаге executeExternalCommand запускается .bat файл, где указаны изображения, которые будем сравнивать и некоторые параметры, как размер изображения и максимально допустимое отклонение в пикселях. Через этот же .bat файл запускается .jar, в котором есть классы для сравнения текста, изображений, pdf- и csv-файлов. Эта внутренняя кухня нужна в основном только тому, кто настраивает Jubula для проекта впервые, или добавляет то, чего очень не хватало. При создании тест-кейса тестировщик берет уже готовый модуль (у нас, например, Compare Image), задаёт параметры и даже и не знает, что прописано в .bat, и тем более в .jar.

Jubula может взаимодействовать со сторонними приложениями во время тестирования. Наше приложение генерирует отчёты в форматах PDF и CSV. Через приложение можно открыть отчёт в Adobe Reader, Jubula сохранит его с помощью комбинаций клавиш, задаст ему имя, которое выбрал тестировщик заранее, а затем сравнит его с файлом, сохраненным на SVN описанным выше способом через executeExternalCommand.

Результаты проведения теста показаны максимально подробно, можно посмотреть все входные и выходные параметры. Если тест упал на каком-то шаге, то Jubula делает скриншот этого момента, к которому можно обратиться в любое время (эту функцию можно отключить для экономии места). Кроме того, для шага с ошибкой в большинстве случаев доступен Log-View, где коротко описано в чём суть ошибки. Результаты можно автоматически сохранять в выбранную папку в формате XML/HTML.

Для того чтобы определить действия, следующие за появлением ошибки, используется Event_Handler так называемый обработчик события. Его можно настроить в зависимости от типа ошибки на продолжение, повторение (заданное количество раз), выход, паузу и др. В event handler можно добавить тестовый шаг или несколько шагов, которые должны быть выполнены в случае ошибки.

Влиять на выбор следующего шага можно с помощью If-Then-Else, что очень удобно при повторяющихся действиях с различными параметрами.

While-Do или Do-While Loop хорошо помогают, если нужно долистать до нужного значения [Нажимать вниз, пока не появится значение 5 или наоборот, пока значение не равно 5, нажимать вниз].

image

Естественно, в Jubula имеется возможность запускать ночные прогоны, чтобы утром порадоваться зелёным галочкам напротив своих тестов.

Jubula проводит тест, как если бы пользователь его проводил на своем компьютере: водит курсором по окнам приложения, кликает на клавиши, поэтому для чистоты эксперимента в этот момент нельзя двигать мышь или трогать клавиатуру. А как показывает опыт, даже не трогая ничего, пользователь способен смутить Jubula одним своим взглядом так, что она не сможет найти нужную кнопку, или нажать её, или ещё что-то. Поэтому лучшим вариантом будет запускать Jubula на другой машине. В нашем проекте это удалённая машина, куда каждый заходит под своим пользователем, но все его изменения в Jubula становятся доступны и всем остальным.

В нашем проекте Jubula интегрирована с Polarion, это позволяет просматривать статистику, какие тесты прошли или не прошли, какие вообще не были запущены в этом прогоне. Для каждого отдельного тест-кейса в Polarion есть поле Test Records, в котором отображаются результаты последних ночных прогонов в Jubula, их количество можно установить самостоятельно (вплоть до 300). Эта функция помогает легко отследить, с какой версии тест перестал проходить, если за ним не было регулярного наблюдения.

Одним существенным недостатком программы является отсутствие возможности откатить любое изменение, функции шаг назад, отменить или что-то подобное просто нет. Максимум что возможно, это всё закрыть, не сохраняя изменения. Но если нажать Save, то всё. В экстренных случаях есть возможность восстановить версию проекта от определённой даты, это чревато тем, что изменения, сделанные после этого дня будут навсегда утрачены.

Jubula это реально хорошая программа для автоматизации тестов, написанных для десктопного приложения. При желании и наличии навыков у пользователя она позволяет проверить всё, и не только GUI, но и функционал со стороны сервера. Но создание это действительно нежное, к нему надо найти подход, и тогда можно пользоваться им долго и счастливо!
Источник: habr.com
К списку статей
Опубликовано: 04.09.2020 12:07:35
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании deutsche telekom it solutions

Тестирование it-систем

Автоматизация тестирования

Тестирование десктопных приложений

Автоматизация для мануальщика

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru