вторник, 1 июня 2010 г.

Важнейшее преимущество способа записи скрипта "BadBoy" над "Прокси-сервер" способом

Самое главное преимущество "BadBoy" способа - это возможность записи скрипта для https приложений. При помощи прокси-сервера запись запросов с секретным протоколом невозможна. На то и эта защита, что бы никакой посредник между клиентом и сервером не мог вклиниться. Зато "BadBoy" сам и есть клиент и он записывает все запросы и http и https.

четверг, 27 мая 2010 г.

Сохранять ответ от сервера на ошибку. - jmeter.save.saveservice.response_data.on_error

Очень полезная опция jmeter.save.saveservice.response_data.on_error. Используется она для сохранения ответа от сервера в случае ошибки. При проведении нагрузки в non-gui режиме нет смысла сохранять все ответы от сервера, так как это займет очень много места и разобраться в них будет очень сложно.
Для активации, выставляем значение параметра jmeter.save.saveservice.response_data.on_error в значение true. Для того, что бы эта опция действительно приносила пользу, необходимо использовать Assertions, которые и будут выдавать ошибку если ответ не верен.

суббота, 15 мая 2010 г.

jmeter.properties

Мало информации существует об ОЧЕНь полезном файлике jmeter.properties.

Всем необходимо знать о его содержимом. Вот например блок Results file configuration:

#---------------------------------------------------------------------------
# Results file configuration
#---------------------------------------------------------------------------

# This section helps determine how result data will be saved.
# The commented out values are the defaults.

# legitimate values: xml, csv, db. Only xml and csv are currently supported.
#jmeter.save.saveservice.output_format=xml


# true when field should be saved; false otherwise

# assertion_results_failure_message only affects CSV output
#jmeter.save.saveservice.assertion_results_failure_message=false
#
# legitimate values: none, first, all
#jmeter.save.saveservice.assertion_results=none
#
#jmeter.save.saveservice.data_type=true
#jmeter.save.saveservice.label=true
#jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
#jmeter.save.saveservice.response_data=false
# Save ResponseData for failed samples
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
jmeter.save.saveservice.requestHeaders=true
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=false
#jmeter.save.saveservice.sample_count=false

Assertions в JMeter

Если развивать тему усложнения скрипта, то необходимо расставлять Assertions после каждого запроса, который открывает новую страницу, либо делает какие-то полезные действия. Наиболее полезный Response Assertion. Принцип действия его интуитивно понятен. Полезность его в том, что если на некий запрос пришла не та страница, то jmeter не выдаст ошибку сам по себе, так как код ответа 200, но дальнейшее исполнение скрипта не имеет смысла. Для этого и используем Assertions.

среда, 10 февраля 2010 г.

JMeter 2nd page

Записки маленького тестировщика. Часть вторая.

Доработка JMeter скрипта.

После записи скрипта не важно каким способом или "прокси-сервер", или "BadBoy", он в любом случае нуждается в доработке для корректной работы с приложением. Его нужно параметризовать. В чем заключается параметризация я попытаюсь показать наглядно ниже.

Тестировать будем приложение
http://demo.flamingo.exadel.com/booking/home.seam

1. Запишем скрипт используя BadBoy способ.
Записываем следующие действия:

1.1. Вводим http://demo.flamingo.exadel.com/booking/home.seam.
1.2. Логинимся с данными Login Name: loaduser1 и Pas
sword: 12345.
1.3. Кликаем Find Hotels кнопку.
1.4. Кликаем на любой View Hotel ссылку.
1.5. Нажимаем Book Hotel кнопку.
1.6. Заполняем поля Credit Card и Credit Card Name значением 1231231231231231.
1.7. Жмем Proceed кнопку.
1.8. Кликаем Confirm кнопку.
1.9. Удаляем в таблице Current Hotel Bookings созданную запись, кликая Cancel.
1.10. Нажимаем Logout ссылку.

JMeter 1st page

Привет всем! Это мой первый блог так, что прошу не судить строго. Многое из того, что вы увидите плагиат, но я пытался расставлять ссылки на оригиналы. Данный блог не претендует на абсолютную истину. Я надеюсь он просто поможет начинающим в JMeter.
И так..... Записки маленького тестировщика. Часть первая.

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

Содержание:
1. Скачать, установить, запустить
2. Запись скрипта
2.1. Ручной способ
2.2. "Прокси-сервер" способ
2.3. "Bad Boy" способ
3. Доработка скрипта
3.1. После записи через прокси
3.2. После записи через BadBoy
4. Нагрузка баз данных
5. Нагрузка веб-сервисов
6. JMeter для регрессии и стресс-тестирования
7. Полезные ссылки по литературе

1. Скачать, установить, запустить

JMeter - это бесплатный продукт. А это значит, что его можно свободно скачать ничего не опасаясь. Качаем 2.3.x.zip и распаковываем.
Специальной установки он не требует так, что JMeter готов к работе.
Двойной клик по файлу JMeter.bat в директории jmeter/bin запустит приложение. И вот ОНО работает. :)