Тестирование производительности мобильных приложений
⚡ Умное резюме
Тестирование производительности мобильных приложений измеряет скорость запуска приложения, потребление заряда батареи и памяти, скорость ответа его API и корректную работу в условиях нестабильного сетевого соединения.
Для любого мобильного приложения производительность имеет решающее значение. Если ваше мобильное приложение работает плохо, конечный пользователь удалит его и найдет другое приложение, которое работает лучше.
Ваше мобильное приложение необходимо тщательно протестировать, прежде чем выпускать его для конечного пользователя.
Стратегия тестирования мобильных приложений
Производительность приложений на мобильном телефоне или любом интеллектуальном устройстве обычно измеряется по следующим трем категориям.
- Производительность устройства
- Производительность сервера/API
- Производительность сети
На приведенной ниже диаграмме показано соответствие этих трех уровней соответствующим проверкам.
Производительность устройства
Когда клиент сталкивается с медленным приложением, он раздражается.
Для проверки производительности устройства необходимо проверить следующее:
- Запуск приложения: Сколько времени требуется вашему приложению для запуска? Это первый параметр производительности, определяемый пользователем. Как правило, после того, как пользователь нажмет на значок приложения, первый экран должен появиться через 1-2 секунды.
- Время работы батареи при использовании приложения: При постоянном использовании некоторые мобильные приложения потребляют много заряда батареи и нагревают телефон. Обычно это происходит, когда приложение использует больше ресурсов, чем необходимо, что создает нагрузку на процессор.
- Потребление памяти: После появления Тестирование приложение, необходимо проверить потребление памяти приложением. При реализации определенных функций в приложении также увеличивается потребление памяти. Например, в Android приложения, когда реализованы push-уведомления, потребление памяти увеличивается.
В некоторых случаях было замечено, что использование памяти всей ОС составляет всего 14%, а новое приложение потребляет 11%. Таким образом, эти факторы необходимо учитывать, прежде чем развертывать приложение в реальном мире или передавать его клиенту.
- Варианты аппаратного и программного обеспечения: При тестировании мобильного приложения обязательно нужно проверять приложения на разных устройствах. Возможно, приложение работает без сбоев на одном устройстве, а на другом нет. Как и у разных продавцов Android устройствах мы можем проверить приложение на телефонах Samsung, HTC и Lenovo. Аналогично, приложение необходимо протестировать с различными характеристиками оперативной памяти и процессора, например 1 ГБ или 2 ГБ.
- Использование с другими приложениями: Когда тестируемое приложение работает параллельно с другими приложениями, помех быть не должно. Лучший способ проверить это — переключить тестируемое приложение на другие приложения.
- Фоновые приложения: При запуске приложения, работающего в фоновом режиме, оно должно оставаться в том же состоянии, что и до запуска. Если этот сценарий не обрабатывается должным образом, данные теряются. Соответствующие сценарии жизненного цикла рассматриваются в [ссылка на соответствующий раздел]. тестирование прерываний.
Производительность сервера/API
Когда приложение взаимодействует с сервером через API, время ответа становится критически важным для производительности. Для оценки производительности сервера следует проверить следующее:
- Передача данных на сервер и с сервера: Приложение должно эффективно обрабатывать данные, отправляемые с сервера. Загрузка данных не должна занимать слишком много времени. В некоторых приложениях данные отправляются в определенном формате, поэтому перед отображением в приложении их необходимо преобразовать в соответствующий формат. В результате этого процесса приложения иногда замедляются, а время отклика увеличивается.
- Вызовы API, генерируемые приложением: Количество вызовов тестируемого приложения на сервер, генерируемых приложением, должно быть меньше. В некоторых случаях для одной и той же функциональности выполняется несколько вызовов API. Для повышения производительности это следует обрабатывать с меньшим количеством вызовов.
- Время простоя сервера: В случае сбоя или недоступности сервера по любой причине мы можем сохранять данные в собственной базе данных. Таким образом, при отключении сервера мы можем отображать данные, хранящиеся в собственной базе данных. Другим решением могут быть резервные серверы баз данных, то есть, если один из серверов отключен или находится на техническом обслуживании, резервный сервер должен быть доступен для переключения. Резервный/переключающий сервер должен постоянно реплицироваться и синхронизироваться с основным сервером.
Производительность сети
Необходимо измерить производительность приложения в различных сетях и свойства сети.
Для проверки производительности сети вам необходимо проверить следующие параметры.
- Нервозность: Когда возникает задержка в получении информации в сети, это называется дрожание. Это проблема сетей без установления соединения или сетей с коммутацией пакетов. Поскольку информация распределяется по пакетам, пакеты могут перемещаться по разным путям от отправителя к получателю. Когда данные достигают намеченного места, они становятся зашифрованными, чем были первоначально отправлены. В случае с дрожью мобильное приложение должно быть достаточно способным справиться с этим.
Необходимо отобразить пользователю соответствующие уведомления: либо о необходимости повторной отправки запроса, либо о необходимости дождаться ответа от системы.
- Потеря пакетов: В случае полной потери пакета приложение должно иметь возможность повторно отправить запрос информации или генерировать соответствующие оповещения. Если данные не полны, пользователь не сможет понять информацию, отображаемую в приложении. Это может быть стрессом для пользователя. Поэтому лучше отобразить подходящее сообщение или предложить пользователю повторить попытку.
- Скорость сети: Приложение необходимо проверить в различных сетях с переменной скоростью. Тестирование должно проводиться в сетях 3G, 4G и 5G. Включаются как сети Wi-Fi, так и мобильные сети. Также следует отслеживать поведение приложения, особенно при доступности обеих сетей и при переключении между ними.
Например, у пользователей может возникнуть проблема в приложении при переключении сети телефона с 4G на Wi-Fi и наоборот. В этом случае приложение перестает отвечать и может потребоваться его перезапуск.
Устранение проблем с производительностью мобильных приложений
После обнаружения проблем/проблем во время Тестирование производительностиПришло время tracи исправить ошибки.
Проблема 1) Задержка или медленный отклик мобильного приложения.
Причиной этой задержки может быть оперативная память, кэш и т. д.
Вам нужно убить ненужные процессы или очистить кеш. Устранение неполадок с подключением может решить некоторые проблемы, вызывающие задержки.
Проблема 2) Приложение перезапускается, зависает, зависает или не отвечает.
Это можно исправить, выполнив некоторые из следующих шагов.
- Оптимизация кодов приложений
- Программное обеспечение должно быть исправлено и обновлено.
- Автоматическое восстановление
- Управление ОЗУ или, в некоторых случаях, ПЗУ при использовании внешних карт
- Wiping разделение кэша
- Проверка работоспособности приложения с другими сторонними приложениями и API.
- Картаping мобильное приложение в зависимости от устройства
Полезные инструменты тестирования мобильных приложений
Инструменты тестирования мобильных приложений различаются в зависимости от устройства или мобильной ОС. Некоторые распространенные инструменты тестирования производительности мобильных приложений:
ANDROID
- Robotium Это похоже на Selenium для мобильных приложений. Тестер может записать и воспроизвести несколько шагов, необходимых для выполнения тестирования.
- Бегун обезьяны MonkeyRunner может запускать тесты на реальных устройствах, подключенных к ПК, или на эмуляторах. Инструмент имеет API, который позволяет управлять смартфоном, планшетом или эмулятором извне. Android код.
⚠️ Примечание к версии: Оба формата Android Эти записи являются частью прошлого. Robotium С 2016 года не было выпущено ни одного релиза, и Google Отмечает, что MonkeyRunner больше не поддерживается, и направляет команды к UI Automator и его uiautomatorviewer инспектор вместо этого.
APPLE
- Автоматизатор (Mac) Automator — это приложение, разработанное компанией Apple для macOSОн реализует создание рабочих процессов с помощью щелчка мыши (или перетаскивания) для автоматизации повторяющихся задач в пакетном режиме для более быстрой обработки. Это экономит время и усилия по сравнению с ручным изменением каждого файла по отдельности.
Задачи
Ключевые проблемы, с которыми сталкиваются при тестировании производительности, включают:
- Организация различных мобильных платформ и их операционных систем
- Имитация различных типов подключения, таких как 3G, 4G, 5G или Wi-Fi и т.д.
- Ограничения мобильных устройств, такие как потребление батареи и ресурсов.
- Удобство использования мобильного телефона
- Мобильные устройства разных размеров для запуска одного и того же приложения.
Настройка среды тестирования производительности мобильного приложения
Чтобы настроить тестовую среду, вам необходимо:
- Понимание мобильного приложения, которое необходимо протестировать.
- Определение различных ОС, на которых должно работать приложение.
- Создание тестовой установки
- Создавайте эмуляторы или симуляторы
- прототипping фактической настройки
- Выбор подходящего инструмента для тестирования
Контрольный список тестирования производительности мобильного приложения
Тестирование производительности мобильных приложений является важной мерой перед выпуском. Тестирование производительности проводится для проверки
- Сколько оперативной памяти требуется для использования этого приложения?
- Чтобы проверить скорость и время отклика приложения в различных сетях и обстоятельствах.
- Обеспечьте реалистичное взаимодействие с пользователем в различных сетевых условиях.
- Обеспечить достижение требуемых результатов в случае нескольких подключений
- Убедитесь, что приложение не аварийно завершает работу.
- Обеспечение хорошей работы мобильных приложений при использовании данных, Wi-Fi или других подключений.
- Мониторинг времени безотказной работы и узких мест использования мобильных API
- Для обеспечения максимального количества одновременных пользователей
- Наконец, чтобы проверить мобильное приложение на пределе своих возможностей.

