Участник: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 к компонентам графического интерфейса — по имени, и если имена для компонентов не назначены (а для корректной работы приложения это не требуется), это серьёзно осложняет создание тестов
- если по умолчанию установлена не английская раскладка клавиатуры, возможны косяки при автовводе текста
Ссылки
[править | править код]- http://fest.easytesting.org/ - официальный сайт
- http://docs.codehaus.org/display/FEST/Home - официальная вики
- https://groups.google.com/forum/?fromgroups#!forum/easytesting - форум
- http://code.google.com/p/fest/ - сайт разработки FEST; отсюда же можно скачать готовые библиотеки (для Swing-приложения достаточно архива fest-swing-1.2.zip - там всё есть)
- http://www.ibm.com/developerworks/ru/library/j-swingtest/ - неплохая статья, посвящённая среди прочего основам FEST (рус.)
- http://www.javaworld.com/javaworld/jw-07-2007/jw-07-fest.html?fsrc=rss-index - ещё одна статья
- https://github.com/alexruiz/ - страница главного разработчика (содержит ссылки на библиотеки)
- http://jira.codehaus.org/browse/FEST - багтрекер