eFusion 20 сентября 2020

?? 10 инструментов тестирования производительности мобильных приложений

Сравниваем инструменты тестирования производительности мобильных приложений, в том числе предоставляемые услуги и стоимость: 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;
  • есть возможность использовать совместно с основными облачными провайдерами, выполняя в одной системе распределенные тесты.

Цена: одна бесплатная пробная версия и две платные.

Заключение

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

  • тип приложения;
  • сетевые условия;
  • виртуальные пользователи, реальные пользователи, распределение нагрузки;
  • тестирование производительности на уровне устройства (на стороне клиента);
  • тестирование производительности на стороне сервера;
  • условия нагрузки и виды испытаний;
  • тестовые данные;
  • доступность устройств (физические/облачные).

Источники

РУБРИКИ В СТАТЬЕ

МЕРОПРИЯТИЯ

Используете ли вы инструменты тестирования производительности приложений?

ВАКАНСИИ

Unity Developer
по итогам собеседования
Middle\Senior .Net разработчик
от 120000 RUB до 165000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG