Перейти к содержимому

Фотография

Чем тестировать GUI на Java?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 17 сентября 2005 - 13:18

Возникла вот задача - автоматизированное тестирование GUI приложения, написанного на Java.

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

Я пока присматриваюсь к Abbot. Большинство остальных решений, как я понял, не поддерживают программирование тестов (только запись/воспроизведение макросов)
  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 17 сентября 2005 - 16:38

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

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

Из коммерческих, видимо, для тестирования Java GUI удобнее всего использовать IBM Rational Functional Tester, но это я говорю чисто теоретически, опыта его использования у меня нет.

Мне приходилось использовать два некоммерческих продукта для тестирования Java GUI -- Jemmy и Abbot. Причем в обоих тесты разрабатывались вручную с нуля, без предварительной записи.

Я лично отдаю предпочтение Jemmy, мне его API кажется наиболее удобным. Я даже затрудняюсь объяснить, почему. Он какой-то более объектно-ориентированный, что ли -- удобно организованная архитектура, легко расширяется для собственных элементов UI. Кроме того, там уже есть заготовленные средства для работы с элементами UI среды разработки NetBeans, а нам приходилось разрабатывать плагины для нее.

Однако, сейчас мы разрабатываем ПО также с использованием SWT, а не только Swing, поэтому постепенно начинаем использовать Abbot, так как у него, в отличие от остальных, есть поддержка и для того, и для другого. Мне Abbot не нравится, но жизнь заставляет.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 17 сентября 2005 - 16:46

Я пока присматриваюсь к Abbot. Большинство остальных решений, как я понял, не поддерживают программирование тестов (только запись/воспроизведение макросов)

С чего вы взяли? Запись это всего лишь вспомогательный инструмент, позволяющий существенно сократить время на разработку тестов. Также как визуальные редакторы в средах разработки позволяют существенно сэкономить время на выполнение рутинных операций при создание GUI приложения. Если вы предпочитаете лопату экскаватору, то это ваше право. Но в кабинете экскаватора есть и лопата. Если хотите писать весь код ручками, то прекрасно сможете это делать с теми же WR/QTP, Robot, SilkTest и пр. подобными инструментами.
  • 0
Дмитрий Шевченко

HP Software

#4 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 17 сентября 2005 - 17:13

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

[...]

Однако, сейчас мы разрабатываем ПО также с использованием SWT, а не только Swing, поэтому постепенно начинаем использовать Abbot, так как у него, в отличие от остальных, есть поддержка и для того, и для другого. Мне Abbot не нравится, но жизнь заставляет.

Просмотр сообщения



Большле спасибо за столь развернутый ответ.
Разумеется, в первую очередь я смотрел на бесплатные продукты. Кроме того, нужна кроссплатформенность (нужно тестировать под Windows и как минимум под парой-тройкой *nix-систем).

До Jemmy я пока не добрался (впрочем, и по Abbot'у только документацию почитал), но вообще как раз их двоих и рассматривал как кандидатуры. Просто у меня не очень хорошо пока с тем, что называется "оценивать пригодность инструмента тестирования". А вообще, да, нам тоже нужно SWT/Swing приложение тестировать.
  • 0

#5 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 17 сентября 2005 - 17:23

С чего вы взяли? Запись это всего лишь вспомогательный инструмент, позволяющий существенно сократить время на разработку тестов. Также как визуальные редакторы в средах разработки позволяют существенно сэкономить время на выполнение рутинных операций при создание GUI приложения. Если вы предпочитаете лопату экскаватору, то это ваше право. Но в кабинете экскаватора есть и лопата. Если хотите писать весь код ручками, то прекрасно сможете это делать с теми же WR/QTP, Robot, SilkTest и пр. подобными инструментами.

Просмотр сообщения


Да ни с чего я не брал.
Просто по самому банальнейшему запросу в Google на одной из ссылок можно посмотреть список "хорошо известных" инструментов, и против каждого описание - "capture/playbak tool" или "programmaticaly.. ". смысл в том, что часть этих инструментов действительно умеет только записать и воспроизвести, и пригодна поэтому только для презентаций/демонстраций.

а кабинета в экскаваторе нет :-)
  • 0

#6 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 17 сентября 2005 - 17:57

Просто по самому банальнейшему запросу в Google на одной из ссылок можно посмотреть список "хорошо известных" инструментов, и против каждого описание - "capture/playbak tool" или "programmaticaly.. "

Ну на заборе тоже написано. А там дрова...

а кабинета в экскаваторе нет :-)

Упс. Описка вкралась  :clapping:  Имелась в виду кабина экскаватора.
  • 0
Дмитрий Шевченко

HP Software

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 19 сентября 2005 - 05:40

А вообще, да, нам тоже нужно SWT/Swing приложение тестировать.

Просмотр сообщения

На всякий случай (поскольку SWT и Swing написаны через слеш) для предотвращения недоразумений замечу, что это две совсем разные технологии разработки GUI от разных вендоров: AWT/Swing -- это технология Sun, входящая в их стандартный дистрибутив JDK, а SWT/JFace -- это технология IBM, разработанная в рамках проекта Eclipse и распространяющаяся как с Eclipse, так и самостоятельно.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных