2010-01-11 2 views
2

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

Я ищу инструменты, такие как Culerity и Selenium, которые могут выполнять javascript переднего конца во время запуска пользовательских историй. Я ищу что-то, что может обеспечить покрытие интерфейсных функций javascript и высокого уровня, не всасывая тонны времени разработки, поддерживая сложную тестовую среду. В настоящее время мы используем Rspec, Cucumber и CruiseControl.rb, поэтому простая интеграция с этими инструментами будет идеальной.

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

Спасибо.

ответ

1

Звучит так, будто вы продвигаетесь дальше по этой дороге, чем я, но я все равно прокомментирую.

Я работаю над проектом JavaScript (с поддержкой Java + MySQL) и решил использовать Selenium для тестирования и попытаться достичь как можно более полного покрытия. Я также выкарабкался с помощью нескольких других инструментов тестирования, но я не могу сказать, что я действительно знал их. Ни один из них не появился с их веб-сайтов, чтобы быть очень полированным или популярным по сравнению с Selenium. В конце концов, я планирую интегрироваться в CruiseControl, но пока этого не сделал.

Это был интересный проект, и в конце дня я вполне доволен Селеном. Selenium plusses:

  1. Тестовые «скрипты» могут быть записаны на Java, без скрытого языка сценариев. Помимо прочего, вы можете легко делать такие вещи, как манипулировать и проверять данные в своей базе данных до и после тестов.
  2. Se также поддерживает Perl, C# и т. Д. Я думаю, хотя это меня не интересует.
  3. Selenium IDE - отличный инструмент для быстрого понимания того, как работает Se, как работают локаторы и т. Д. Вы не хотите, чтобы на самом деле выполнялись тесты в долгосрочной перспективе с использованием среды IDE, но это здорово для того, чтобы ваши ноги были мокрыми, а для текущих выдумывая вещи.
  4. Se, кажется, работает безупречно с jUnit. Вероятно, TestNG также, но еще не пробовал, он находится в моем списке задач.
  5. Отличная документация и веб-сайт.

Недостатки:

  1. Я потратил много времени выяснить, как найти элементы во всех случаях. Это частично «ошибка» используемой структуры (ExtJS), а не Selenium.
  2. Кажется, что бы вы ни делали, у Se есть зависимости от времени - например. где вам нужно вводить искусственные паузы, чтобы заставить его работать.
  3. В моих тестах также есть зависимости размера монитора. Я думаю, что это крайне нежелательно, но в некоторых местах это кажется неизбежным. В основном, это связано с тем, что существует много типов элементов, которые JS не поддерживает, вы нажимаете программно.
  4. Связано с №3, в местах, где я вынужден управлять мышью. Это означает, что у вас должен быть выделенный тестовый компьютер. Это неважно, но не кажется правильным.
  5. Тесты медленные - в основном из-за времени, которое требуется Se для вызова Firefox.Без сомнения, это частично моя среда, и я подозреваю, что могу сделать много вещей, чтобы улучшить это. Однако это действительно заметно и не очевидно, почему. Для выполнения около 40 тестов требуется около 10 минут.
  6. Форум поддержки очень пятнистый. Ну, вы получаете то, за что платите. Но время от времени я обнаружил, что кто-то опубликовал мою проблему, и сообщение было проигнорировано, или же было предложено недействительное решение без каких-либо последующих действий, когда ОП указал, что предложение было фиктивным.

HTH, приветствия.

Смежные вопросы