Пользователи не любят ждать: если приложения загружается дольше трех секунд, половина из них окажутся разочарованы. Не менее важно, чтобы программа вела себя корректно на разных устройствах и при различной нагрузке. Для этого необходимо тестировать приложение и на стороне клиента, и на стороне сервера. В этой статье мы рассмотрим 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;
 - есть возможность использовать совместно с основными облачными провайдерами, выполняя в одной системе распределенные тесты.
 
Цена: одна бесплатная пробная версия и две платные.
Если вы хотите улучшить качество мобильного приложения, любой из перечисленных инструментов будет полезен. Прежде чем приступить к тестированию производительности, важно принять во внимание несколько факторов: