Подтвердить что ты не робот

Инструменты для тестирования нагрузки Ajax

Кажется, что есть много инструментов для тестирования нагрузок/нагрузок, которые поддерживают AJAX.
Мне интересно, насколько хорошо этот инструмент реализован.

Записывают ли они только HTTP-запрос и воспроизводят его?
Это правильный способ протестировать приложение AJAX?
Как Google тестирует свои приложения ajax?

4b9b3361

Ответ 1

Если вас беспокоит только функциональность, что-то вроде Watin, Watir, Selenium или любой функциональный инструмент в этом отношении будет работать. Пока вы добавляете достаточное количество времени в свои функциональные тесты, чтобы разрешить обратные вызовы ajax, тогда это должно сделать трюк.

Чтобы добавить к моему отзыву,

Если вы говорите об модульном тестировании своего javascript, вы можете использовать что-то вроде qunit, как описано другим LosTechian в этой публикации. Это довольно изобретательное использование nunit addin и qunit для интеграции тестов js unit.

По чистому совпадению тот же человек, который опубликовал сообщение о том, что сообщение о блоге qunit, опубликованное вчера вчера, эта тема

Ответ 2

Большинство инструментов тестирования нагрузки там испытывают нагрузку AJAX одинаково: они выполняют необработанный HTTP-трафик, который просматривается на этапе "записи" (который может быть запросом страницы, запросами изображения или даже запросами AJAX). Основное различие между ними заключается в том, насколько хорош их инструмент для записи /IDE и насколько он помогает вам параметризовать HTTP-запросы, чтобы они отражали реальный трафик на основе динамических/реальных результатов.

Предупреждение, вопиющая версия. Единственное реальное исключение - это моя компания, BrowserMob. Вместо того, чтобы имитировать отслеживаемый трафик, на самом деле он использует реальные веб-браузеры для обратной загрузки. Таким образом, содержимое AJAX обрабатывается браузером.

Полезная ссылка: отдельно от вопиющего прошивки выше (хотя я надеюсь, что вы это проверите - мы впереди с ценой и предоставляем бесплатную пробную версию), я недавно написал статью для Ajaxian о нагрузке AJAX. Более подробно о технических последствиях использования реальных пользователей браузера (RBU) и виртуальных пользователей (VUs).

Ответ 3

Взгляните на LoadBooster (https://www.loadbooster.com). Он использует безгласный скриптовый браузер PhantomJS/CasperJs для тестирования веб-сайтов. Phantomjs будет анализировать и отображать каждую страницу, выполнять клиентскую сторону script. Безлимитный подход к браузеру легче записывать тестовые сценарии для поддержки сложного приложения AJAX heavy Web 2.0, навигации браузера, щелчка мышью и нажатия клавиш в браузере или дождаться существования элемента в DOM. LoadBooster поддерживает селен HTML script тоже.

Отказ от ответственности: я работаю для LoadBooster.

Ответ 5

Все тестеры нагрузки будут поддерживать AJAX - они просто дополнительные http-соединения.

Есть несколько бесплатных там - Jmeter, BadBoy, Grinder, что все это хорошо.

Все они имеют определенную поддержку для записи/воспроизведения, но это не всегда то, что вы ищете.

Самый простой способ сделать это - записать пример сеанса, заменить несколько параметров на переменные и закодировать его из файла csv или excel.

Отличная отправная точка: видео презентации Google с открытым исходным кодом.

Изменить: обновленная ссылка на видео.

Ответ 6

Если вы не хотите настраивать свой собственный сервер тестирования нагрузки, есть несколько бесплатных онлайн-сервисов тестирования нагрузки, которые могут запускать тесты нагрузки непосредственно через Интернет. Например http://loadimpact.com или http://loadstorm.com

Ответ 7

Я использовал Virtual User Generator, который является частью программного обеспечения Loadrunner от HP, для тестирования приложений AJAX. Программное обеспечение имеет несколько протоколов приложений, которые могут использоваться для записи веб-приложений, например. AJAX и Click и Script.

Для большинства тестовых нагрузок веб-приложений достаточно записывать и воспроизводить http-запросы. Это даст результат того, как серверы обрабатывают нагрузку. Если ваше веб-приложение выполняет много асинхронной загрузки и рендеринга на стороне клиента, например, синтаксический анализ больших наборов данных xml или json или многих модификаций DOM, может быть уместным включить уровень браузера для измерения конечного пользователя.

Ответ 8

Я использовал SilkPerformer на предыдущем задании. Согласно ссылке, у них есть некоторые улучшения AJAX. К сожалению, Шелк далеко не свободен.

Ответ 9

Проверьте Jiffy. Это комплексный набор измерений, и в дальнейшем он является сложным. Однако статистика довольно впечатляющая.

Ответ 10

Siege? он может выполнять HTTP-тестирование и передавать все, что вам нужно.

Ответ 11

Вы также можете посмотреть fwptt, это с открытым исходным кодом. Если вы являетесь разработчиком .net, вы можете использовать автоматическую обработку параметров и возможность использовать свой собственный .net-объект для проведения тестов.

Ответ 12

Я успешно использовал JMeter для загрузки теста нашего приложения Ajax (JSF/RichFaces). Я не потрудился с инструментом записи JMeter - скорее, я использовал плагин HttpFox для Firefox, чтобы отслеживать, что браузер выполняет POST-ing на сервере, и я воссоздал это в JMeter.

Это стало немного сложнее, но тест нагрузки теперь довольно прочен. JMeter имеет всевозможные полезные "элементы" для извлечения идентификатора с веб-страницы, выполнения условной логики, счетчиков приращений и т.д.

Ответ 13

Лучше написать изолированный тестовый метод или API для приложения ajax для тестирования нагрузки. Есть несколько причин:

  • Не так просто написать функциональные тесты для приложений Ajax, например, для GWT.
  • Вы можете использовать Jmeter WebDriver плагин, но для каждого запуска он запускает браузер, который будет использовать большую часть ОЗУ и ЦП.
  • Вы загружаете бэкэнд без интерфейса, поэтому вы можете избежать ajax.

Вы можете разделить свое тестирование следующим образом: для приложения Ajax используйте Selenium или PhantomJS/CasperJS. Для тестирования нагрузки используйте JMeter, Gatling через API, а не через Ajax.

Ответ 14

Мой выбор - firebug (аддон браузера). его очень легкий и удобный в обращении