2009-02-10 3 views
16

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

Записывают ли они только http-запрос и воспроизводят его?
Правильно ли протестировать приложение AJAX?
Как Google проверяет свои приложения ajax?

ответ

1

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

Чтобы добавить в мой ответ,

Если говорить о модульном тестировании ваш Javascript, вы можете использовать что-то вроде QUnit как описано собрата LosTechian in this posting. Это довольно изобретательное использование nunit addin и qunit для интеграции модульных тестов js.

По чистой случайности, тот же человек, который писал, что в блоге тестирования QUnit просто разместил один вчера о this very topic приложений

+5

Это не нагрузочное тестирование. тестирование нагрузки тестирует работу приложения под заданной нагрузкой, например, «насколько хорошо он работает со 100 одновременными пользователями». – MorganTiley

0

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

1

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

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

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

Проще всего я сделал это, чтобы записать образец сессии, заменить несколько параметров переменными и закодировать его из файла csv или excel.

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

Редактировать: обновлена ​​ссылка на видео.

+0

Ссылка на видео теперь сломана – dg123

1

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

0

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

0

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

1

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

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

6

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

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

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

0

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

0

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

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

0

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

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

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

2

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

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

0

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