Какой инструмент тестирования приложений на основе Swing является лучшим?[закрыто]

StackOverflow https://stackoverflow.com/questions/79891

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Какой инструмент модульного тестирования для тестирования приложений Swing вы предпочитаете?Почему тебе это нравится?

Это было полезно?

Решение

Со своей стороны, мы используем для тестирования SWING GUI с помощью ФЕСТ.Это адаптер классического поворотного робота, но он значительно упрощает его использование.

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

Другие советы

Если ваше целевое приложение имеет пользовательские компоненты, я определенно рекомендую Марафон для автоматизации ваших тестов.

Мне дали задачу автоматизировать приложение с несколькими очень сильно сложные пользовательские компоненты, написанные с нуля собственными силами.Я прошел процесс проверки, который длился два месяца, в ходе которого я принял решение, какой инструмент тестирования использовать, из списка около 30 доступных инструментов тестирования, как коммерческих, так и FOSS.

Это было только инструмент тестирования, который смог успешно автоматизировать наши конкретные пользовательские компоненты;где IBM Rational Functional Tester, Microfocus TestPartner, QF-Test, Abbot & FEST неуспешный.

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

Слово предупреждения, хотя:
1) он довольно грубо обрабатывает JTables.Я обошел эту проблему, написав для них свой собственный прокси-класс.
2) Пока не поддерживает запись/воспроизведение действий перетаскивания.

Рассмотрим Марафон (http://www.marathontesting.com/Home.html) — тесты написаны на Jython, поэтому легко писать любые предикаты на основе состояния объекта.

Однажды мне довелось поэкспериментировать с QF-TEST.Он коммерческий, но предлагает множество функций.Возможно, вы посмотрите на это: http://www.qftest.de/en/index.html

Вы можете попробовать использовать Огурец и Свингер для написания функциональных приемочных тестов на простом английском языке для приложений Swing GUI.Свингер использует Netbeans Джемми библиотека под капотом для управления приложением.

Cucumber позволяет писать такие тесты:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

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

Я очень рекомендую QFTest.Я использовал его для своего коммерческого продукта, и он работает очень хорошо с почти нулевым кодом (для некоторых вещей мое приложение требует использования клиентских API Java).Он хорошо справляется с идентификацией компонентов Swing и довольно терпим к обновлениям вашего графического интерфейса (изменение размера, перемещение и добавление компонентов не нарушают существующие тесты).Я сделал серьезные обновления функциональности, и мои тесты все еще работают.

Это дорого, но я думаю, что окупится за пару месяцев.

Перед QFTest я пробовал:

1) Automatedqa — хороший инструмент, но ориентирован на Windows и не понимает Swing.Похоже на: Быстрый тест Pro.

2) UISpec4J. После того, как я посвятил этому 50 часов в неделю, у меня возникли проблемы с хрупкостью и загадочным Java-кодом, который он создавал.Использовать его было слишком сложно — попытка отладить/обновить сотни строк Java, выполняя последовательность из дюжины операций с графическим интерфейсом, просто не работала для моего мозга.В итоге я стал избегать написания тестов, потому что это намного сложнее, чем написание самого приложения!

попробуй паундер: http://pounder.sourceforge.net/

Мне нравится Jemmy, библиотека, написанная для тестирования Netbeans.

Не ответ, а уточнение.

Запись и воспроизведение — это неправильная вещь.Командам нужна возможность писать тесты до того, как будет написан код.В противном случае программисты завершают свою работу и ждут, пока тестировщики пытаются записать тесты (которые прерываются исправлениями, когда они обнаруживают проблемы).

В настройке типа BDD/TDD/ATDD вам действительно нужен какой-то инструмент, который позволит вам создавать сценарии тестов для еще не написанного кода, указывая имена элементов пользовательского интерфейса и тому подобное.

Существуют ли инструменты, которые подходят для тестирования без водопада?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top