Сравниваем инструменты тестирования производительности мобильных приложений, в том числе предоставляемые услуги и стоимость: Gatling, JMeter, Apptim и другие. Обсудить
Пользователи не любят ждать: если приложения загружается дольше трех секунд, половина из них окажутся разочарованы. Не менее важно, чтобы программа вела себя корректно на разных устройствах и при различной нагрузке. Для этого необходимо тестировать приложение и на стороне клиента, и на стороне сервера. В этой статье мы рассмотрим 10 инструментов тестирования производительности мобильных приложений.
1. Akamai CloudTest
Akamai CloudTest – инструмент нагрузочного тестирования, обеспечивающий проверку производительности с помощью пользовательского тестирования. Пригодится в глобальной оценке нагрузки, моделировании крупных событий, при контроле и создании визуальных тестов.
Особенности:
есть инструменты непрерывной интеграции, и автоматизированного Shift Left тестирования; можно протестировать инфраструктуру с учетом географически распределенной нагрузки, сгенерировать трафик, релевантного фактической пользовательской базе; объектно-ориентированные сценарии позволяют вставлять условные выражения и циклы, повторно использовать и комбинировать тесты; имеется дашборд для прогона тестовых ситуаций; есть готовые панели мониторинга, можно создать и настроить собственные; с помощью таких панелей можно объединить аналитику, включив данные из сторонних инструментов мониторинга. Цена : необходимо уточнять по задаче.
2. Apica LoadTest
Apica LoadTest служит для проверки масштабируемости приложений и определения узких мест в производительности. Поддерживается широкий спектр приложений и устройств: от сайтов электронной коммерции и потокового видео до мобильных приложений и IoT.
Особенности:
есть стресс-тесты с географической направленностью; готовые скрипты для нагрузочного тестирования приложений; интегрируется из коробки с New Relic и AppDynamics. Цена: есть бесплатная пробная версия.
3. Apptim
Apptim позволяет анализировать производительность на стороне клиента. Измеряет время рендеринга, энергопотребление, использование ресурсов, создание журналов и на Android, и на iOS.
Особенности:
оценивает производительность при запуске на реальных устройствах; после каждого сеанса тестирования инструмент генерирует отчет с показателями производительности и ошибками; подробная документация; когда выходит новая версия приложения, можно сравнить результаты тестов производительности. Цена : есть платная и бесплатная версии.
4. BlazeMeter
BlazeMeter предоставляет возможность непрерывного тестирования, а также тестирования производительности под нагрузкой. Есть веб-интерфейсы для создания статических нагрузочных тестов и запуска динамических тестов. Есть распределенное тестирование, отчеты в реальном времени, интеграция с инструментами разработчика и мониторинг производительности приложений.
Особенности :
cовместимость с Apache JMeter; cоздание тестов в любом масштабе – до 1 млн. пользователей; настройка тестов в течение нескольких минут; запуск из облака или локально; запуск тестов из нескольких географических локаций; имитация мобильного тестирования с реальных устройств; совместное использования сценариев и отчетов; интеграция с ведущими инструментами CI и APM; мониторинг работы настольных и мобильных пользователей. Цена : есть бесплатные, платные и пробные подписки.
5. Eggplant
Eggplant позволяет тестировать любую платформу, приложение или сайт с помощью автоматизированных технологий искусственного интеллекта, машинного обучения и DevOps.
Особенности :
обеспечивает автоматическое создание пользовательских скриптов, имитирующих действия реальных пользователей; позволяет настроить виртуальную аудиторию любым удобным образом. Цена: есть бесплатная, платная и пробная подписки.
6. Experitest
Experitest – ведущий поставщиком инструментов для мобильных DevOps: тестирование производительности, нагрузочное и ручное тестирование, мониторинг приложений. Инструменты Experitest поддерживают все мобильные ОС, включая iOS, Android, Windows Phone и Blackberry. Все SaaS-инструменты интегрируются в среды ALM, UFT/QTP, WebDriver/Selenium, Junit, Microsoft Visual Studio.
Особенности:
интегрирование стандартных автоматизированных тестов Appium и Selenium в CI/CD; метрики эффективности и отзывчивости для конечного пользователя в различных сетевых условиях, на разных устройствах, ОС и браузерах; подсчет продолжительности транзакции, индекса скорости, использования процессора/памяти/батареи, сетевых данных. Цена: есть бесплатные корпоративные планы.
7. Gatling
Gatling – опенсорсная платформа для нагрузочного тестирования и тестирования производительности с акцентом на веб и мобильные приложения. Базируется на Scala, Akka и Netty, интегрируется с инструментами сборки.
Особенности :
автономный HTTP-прокси рекордер; сценарии на Scala; DSL для разработки тестов; асинхронный неблокирующий движок для максимальной производительности; поддержка HTTP(S)-протоколов и возможность нагрузочного тестирования JDBC и JMS. Цена: бесплатно.
8. HeadSpin
HeadSpin – глобальная инфраструктура тестирования, использующая машинное обучение.
Особенности :
постоянный контроль и анализ QoE между приложением, устройством и сторонними интерфейсами; расширенные возможности искусственного интеллекта для автоматического определения проблем производительности. Цена : для уточнения цены необходимо связаться с поставщиком услуг.
9. JMeter
JMeter – опенсорсный Java-софт, предназначенный для анализа и тестирования веб-приложений и различных сервисов при помощи нагрузочного, стресс-, регресс- и функционального тестирования.
Особенности :
поставляется с интерактивным графическим интерфейсом; разработан с использованием Java, то есть может работать в любой среде с виртуальной Java-машиной; поддержка HTTP, HTTPS, SOAP, БД (JDBC, LDAP, JMS) и почты (POP3); может эмулировать юзеров для создания нагрузки на тестируемое приложение; позволяет осуществлять параллельную выборку различных функций группами потоков; результаты тестов можно просматривать в различных форматах: графики, таблицы, деревья, отчеты и т. д. Цена : бесплатно.
10. Neoload
Neoload поставляется со всеми возможностями, необходимыми командам для создания реалистичного мобильного нагрузочного тестирования, даже для интернета вещей.
Особенности:
виртуализация сети для моделирования пропускной способности, задержки и потери пакетов; захват времени рендеринга, работы процессора, батареи, памяти; прекрасно уживается с Perfecto, Appium, Selenium; есть возможность использовать совместно с основными облачными провайдерами, выполняя в одной системе распределенные тесты. Цена: одна бесплатная пробная версия и две платные.
Заключение
Если вы хотите улучшить качество мобильного приложения, любой из перечисленных инструментов будет полезен. Прежде чем приступить к тестированию производительности, важно принять во внимание несколько факторов:
тип приложения; сетевые условия; виртуальные пользователи, реальные пользователи, распределение нагрузки; тестирование производительности на уровне устройства (на стороне клиента); тестирование производительности на стороне сервера; условия нагрузки и виды испытаний; тестовые данные; доступность устройств (физические/облачные).