Участник:Bboogwin/FEST

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Fixtures for Easy Software Testing (FEST) — набор программных инструментов для тестирования приложений.

Общие сведения

[править | править код]

Технически FEST представляет собой набор библиотек, позволяющих создавать тесты в разных тестовых фреймворках, выполнение которых состоит в работе с пользовательским интерфейсом приложения (как правило, написанного с помощью графических фреймворков Java, но существует также возможность тестирования web-приложений за счёт использования FEST как оболочки для библиотеки Selenium.

Код тестов FEST может быть написан только вручную — генерации тестов на основе записи действий пользователя для их последующего воспроизведения (capture/playback testing) библиотека не предусматривает.

Поддерживаемые платформы и тестовые фреймворки

[править | править код]

К 3 сентября 2013 года FEST поддерживает работу со следующими платформами и графическими фреймворками:

Планироваласть также поддержка SWT, однако, судя по последним комментариям разработчиков на эту тему, сейчас библиотека в этом направлении не развивается — взамен авторы рекомендуют использовать SWTBot.

Тесты FEST могут быть реализованы как тесты одного из двух тестовых фреймворков: JUnit (версии 4) или TestNG.

Возможности

[править | править код]

Представляется достаточным подключить к содержащему тесты проекту необходимые библиотеки FEST; конкретно для тестирования Swing-приложения нужны:

  • fest-swing-1.2.jar
  • fest-swing-junit-1.2.jar
  • fest-swing-junit-4.5-1.2.jar
  • fest-util-1.1.2.jar
  • fest-assert-1.2.jar
  • fest-reflect-1.2.jar
  • JUnit 4

Также нужно подключить проект приложения, которое тестируется, или (лучше) его сборку в виде библиотеки. После этого можно писать JUnit-тесты с использованием FEST и запускать их.

Создание тестов

[править | править код]

+ примеры

Известные проблемы и недостатки

[править | править код]
  • как и многие другие системы тестирования пользовательского интерфейса, тесты FEST работают только при условии открытия сеанса работы в графическом интерфейсе операционной системы, причём они полностью занимают такой сеанс, не давая пользователю параллельно работать за компьютером самому, так как используют те же ресурсы рабочего стола — курсор, окна и т. д. Частично эта проблема решается виртуализацией.
  • для работы FEST требует, чтобы все события в графическом интерфейсе выполнялись в Event Dispatching Thread — во-первых, это не всегда так, хотя по уму должно быть, во-вторых, если такие действия вызываются из дополнительных потоков, то для FEST их не существует.
  • основной способ обращения FEST к компонентам графического интерфейса — по имени, и если имена для компонентов не назначены (а для корректной работы приложения это не требуется), это серьёзно осложняет создание тестов
  • если по умолчанию установлена не английская раскладка клавиатуры, возможны косяки при автовводе текста