Найти в Дзене

5 инструментов нагрузочного тестирования

Рассмотрим некоторые из них.
Оглавление
Статья подготовлена для студентов курса «Нагрузочное тестирование» в образовательном проекте OTUS.

Нагрузочное тестирование — важнейший процесс современной разработки ПО, позволяющий определить пределы работоспособности созданного проекта с учётом предъявляемых к этому проекту (системе) требований. Такой вид тестирования предполагает определение либо сбор показателей производительности и времени отклика, поэтому используемые инструменты играют немаловажную роль. Рассмотрим некоторые из них.

JMeter

Старый добрый Apache JMeter, который до сих пор считается одним из наиболее популярных бесплатных инструментов.

Преимущества:

• запускается на разных платформах (является Java-продуктом);

• инсталляция и запуск отличаются простотой;

• интерфейс интуитивно понятен;

• результаты работы наглядно отображаются;

• можно писать свои кейсы;

• поддерживаются протоколы HTTP, LDAP, JDBC, SOAP, JMS и FTP;

• есть возможность интеграции с Selenium и Bean Shell для автоматизированного тестирования;

• можно записывать все активности в веб-браузере.

Минусы:

• нет функция для записи HTTPS-связи;

• трафик AJAX не перехватывается;

• при формировании отчетов расширенные возможности не предоставляются.

Galting

Достаточно мощный инструмент для выполнения нагрузочных тестов, поддерживающий язык программирования Scalа. В программе 2 файла: один обеспечивает запись тестовых сценариев, второй – их выполнение.

Плюсы Galting:

• гибкость в процессе взаимодействия с различными браузерами и ОС;

• отчёты визуализируются в виде графических таблиц;

• обеспечивается простота взаимодействия с Jenkins, есть возможность тестирования через Gradle и Maven (используются соответствующие плагины);

• отладка тест-кейсов упрощена;

• есть возможность простого поиска недостатков ПО ещё на первых этапах разработки.

Минусы:

• при изменении API возможно появление проблем запуска тестовых сценариев прежних версий;

• нельзя распределить нагрузку между устройствами;

• отсутствует горизонтальное масштабирование.

The Grinder

Очередная программа для нагрузочного тестирования, которая основана на Java. При написании скриптов применяется язык Jython (реализация Java в Python). The Grinder предоставляет достаточно мощный движок сценариев с функцией их записи.

Плюсы:

• для работы подходит любая платформа, где запускается JVM;

• поддерживается большинство протоколов;

• разработка тестовых сценариев выполняется легко и быстро;

• можно создавать свои плагины для интерфейса;

• настройка параметров упрощена;

• обеспечивается гибкость при работе со сторонними библиотеками;

• поддерживается Jira.

Минусы:

• периодически возникают неполадки во время загрузки крупных файлов;

• уровни нагрузки нельзя регулировать с помощью консоли;

• нет возможности расширенного анализа;

• для работы потребуются знания Jython либо Clojure.

Яндекс.Танк

Инструмент для выполнения нагрузочного тестирования и анализа производительности приложений и web-сервисов. Был разработан в Яндексе в 2006 году и является сегодня основным инструментом Яндекса, используемым для измерения производительности сервисов.

Модульная архитектура даёт возможность использовать разные генераторы нагрузок, включая высокопроизводительный асинхронный hit-based-генератор HTTP-запросов Phantom и сценарный инструмент jMeter, подающий нагрузку для разных протоколов.

Другие возможности:

• встроен мониторинг ресурсов тестируемого сервера по SSH-протоколу;

• возможна автоматическая остановка теста по заданным условиям;

• вывод результатов осуществляется как в консоль, так и в виде графиков;

• можно подключать собственные модули для достижения нужной функциональности.

HP Performance Center

Программное обеспечения для тестирования производительности, с помощью которого вы сможете создать единый стандартизированный центр тестирования, имеющий глобальный доступ. В основе — инструмент HP LoadRunner, который считают одним из лучших в сфере тестирования производительности.

Верхний уровень управления представляет собой интернет-платформу, доступную из любого места, что упрощает тестирование и совместную работу на уровне всей организации. При этом решение доступно круглосуточно и обеспечивает одновременный доступ к средствам тестирования всем сотрудникам, работающим в разных уголках мира.

Большинство из вышеперечисленных инструментов подробно рассматриваются на курсе «Нагрузочное тестирование». Не пропустите!

Приглашаем 30 июня в 20:00 на День открытых дверей курса «Нагрузочное тестирование»
Первые 20 участников, зарегистрировавшихся на этот вебинар, получат Сертификат на скидку на электронную почту и еще 10 сертификатов на скидку распределим в прямом эфире между теми, кто записался на вебинар.