Начать проект

Обсудим проект?

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

Отправлено!

Спасибо за заявку, мы свяжемся с вами в ближайшее время!

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

Тестирование мобильного приложения — виды и этапы QA

Сайт открывается в паре браузеров, которые ведут себя похоже. Приложение запускается на тысячах моделей устройств, при входящем звонке, в метро без сети и на телефоне, где память забита. Заказчики обычно спрашивают: «вы протестируете на всех телефонах?» — честный ответ «на всех невозможно». Мобильная разработка — ядро нашей экспертизы (VK Fest, Erarta, GigAnt, PetShop), и выбор устройств для проверки здесь важнее их количества.

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

Сложность в переменных: фрагментация устройств (особенно Android), прерывания, ограниченные ресурсы, жесты и датчики — всего этого нет в вебе. Основные виды: функциональное, тестирование совместимости, UI/UX, производительности, безопасности, сети и прерываний, установки и обновления, локализации.

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

Почему мобильное тестирование — отдельная дисциплина

Всё упирается в число переменных, которых в вебе просто нет. Главные из них и делают мобильное QA сложнее — заодно они объясняют, зачем вообще нужны отдельные виды тестов.

Фрагментация устройств. Тысячи моделей с разными экранами, чипсетами, объёмами памяти и версиями ОС. У Android это выражено особенно резко: разные производители, оболочки поверх системы, старые версии, которые продолжают жить годами. Приложение, идеальное на свежем флагмане, может ломаться на бюджетнике трёхлетней давности — а именно такие устройства часто у реальной аудитории.

Прерывания. Телефон — это в первую очередь телефон. Во время работы приложения приходит звонок, СМС, push, срабатывает будильник, пользователь сворачивает приложение и возвращается через час. Приложение обязано пережить каждое такое прерывание, не потеряв данные и не упав. В вебе аналога нет.

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

Ограниченные ресурсы. Батарея, память, трафик — всё конечно. Приложение, которое греет телефон, съедает заряд за час или течёт по памяти, получает удаление и низкую оценку в сторе быстрее, чем любое с багом в логике.

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

Отсюда вывод, определяющий всю дальнейшую работу: проверить нужно не только «работает ли функция», но и «работает ли она на этом устройстве, в этой сети, при этом прерывании». Каждый из следующих видов тестирования закрывает свой кусок этой матрицы.

Почему мобильное тестирование — отдельная дисциплина: пять сложностей

Протестировать на всех устройствах невозможно — можно выбрать те, на которых сидит ваша аудитория.

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

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

Вид Что проверяет
Функциональное Работают ли функции по требованиям: сценарии, расчёты, логика
Совместимости (фрагментация) Корректность на разных устройствах, версиях ОС, размерах экрана
UI/UX Соответствие макетам, читаемость, удобство, отклик интерфейса
Производительности Скорость запуска и отклика, расход памяти, батареи, нагрузка на сеть
Безопасности Защита данных, хранение токенов, шифрование, работа с разрешениями
Сети и подключений Поведение при слабой сети, потере и восстановлении связи, офлайн
Прерываний Звонки, push, сворачивание, поворот экрана, входящие уведомления
Установки и обновления Инсталляция, обновление с сохранением данных, откат, удаление
Локализации Языки, форматы дат и валют, растягивание текста в интерфейсе

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

Проверим приложение в реальных условиях

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

Обсудить проект

Реальные устройства, эмуляторы и облачные фермы

Практический вопрос номер один: на чём вообще тестировать. Три варианта, и правильный ответ — их сочетание.

Эмуляторы (Android) и симуляторы (iOS) — виртуальные устройства на компьютере разработчика. Быстро, бесплатно, удобно на ранних этапах и для проверки разных размеров экрана. Но они не воспроизводят реальное железо: чипсет, датчики, реальную сеть, расход батареи, поведение при звонке. Баг, связанный с производительностью или спецификой устройства, эмулятор пропустит.

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

Облачные фермы устройств — сервисы, дающие доступ к сотням реальных устройств удалённо. Закрывают то, чего нет в собственном парке, особенно для проверки редких конфигураций перед релизом.

Способ Плюсы Минусы Когда
Эмулятор/симулятор Быстро, бесплатно, много экранов Не воспроизводит железо и сеть Ранняя разработка, проверка вёрстки
Реальные устройства Настоящее поведение Дорого держать большой парк Финальные и критичные проверки
Облачная ферма Доступ к сотням устройств Платно, не всё воспроизводимо Проверка редких конфигураций перед релизом

Рабочий подход: ранние проверки — на эмуляторах, ключевые сценарии и финальную приёмку — на реальном парке из грамотно подобранных моделей, редкие конфигурации — через облачную ферму. Гнаться за «протестируем на всех» бессмысленно: разумное покрытие реальной аудитории важнее полноты.

Эмулятор, реальное устройство или облачная ферма

Эмулятор ловит логику, реальное устройство — реальность.

Российские реалии 2026: RuStore и устройства без Google

Здесь проходит пласт, которого нет в переводных гайдах, а для российского приложения он определяет часть тест-плана.

Магазины приложений. Помимо App Store и Google Play, приложение публикуют в RuStore, а иногда и в других российских каталогах. Каждый стор — свои требования к сборке, подписи и обновлению, и проверять установку с обновлением нужно для каждого канала, куда вы выкладываетесь.

Устройства без сервисов Google. На части новых Android-смартфонов, продающихся в России, нет предустановленных Google Mobile Services. Всё, что на них завязано, — push-уведомления через Firebase, карты Google, часть механик авторизации — на таком устройстве просто не работает.

Это нужно либо закладывать в архитектуру (push через RuStore, отечественные карты), либо явно тестировать на устройстве без GMS. Пропущенная проверка оборачивается тем, что у части аудитории не приходят уведомления, а команда об этом не знает.

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

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

Соберём дистрибуцию под Россию

RuStore, пуши без Google-сервисов, карты и платежи — приложение работает у всех пользователей, а не только у владельцев флагманов.

Получить консультацию

Нативные и кроссплатформенные (Flutter) приложения: есть ли разница в тестировании

Логичный вопрос, раз кроссплатформа — одна кодовая база на iOS и Android. Разница есть, но не там, где её обычно ждут.

Общая бизнес-логика во Flutter действительно пишется и во многом тестируется один раз — это экономит часть работы по сравнению с двумя раздельными нативными кодовыми базами.

Но всё, что касается платформы, проверяется на обеих: приложение по-разному интегрируется с iOS и Android на уровне разрешений, уведомлений, работы с камерой и файлами. Экономия кроссплатформы — на логике, а не на тестировании устройств; подробнее — в разборе нативной, гибридной и кроссплатформенной разработки.

Про деньги, чтобы было предметно: разработка мобильного приложения у нас начинается от 1,8 млн ₽ — QA, тестирование на парке устройств и публикация в сторах входят в работу, отдельной строкой их считать не нужно. Если приложение уже готово и нужно проверить его состояние, это аудит кода и архитектуры — 200–600 тыс. ₽ по объёму. Опишите задачу — оценим бесплатно.

Поэтому подмена «мы на Flutter, значит тестировать надо вдвое меньше» — опасное упрощение. Меньше становится работы по перепроверке одной и той же логики; специфику платформ и разнообразие устройств никакая кроссплатформа не отменяет. Как тестирование встроено в общий процесс, видно в материале про этапы разработки мобильного приложения.

Этапы и место в процессе

Тестирование — не финальная стадия, а сопровождение всей разработки. В нормальном процессе оно устроено так.

1. Планирование. По требованиям и концепции продукта составляют тест-план: какие виды тестирования нужны, на каких устройствах, что автоматизируем. Здесь же расставляют приоритеты по рискам продукта.

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

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

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

5. Мониторинг после релиза. Крашлитика и аналитика в проде: реальные устройства пользователей показывают то, что не поймал ни один тест-план. Данные из прода возвращаются в тест-план следующей версии.

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

Три ошибки, из-за которых баги доходят до пользователя

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

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

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

Три ошибки, из-за которых баги доходят до пользователя

Обсудим ваше приложение?

Оценим продукт и предложим план тестирования под вашу аудиторию. Оценка бесплатная.

Обсудить проект

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

Числом переменных. У сайта — несколько браузеров с похожим поведением; у приложения — тысячи моделей устройств, разные версии ОС, нестабильная сеть, ограниченные батарея и память, прерывания вроде звонков, работа с камерой и датчиками. В вебе таких условий либо нет, либо они предсказуемы, поэтому мобильное QA требует отдельных видов проверок.

Функциональное, тестирование совместимости (фрагментация устройств и версий ОС), UI/UX, производительности (скорость, батарея, память), безопасности, тестирование сети и офлайна, прерываний, установки и обновления, локализации. Набор и акценты зависят от продукта: финтеху критична безопасность, игре — производительность, приложению для выездных сотрудников — работа без сети.

Нужно и то, и другое. Эмуляторы и симуляторы быстры и удобны на ранних этапах и для проверки разных экранов, но не воспроизводят реальное железо, сеть и батарею. Финальные и критичные проверки проводят на реальных устройствах, подобранных по аудитории (популярные модели, крайние версии ОС, бюджетник и флагман), а редкие конфигурации закрывают через облачные фермы устройств.

Публикацию и обновление в RuStore и других российских сторах (у каждого свои требования), устройства без сервисов Google — на них не работают push через Firebase, карты Google и часть авторизации, — а также разнообразие прошивок и агрессивное энергосбережение, которое может убивать фоновые процессы. Эти сценарии проверяют на реальных устройствах в реальных условиях, а не только на чистом Android.

Меньше становится работы по перепроверке общей бизнес-логики — она пишется один раз. Но специфику платформ (разрешения, уведомления, работа с камерой), поведение в сторах и на реальных устройствах, фрагментацию и прерывания проверяют на iOS и Android в любом случае. Экономия кроссплатформы — в разработке и части логических проверок, а не в тестировании совместимости и устройств.

Разработка с Code Pilots

Code Pilots — студия заказной разработки полного цикла с мобильной экспертизой в ядре: приложения для VK Fest, Erarta, GigAnt, PetShop и других, отмеченные на профильных премиях. Кроссплатформу делаем на Flutter, под особые задачи — нативно; QA сопровождает разработку с первых спринтов, а не подключается перед сдачей.

Внутри — сильная in-house команда: аналитики, продуктовые дизайнеры, мобильные разработчики, QA-инженеры и DevOps. Мы тестируем приложения так, как ими будут пользоваться: на реальном парке устройств, в российских условиях (RuStore, устройства без Google-сервисов, слабая сеть), с автоматизированным регрессом в CI/CD на каждую сборку.

За счёт отлаженных процессов и глубоко внедрённого в разработку AI мы запускаем продукты значительно быстрее рынка — обычно за 2–3 месяца — не жертвуя стабильностью.

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

Обсудим проект?

Заполните форму или напишите нам
на airmail@code-pilots.ru
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Спасибо!

Спасибо за сообщение, мы свяжемся
с вами в ближайшее время!
success