Особенности тестирования мобильных приложений

Автор:

Денис Замарин

Тестирования мобильного приложения – это проверка всех функций, работоспособности, безопасности и юзабилити готового продукта. Главная задача тестировщика – убедиться в том, что приложение соответствует всему набору характеристик и функционала, которые были описаны в техническом задании. Как правило, для тестирования приложения используют стандартный чек-лист из основных методов и инструментов. Далее мы опишем основные способы тестирования мобильных приложений.

Функциональное тестирование мобильного приложения

Функциональное тестирование — это проверка того, что приложение выполняет свои основные функции, заявленные в документации по разработке. Функциональное тестирование может включать следующие виды проверок:

  1. UI тестирование мобильного приложения или пользовательский интерфейс — проверка того, что элементы интерфейса отображаются и работают правильно, соответствуют дизайну и стандартам юзабилити.
  2. Бизнес-логика — тест на корректную обработку данных, выполнения операций.
  3. Интеграция — проверка того, что приложение правильно взаимодействует с другими системами, например, с сервером, базой данных, API или сторонними сервисами.

Тестирование совместимости мобильного приложения

Диагностика работы мобильного приложения на разных версиях операционных систем, браузеров и устройств без ошибок или потери функциональности. Тестирование совместимости может быть как на стороне клиента, так и на стороне сервера.

На стороне клиента — это проверка того, как приложение работает на разных моделях и брендах устройств (например, Samsung или Huawei), разных версиях операционных систем (например, Android или iOS) и в разных браузерах (например, Chrome или Safari).

Тестирование совместимости на стороне сервера – оценка работы приложения с разными версиями серверного ПО, базами данных и протоколами. Такое тестирование включает:

  1. Проверка интероперабельности — тестировщик смотрит, как приложение работает с другими системами или компонентами (например, API или веб-сервисами).
  2. Проверка конфигурации — оценка работы с разными характеристиками сервера (например, памятью, процессором или сетью).
  3. Тестирование миграции — работа приложения после обновления или переноса серверного ПО или базы данных.

Тестирование безопасности мобильных приложений

Контроль приложения на защищенность от различных видов атак и угроз. Тестирование безопасности включает:

  1. Аутентификация и авторизация
  2. Шифрование данных
  3. Передача данных
  4. Тестирование уязвимостей

Тестирование локализации и глобализации

Тестирование локализации проводится для оценки адаптации приложения к конкретной локации (например, стране или региону), в которой оно будет использоваться. Такой вид тестов включает в себя следующие пункты:

  1. Проверка языка — текст интерфейса переведен на нужный язык и не содержит ошибок или неточностей.
  2. Формат данных — их корректное отображение в соответствии с локальными стандартами (например, дата или валюта).
  3. Культурная адаптация —контент и дизайн приложения должен соответствовать локальным особенностям (например, цветам или символам).

Тестирование глобализации — это проверка того, что приложение поддерживает разные локализации без необходимости изменения кода:

  1. Поддержка языков.
  2. Поддержка форматов данных — (например, метрическую или имперскую систему мер, десятичную или двоичную систему счисления и т.д.).
  3. Поддержка символов — разные наборы символов (например, латиница или кириллица, правосторонний или левосторонний порядок чтения и т.д.).

Тестирование юзабилити

Этот пункт включает:

  1. Эргономика — расположение и размер элементов интерфейса, логичное и интуитивное понятие.
  2. Навигация — проверка того, что пользователь может легко перемещаться по приложению и находить нужную информацию или функцию.
  3. Обратная связь — приложение должно информировать пользователя о статусе его действий и результатах (например, сообщения об ошибках или успехах).

Стрессовое тестирование

Проверка работоспособности приложения в условиях высокой нагрузки или нештатных ситуаций. Стрессовое тестирование включает:

  1. Нагрузка — работоспособность приложения при большом количестве одновременных пользователей или запросов.
  2. Устойчивость — функционирования при длительном времени работы без перезагрузки. Так же сюда можно отнести тестирование прерываний мобильных приложений.
  3. Отказоустойчивость — функционирование приложения при сбоях или отказах в работе других систем или компонентов (например, сервера или сети).

Кроссплатформенное тестирование мобильного приложения

В рамках данных работ тестировщик проверяет функционирование приложения на разных платформах и устройствах. Такое тестирование может быть необходимо для приложений, которые разрабатываются с использованием универсальных технологий (например, Java или HTML5) или фреймворков (например, Xamarin или Flutter).

Кроссплатформенное тестирование обычно включает такие виды проверок:

  1. Совместимость — работа мобильного приложения на разных версиях платформ и устройств, наличие ошибок и потери функциональности.
  2. Адаптивность к разным размерам и разрешениям экранов и ориентациям устройств.
  3. Стиль — проверка того, что приложение соответствует стандартам и рекомендациям дизайна для разных платформ и устройств.

Тестирование производительности

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

  1. Время отклика.
  2. Потребление ресурсов — проверка того, как много приложение использует памяти, процессора, батареи и других ресурсов устройства.
  3. Анимация и графика — тест на качество и плавность отображения различных графических элементов.
  4. Работа приложения при большой нагрузке или нештатных ситуациях. Для тестирования можно использовать различные инструменты, например, Akamai CloudTest, Apica LoadTest, Apptim, BlazeMeter, Gatling, JMeter и другие.

Тестирование мобильных приложений — это важный и сложный процесс, который требует знаний, опыта и внимания к деталям. Тестирование помогает обеспечить высокое качество и удовлетворенность пользователей, а также повысить конкурентоспособность и доходность приложения на рынке.

Оглавление

Материалы по теме