Инструменты для тестирования нагрузки Ajax
Кажется, что есть много инструментов для тестирования нагрузок/нагрузок, которые поддерживают AJAX.
Мне интересно, насколько хорошо этот инструмент реализован.
Записывают ли они только HTTP-запрос и воспроизводят его?
Это правильный способ протестировать приложение AJAX?
Как Google тестирует свои приложения ajax?
Ответы
Ответ 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.
Ответ 4
Приложения Google записываются в GWT, который поставляется с собственным расширением JUnit. Статья о модульном тестировании приложений ajax с GWT.
Ответ 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 (аддон браузера). его очень легкий и удобный в обращении