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