3 ноября 2026

Мобильное тестирование: полная карта видов, инструментов и ключевых особенностей

Мобильное тестирование — проверка приложения на соответствие требованиям, выявление дефектов и оценка качества перед выпуском. Главная задача — убедиться, что приложение не подведёт пользователя в первые секунды. По данным Dimensional Research, 61% пользователей удаляют приложение после одного неудачного опыта. А снижение рейтинга с 4,5 до 4,0 снижает количество установок на 30–40% — такую зависимость фиксирует AppsFlyer.

Мобильное тестирование — набор смартфонов разных моделей и размеров

Тестирование мобильных приложений существенно отличается от веб-тестирования: здесь нужно учитывать тысячи моделей устройств, аппаратные ограничения, нестабильные сетевые условия и разрешения операционной системы. В статье разберём виды тестирования, ключевые особенности iOS и Android, инструменты QA и подход к автоматизации.

image

Сделайте следующий шаг в карьере

Подберите обучение, которое поможет освоить новые компетенции

Выбрать курс

Чем мобильное тестирование отличается от веб-тестирования

Мобильное тестирование — отдельная дисциплина с собственными вызовами. Браузерные DevTools здесь недоступны, а вместо двух-трёх браузеров — тысячи комбинаций моделей, ОС и оболочек. Баг в разработке в 100 раз дешевле, чем в продакшене, поэтому особенности мобильного тестирования важно понимать с первого этапа.

Параметр
Мобильное
Веб
Среда Нативная ОС (iOS / Android) Браузер
Сеть Wi-Fi, 4G/3G, роуминг, потеря сигнала Обычно стабильный интернет
Фрагментация Тысячи моделей и версий ОС Конечное число браузеров
Обновления Через App Store / Google Play Мгновенно на сервере
Разрешения Камера, GPS, микрофон, NFC, биометрия Минимальные
Прерывания Звонки, уведомления, свёртывание Практически отсутствуют

Фрагментация устройств и аппаратные ограничения

Android представлен тысячами моделей с версиями ОС от 8 до 15 и кастомными оболочками — MIUI (Xiaomi), One UI (Samsung), ColorOS (OPPO). Каждая оболочка добавляет поведенческие отличия, которые невозможно предусмотреть без реального устройства. iOS предсказуемее по парку, но старые iPhone 8 и XR всё ещё активно используются — их нельзя игнорировать.

Аппаратные ограничения — отдельный фактор: бюджетный смартфон с 2 ГБ RAM не справится с нагрузкой, рассчитанной на флагманы. Решение — матрица устройств по аналитике реальной аудитории: флагманы + средний сегмент + бюджетные модели.

Сетевые условия, разрешения и прерывания

Приложение должно работать не только на быстром Wi-Fi, но и в метро на 3G, в роуминге и при полной потере сигнала. Переключение между сетями в середине загрузки файла — отдельный тестовый сценарий, который часто упускают.

Прерывания специфичны для мобильного: входящий звонок или системное уведомление выбивают приложение из активного состояния. Данные формы при этом должны сохраниться. Разрешения ОС — камера, GPS, микрофон, NFC — тестируются в двух состояниях: при согласии и при отказе. Приложение не должно падать с необработанным исключением, если пользователь не дал доступ к геолокации.

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

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

Нативные приложения пишутся на Swift (iOS) или Kotlin (Android), обеспечивают максимальную производительность и полный доступ к hardware: камере, GPS, NFC, биометрии. Тестируются нативными фреймворками — XCTest для iOS, Espresso для Android. Оба фреймворка охватывают определённые виды тестирования ПО — от юнит-тестов до UI-сценариев, — что важно учитывать при формировании стратегии покрытия.

Гибридные приложения работают через WebView-оболочку и создаются быстрее, но уступают нативным по скорости и UX. При тестировании важно проверять поведение WebView на разных версиях Android System WebView — они обновляются независимо от приложения.

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

Сравнение нативного, гибридного и веб-приложения — схема различий

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

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

Вид тестирования
Цель
Когда проводить
Инструменты
Функциональное Проверить соответствие требованиям На каждом спринте Ручное, Appium
UI/UX Проверить интерфейс и удобство После UI-изменений Ручное, Percy
Производительности Скорость, память, battery drain Перед релизом Xcode Instruments, Android Profiler
Совместимости Корректность на разных устройствах и версиях ОС Перед релизом Firebase Test Lab, BrowserStack
Безопасности Защита данных, HTTPS, аутентификация Каждый релиз MobSF, Burp Suite
Регрессионное Убедиться, что новый код не сломал старое После каждого изменения Appium, Espresso, XCTest
Нагрузочное Поведение при высокой нагрузке Перед крупными релизами JMeter, Gatling

Чтобы системно освоить эти методики и выйти в профессию, можно пройти курс Тестировщик программного обеспечения от ProfiFuture — 7 недель онлайн, с господдержкой 75% стоимости.

Функциональное тестирование: happy path и edge cases

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

Тестирование делится на три потока. Позитивное (happy path): пользователь делает всё правильно — вводит корректные данные, нажимает нужные кнопки, получает ожидаемый результат. Негативное: намеренно неверные действия — неправильный пароль, буквы в числовое поле, отправка пустой формы.

Edge cases — граничные и нестандартные сценарии: первый запуск приложения, пустые состояния (нет контента, нет интернета), максимальные значения полей, эмодзи в полях ввода, дата 29 февраля, смена часового пояса в середине сессии. Сюда же входят push-уведомления и проверка API-интеграций.

Тест-кейс — основной инструмент. Он описывает не только ЧТО проверить (как чеклист), но и КАК: предусловия, пошаговые действия и ожидаемый результат. Разница принципиальна при регрессионном тестировании.

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

Производительность — то, что пользователь чувствует сразу. Если приложение стартует дольше трёх секунд, часть аудитории его уже закрыла.

Метрика
Описание
Целевое значение
Cold start Запуск с нуля, без кэша < 3 сек
Warm start Возврат из фона < 1,5 сек
Screen load Загрузка отдельного экрана < 1 сек
FPS Плавность анимаций и скролла 60 кадров/сек
Memory usage Потребление оперативной памяти < 200 МБ
Crash rate Доля сессий с падением < 1%
Battery drain Расход заряда за сессию Оценивается индивидуально

Три вида нагрузочного тестирования: нагрузочное (поведение при нормальной нагрузке, стабильность), стресс-тестирование (точка отказа, восстановление после пика), выносливость (утечки памяти за долгую сессию — 4–8 часов).

Инструменты: Xcode Instruments для iOS, Android Profiler для Android. Типичные решения: медленный старт — lazy loading; лагающий скролл — оптимизация изображений; утечки памяти — очистка кэша.

Тестирование совместимости и матрица устройств

Матрица устройств строится на аналитике реальной аудитории — берётся Top-10 по популярности. Для нового продукта без накопленных данных: флагманы (последний iPhone, Samsung Galaxy S), средний сегмент (Pixel, Redmi Note), бюджетные устройства (Realme, базовые Xiaomi). Обязательно — минимальная поддерживаемая версия ОС, там чаще всего возникают проблемы совместимости.

Эмулятор или реальное устройство — вопрос задачи. Эмуляторы: ежедневная работа и CI/CD — быстрые, бесплатные, легко переключать конфигурации. Реальные устройства: финальное тестирование и hardware-функции — камера, NFC, биометрия, GPS. Облачные фермы — Firebase Test Lab, AWS Device Farm, BrowserStack — предоставляют сотни реальных устройств без физического парка в офисе. Отчёты содержат видео и скриншоты сбоев.

Тестирование безопасности по OWASP Mobile Top 10

Безопасность — зона юридической ответственности: утечка данных пользователей влечёт штрафы и репутационные потери.

Три домена проверок. Хранение данных: пароли и токены хранятся только в Keychain (iOS) или Keystore (Android), не в обычных файлах; кэш очищается при logout. Сетевая безопасность: только HTTPS, certificate pinning там, где критично. Аутентификация: пароли хэшируются, есть защита от brute force.

OWASP Mobile Top 10 — стандарт для аудита безопасности: хардкод секретов в коде, небезопасное хранение данных, незащищённый HTTP-трафик. Инструменты: MobSF (статический анализ APK/IPA), Burp Suite (перехват HTTPS), Frida (динамический анализ во время выполнения). Минимальный аудит — перед каждым релизом; полный — регулярно, по расписанию.

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

Пирамида тестирования определяет, сколько каких тестов писать и когда их запускать. Модель работает для мобильных приложений без изменений и задаёт стратегию автоматизации.

Unit-тесты (70%) — самые быстрые и дешёвые. Тестируют изолированные функции и методы. Запускаются при каждом коммите; целевое покрытие критичной бизнес-логики — не менее 80%. Проблемы обнаруживаются за секунды.

Интеграционные тесты (20%) проверяют взаимодействие компонентов: как модуль авторизации работает с базой данных, как экран оплаты взаимодействует с платёжным шлюзом. Запускаются при merge в основную ветку.

E2E-тесты (10%) — самые медленные и самые ценные с точки зрения пользовательского опыта. Воспроизводят полные сценарии: регистрация → онбординг → первая покупка → выход. Запускаются перед релизом.

Регрессионное тестирование встроено в CI/CD: после каждого изменения кода автоматически прогоняются интеграционные тесты и smoke. Это позволяет обнаружить поломку сразу, а не накануне релиза.

Пирамида тестирования: unit-тесты 70%, интеграционные 20%, E2E 10%

Уникальные особенности мобильного тестирования

Мобильные приложения используют функции, которых нет в вебе: push-уведомления, диплинки, биометрию, фоновый режим. Каждая требует отдельных тестовых сценариев — стандартными чеклистами не обойтись, и особенности мобильного тестирования здесь проявляются наиболее наглядно.

Push-уведомления, диплинки и разрешения

Push-уведомления тестируются в трёх состояниях приложения: активное, фоновый режим, экран заблокирован. Нужно убедиться, что уведомление приходит в каждом из них и открывает корректный экран.

Диплинки (глубокие ссылки) — схема://путь — нельзя открыть из обычного браузера или текстового редактора. Рабочие способы: чат в Slack (диплинки кликабельны), приложение Deeplink Tester на Android, команды ADB в терминале. Проверяйте не только факт открытия приложения, но и то, что открывается конкретный экран, а не главная страница.

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

Фоновый режим, прерывания, биометрия и доступность

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

Прерывания — входящий звонок, системное уведомление — не должны приводить к потере данных в незаконченной форме или к вылету приложения.

Биометрия особенно критична для банковских приложений: FaceID, отпечаток пальца, PIN-код — все три сценария, включая случай, когда биометрия не распознана.

Доступность (accessibility): тёмная тема — уже стандарт, не опция; высокий контраст, крупные кнопки; экранные дикторы VoiceOver (iOS) и TalkBack (Android) должны корректно озвучивать интерфейс. Смена ориентации экрана: адаптивная вёрстка обязательна — или явная блокировка ориентации. Третьего варианта, когда интерфейс просто ломается, быть не должно.

Состояния мобильного приложения: активное, фоновый режим, заблокировано

Пора сменить профессию? Начните с понятного плана

Подберите программу под ваш опыт, цели и желаемый формат занятости

  • Востребованные навыки без лишней теории.
  • Поддержку экспертов на каждом этапе
  • Помощь с выходом на рынок труда
Подобрать обучение
image

Версионирование и обновления приложений

Не все пользователи обновляются сразу. В продакшене одновременно живут несколько версий приложения — и все они должны корректно работать с текущим бэкендом.

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

Feature flag позволяет включать новый функционал постепенно. Принудительное обновление — перевод базы на новую версию через непропускаемый экран — отдельный сценарий для тестирования.

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

Набор инструментов зависит от задачи: ручное тестирование, автоматизация, безопасность или бета-тестирование. Один инструмент не закрывает всё — QA-инженер работает со стеком. Особого внимания заслуживает автоматизация тестирования: она охватывает разные подходы и инструменты, которые существенно различаются по назначению и порогу входа.

Инструмент
Платформа
Назначение
Стоимость
ADB Android Управление устройством, логи Бесплатно
Charles iOS / Android Перехват HTTPS-трафика Платно
Fiddler iOS / Android Перехват HTTP(S)-трафика Бесплатно / Платно
TestFlight iOS Бета-тестирование Бесплатно
Firebase App Distribution iOS / Android Бета-тестирование Бесплатно
Appium iOS / Android Автоматизация UI-тестов Бесплатно (open source)
Espresso Android Нативная автоматизация UI Бесплатно
XCTest / XCUITest iOS Нативная автоматизация UI Бесплатно (в Xcode)
Firebase Test Lab iOS / Android Облачная ферма устройств Платно (есть бесплатный лимит)
MobSF iOS / Android Анализ безопасности APK/IPA Бесплатно (open source)

Инструменты ручного тестирования

ADB (Android Debug Bridge) — командная строка для управления Android-устройствами: установка APK, снятие логов через logcat, изменение настроек, эмуляция событий. Используется и при ручном тестировании, и в автоматизированных пайплайнах.

Charles и Fiddler перехватывают HTTPS-трафик мобильного устройства — замена браузерным DevTools, которые в мобильном контексте недоступны. Через них видны запросы к API, заголовки и тела ответов.

TestFlight — стандартный инструмент бета-тестирования для iOS: бесплатный, позволяет откатиться на предыдущую версию. Firebase App Distribution выполняет аналогичную роль для Android и iOS.

ADB-терминал с командами для ручного мобильного тестирования Android

Фреймворки автоматизации

Нативные фреймворки: XCTest / XCUITest (iOS, бесплатно в составе Xcode), Espresso (Android, нативный UI), JUnit (unit-тесты на Android).

Кроссплатформенные: Appium — наиболее популярный, работает по WebDriver-протоколу, поддерживает iOS и Android. Maestro — простой синтаксис и быстрый старт, подходит для небольших команд. Flutter Driver используется для приложений на Flutter.

Выбор фреймворка зависит от стека разработки и требований к CI/CD-интеграции.

Облачные фермы устройств

Firebase Test Lab, AWS Device Farm, BrowserStack, Sauce Labs — реальные устройства в облаке без необходимости держать физический парк в офисе.

Интеграция с CI/CD позволяет запускать тесты на сотнях устройств автоматически. Отчёты приходят с видеозаписью сессии и скриншотами сбоев — их удобно прикладывать к баг-репортам.

Автоматизация тестирования и интеграция с CI/CD

Автоматизация оправдана при частых релизах (2 и более в месяц) и долгоживущих проектах от года. Что автоматизировать: регрессионные тесты, smoke-тесты, API-тесты, критичные бизнес-сценарии. Что не автоматизировать: нестабильный функционал, UX-тестирование, одноразовые проверки, исследовательское тестирование.

ROI считается просто: smoke вручную занимает 4 часа, в автоматическом режиме — 30 минут. При 20 запусках в месяц и ставке 2 000 ₽/час экономия составляет 140 000 ₽ ежемесячно.

Пайплайн CI/CD: коммит запускает unit-тесты и линтеры; merge в основную ветку — интеграционные тесты и smoke; финальный релиз — полный набор: регрессионное, нагрузочное и тестирование безопасности. Такой подход встраивает качество в процесс разработки, а не добавляет его в самом конце.

CI/CD пайплайн мобильного тестирования от коммита до полного релиза

Чек-лист тестирования перед релизом

Перед каждым релизом тестирование мобильных приложений проходит через четыре блока проверок.

Функциональность: критичные пользовательские сценарии, негативные кейсы, edge cases (эмодзи, 29 февраля, максимальные значения полей), интеграции с API и push-уведомлениями.

Производительность: cold start менее 3 секунд, FPS не ниже 60, отсутствие утечек памяти, crash rate ниже 1%.

Совместимость: Top-10 устройств из матрицы, тёмная тема, минимальная поддерживаемая версия ОС, обе ориентации экрана.

Безопасность: хранение данных только в защищённых хранилищах, весь трафик через HTTPS, отсутствие секретов в коде.

Таймлайн: за 2 недели до релиза — полное регрессионное тестирование; за 1 неделю — баг-фикс; за 3 дня — smoke на финальном билде. Критерий готовности: crash rate ниже 1%, все критичные баги закрыты.

Чек-лист мобильного тестирования с галочками на экране смартфона

Часто задаваемые вопросы

Чем мобильное тестирование отличается от тестирования веб-приложений?

Мобильное тестирование учитывает фрагментацию тысяч моделей устройств (особенно Android), аппаратные ограничения (батарея, память), нестабильные сетевые условия (метро, роуминг) и разрешения ОС (камера, GPS, микрофон). В вебе критичны браузеры и адаптивная вёрстка — в мобильном добавляются прерывания (звонки, уведомления), управление жестами, версионирование приложения и процесс установки через магазин.

Эмулятор или реальное устройство — что выбрать?

Эмуляторы подходят для ежедневной работы и CI/CD: быстрые, бесплатные, легко переключать конфигурации. Реальные устройства необходимы для финального тестирования и проверки hardware-функций — камеры, NFC, биометрии, GPS. Облачные фермы (Firebase Test Lab, BrowserStack) — компромисс: реальные устройства без необходимости держать парк в офисе.

Что такое пирамида тестирования и как она применяется в мобильном QA?

Пирамида тестирования — модель распределения видов тестирования: 70% unit-тестов (при каждом коммите, покрытие ≥ 80% критичной логики), 20% интеграционных (проверяют взаимодействие компонентов при merge), 10% E2E-тестов (полные пользовательские сценарии, перед релизом). Модель применима к мобильным приложениям без изменений и определяет стратегию автоматизации.

Чем отличается тестирование iOS от Android?

Android: тысячи моделей, версии ОС 8–15, кастомные оболочки (MIUI, One UI, ColorOS) — фрагментация критична. iOS: закрытая экосистема (только App Store или TestFlight), модерация занимает несколько дней, платформа предсказуемее по устройствам. Языки разработки: Swift (iOS), Kotlin (Android). Среды разработки: Xcode и Android Studio соответственно.

Чем тест-кейс отличается от чеклиста?

Чеклист — список ЧТО нужно проверить, без деталей. Тест-кейс описывает КАК: предусловия, пошаговые действия, ожидаемый результат и условия проверки. Чеклист подходит для быстрых ежедневных проверок; тест-кейс — для регрессионного тестирования и документирования воспроизводимых сценариев.

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

Автоматизация оправдана при частых релизах (2+ в месяц) и долгоживущих проектах (от года). Автоматизировать стоит smoke-тесты, API-тесты и критичные бизнес-сценарии. Не автоматизировать: нестабильный функционал, UX-тестирование, одноразовые проверки. Ориентир ROI: smoke 4 часа → 30 минут; 20 запусков в месяц — 140 000 ₽ экономии.

Как правильно составить матрицу устройств?

Оптимально — взять аналитику аудитории и выбрать Top-10 устройств. Для нового продукта без данных: флагманы (последние iPhone, Samsung S-серия), средний сегмент (Pixel, Redmi Note), бюджетные устройства (Realme, базовые Xiaomi). Обязательно включить минимально поддерживаемую версию ОС — там чаще всего возникают проблемы совместимости.

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

Три домена: (1) хранение данных — только Keychain (iOS) или Keystore (Android), кэш очищается при logout; (2) сетевая безопасность — только HTTPS, certificate pinning; (3) аутентификация — пароли хэшируются, есть защита от brute force. Инструменты: MobSF (анализ APK/IPA), Burp Suite (перехват трафика), Frida (динамический анализ).

Как тестировать диплинки?

Открыть диплинк из обычного браузера или текстового редактора нельзя. Рабочие способы: чаты Slack (диплинки кликабельны), приложение Deeplink Tester на Android, команды ADB через терминал. Формат: схема://путь (например, tg://resolve?domain=example). Проверяйте, что ссылка открывает конкретный экран, а не главную страницу, и корректно работает при незалогиненном пользователе.

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

Пошаговый план: (1) изучить требования и пользовательские сценарии; (2) составить матрицу устройств; (3) написать тест-кейсы; (4) запустить функциональное тестирование на эмуляторе; (5) проверить edge cases; (6) перейти к тестированию производительности и безопасности перед релизом. QA-инженер подключается в идеале на этапе проектирования — не накануне релиза.

Превратите интерес к теме в новую профессию

Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения

Оставить заявку
icon