Oops... your message was not sent

Your message has been successfully sent

тематические истории, основанные на опыте компании JetRuby
QA

Почему мы используем JMeter

При упоминании нагрузочного тестирования веб-сайтов/сервисов и баз данных, первым приходящим в голову инструментарием является JMeter. Его авторитетность не подвергается сомнению. JMeter — один из известнейших и старейших инструментов.  Грубо говоря, его можно назвать стандартом в сфере нагрузочного тестирования, на который следует ориентироваться разработчикам.

На заметку

JMeter выступает в качестве базиса для такого инструмента, как Яндекс.Танк. Однако его сложно назвать лучшим выбором для функционального тестирования веб-интерфейсов. JMeter хорош в другом. В частности, основными направлениями использования этого инструмента является нагрузочное и стресс-тестирование.  При этом JMeter может работать с HTTP, HTTPS, SOAP, FTP, SMTP, POP3, IMAP, LDAP и базами данных.

В настоящее время выбор инструментов для нагрузочного тестирования достаточно широк. Вы можете использовать, как “опенсорсные”, так и “проприетарные” проекты. В этой связи во главу угла ставится правило выбора инструмента под конкретную задачу. Мы предлагаем рассмотреть основные преимущества JMeter.

Преимущества инструмента…

JMeter_percentage

  1. JMeter является кроссплатформенным инструментом. Для его работы необходимо лишь наличие Java (JRE) на хосте.  Таким образом, вы можете работать, как с локальным экземпляром, так и с экземпляром, установленным на сервере. Далеко не каждый инструмент может этим похвастаться.
  2. JMeter — это проект с открытым кодом.  Его развивает активное сообщество пользователей. Отмечаем: отсутствие ограничений в плане модификации и создания новых плагинов.
  3. JMeter распространяется под Apache License 2.0, что позволяет использовать инструмент практически в любых целях.
  4. Простота разворачивания и удобство в использовании. Для того чтобы развернуть JMeter локально, достаточно скачать и распаковать архив, расположенный на официальном сайте. Если же у вас установлена Java (JRE), остается лишь запустить jmeter.jar. Удобство в использовании, прежде всего, заключается в интуитивно понятном интерфейсе. Инструмент прост и одновременно эффективен. Разнообразные варианты использования JMeter подробно описывают многочисленные материалы на официальном сайте продукта и в интернете в целом. Также нельзя не отметить, что инструмент позволяет создавать тестовые сценарии с самописным кодом (Java, BSF, JSR223) или без использования кода, обходясь набором готовых компонентов.
  5. Возможность работать, как с UI, так и без него. Выполнение тестовых сценариев в командной строке позволяет полноценно интегрировать их в сценарии CI инструментов.
  6. Широкий выбор готовых компонентов. В JMeter есть все. Во всяком случае —  практически все, что нужно для тестирования. В противном случае под конкретную задачу всегда можно написать новый компонент.
  7. Отдельным пунктом следует отметить инструментарий сбора и отображения результатов — так называемые отчеты. Они весьма разнообразны и позволяют получить максимально подробную и разностороннюю информацию.Собранные результаты можно сохранять в различных форматах, например: CSV, XML, HTML.
  8. JMeter умеет кластеризоваться, т.е. вы можете создать ферму нагрузочных машин, управляемых как единое целое.
  9. JMeter позволяет записывать пользовательские сценарии и последовательность посещаемых страниц. В результате на их базе строится тестовый план.
  10. Инструмент поддерживает переопределение базового Java семплера (речь идет об интерфейсе org.apache.jmeter.protocol.java.sampler.JavaSamplerClient). Как правило, это используется для собственной реализации интерфейса, что позволяет применять JMeter для увеличения или уменьшения количества потоков, а также изменения входного контроля параметров и сбора данных.
  11. Поддержка регулярных выражений.
  12. Работа со структурой страниц. JMeter поддерживает JQuery селекторы и XPath язык запросов.
  13. Тестовые скрипты. Исходный код JMeter очень удобно хранить в репозитории, управляя его изменениями.
  14. Возможность нагрузочного тестирования для почтовых серверов.
  15. Возможность нагрузочного тестирования баз данных, включая базы данных NoSQL (например MongoDB).

…и недостатки

166

Справедливости ради, стоит отметить и недостатки. Их немного, но они все-таки имеют место:

  1. Java среда. Утечки памяти и некоторая прожорливость в этом плане дают первый минус.
  2. Недостатком имитации поведения пользователей в JMeter является отсутствие поддержки случайных интервалов времени между запросами и независимых интервалов ожидания (think time) для различных URL.
  3. Некоторые пользователи отмечают проблемы с официальной документацией. Однако по нашему мнению этот момент заслуживает дополнительных комментариев.

Будем рады услышать ваше мнение по поводу преимуществ и недостатков JMeter в комментариях. Следите за нашим блогом.

department
Статью подготовил
Отдел обеспечения качества
Профессиональное тестирование программного обеспечения. Мы используем самые эффективные практики и системы управления, гарантирующие наивысшее качество вашего продукта.
New Articles