Какие-нибудь предложения для хорошего автоматизированного веб-инструмента тестирования нагрузки? - PullRequest
6 голосов
/ 04 июня 2010

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

Мне известно, что на рынке существует множество инструментов для нагрузочного тестирования, которые записывают и воспроизводят сетевые пакеты HTTP. Но они не подходят для моей цели, из-за этого:

  • Формат пакета HTTP очень часто меняется в нашем приложении (например, когда мы оптимизируем вызов AJAX). Мы не хотим адаптировать все тестовые сценарии только потому, что есть небольшое изменение в формате пакета HTTP.

  • Наша испытательная группа не должна знать никаких внутренних документов о нашем приложении написать свои тестовые сценарии. Инструмент, который воспроизводит HTTP-пакеты, однако, требует команда должна знать формат HTTP-запросов и ответов, чтобы они может адаптировать детали воспроизводимых HTTP-пакетов (например, имя пользователя).

Инструмент автоматизированного нагрузочного тестирования, который я ищу, должен позволять группе тестирования писать сценарии «черного ящика», такие как:

  • Вызов веб-страницы по URL http: //....
  • Сначала введите XXX в текстовое поле XXX .
  • Затем нажмите кнопку XXX .
  • Дождаться получения ответа от веб-сервера.
  • Убедитесь, что текстовое поле XXX теперь содержит текст XXX .

Инструмент должен иметь возможность имитировать до нескольких тысяч пользователей и должен быть совместим с веб-приложениями, использующими ASP.NET и AJAX.

Ответы [ 5 ]

2 голосов
/ 04 июня 2010

JMeter Я считаю, что это довольно полезно, у него также есть функция записи для записи вариантов использования, поэтому вам не нужно указывать каждый GET / POST вручную, а вместо этого «нажать» на сценарий использования один раз, а затем позволить JMeter повторить это.
http://jmeter.apache.org/

1 голос
/ 04 июня 2010

Лицензия может стоить дорого (если у вас нет MSDN), но выпуск Visual Studio 2010 Ultimate содержит большой набор инструментов для нагрузочного и стресс-тестирования, которые выполняют то, что вы описываете. Вы можете попробовать его бесплатно в течение 90 дней здесь.

0 голосов
/ 05 июня 2010
0 голосов
/ 04 июня 2010

TestMaker от PushToTest.com может запускать записанные скрипты, такие как Selenium, а также многие другие языки, такие как HTML, Java, Ruby, Groovy, .Net, VB, PHP и т. Д. Он имеет общую инфраструктуру отчетности, и вы можете создавать нагрузки в вашей тестовой лаборатории или в облачных средах тестирования, таких как EC2, для виртуальных тестовых лабораторий.

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

http://www.pushtotest.com

0 голосов
/ 04 июня 2010

Есть несколько подходов; Однако я был в ситуациях, когда мне приходилось катать свои собственные утилиты, генерирующие нагрузку.

Что касается вашего тестового сценария, он включает в себя:

  • отправка запроса GET на http://form страницу входа (только проверка, если дан ответ 200)
  • отправка запроса POST на http://form отправка страницы с предварительно сгенерированными парами ключ / значение для текста XXX и выполнение проверки регулярного выражения для ответа

Если ваша веб-страница не является сложной AJAX, нет необходимости "имитировать нажатие кнопки" - об этом заботится запрос POST.

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

Ранее я использовал httperf для нагрузочного тестирования большого веб-сайта: он может имитировать сеанс, состоящий из нескольких запросов, и может одновременно симулировать большое количество пользователей (то есть сеансов). Например, если ваш веб-сайт сгенерировал cookie-файл сеанса с домашней страницы, вы могли бы сделать этот первый запрос, тогда httperf будет использовать этот cookie для последующих запросов, пока он не завершит выполнение списка предоставленных запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...