ch
Feedback
MobileApps - мобильное тестирование | Mobile QA

MobileApps - мобильное тестирование | Mobile QA

前往频道在 Telegram

О мобильном тестировании Android\IOS из Европы. Автор - Влад Казачек Писать - @QAMobileCourse Сайт - https://mango19942.wixsite.com/my-site

显示更多
3 784
订阅者
-124 小时
-67 天
-3230 天
吸引订阅者
九月 '26
九月 '26
+4
在0个频道中
八月 '26
+16
在0个频道中
Get PRO
七月 '26
+24
在0个频道中
Get PRO
六月 '26
+25
在0个频道中
Get PRO
五月 '26
+39
在0个频道中
Get PRO
四月 '26
+49
在1个频道中
Get PRO
三月 '26
+61
在0个频道中
Get PRO
二月 '26
+95
在0个频道中
Get PRO
一月 '26
+48
在0个频道中
Get PRO
十二月 '25
+62
在2个频道中
Get PRO
十一月 '25
+171
在0个频道中
Get PRO
十月 '25
+249
在0个频道中
Get PRO
九月 '25
+70
在1个频道中
Get PRO
八月 '25
+96
在2个频道中
Get PRO
七月 '25
+80
在0个频道中
Get PRO
六月 '25
+87
在1个频道中
Get PRO
五月 '25
+126
在0个频道中
Get PRO
四月 '25
+163
在1个频道中
Get PRO
三月 '25
+300
在1个频道中
Get PRO
二月 '25
+359
在1个频道中
Get PRO
一月 '25
+136
在1个频道中
Get PRO
十二月 '24
+103
在0个频道中
Get PRO
十一月 '24
+127
在0个频道中
Get PRO
十月 '24
+151
在1个频道中
Get PRO
九月 '24
+178
在2个频道中
Get PRO
八月 '24
+310
在1个频道中
Get PRO
七月 '24
+435
在1个频道中
Get PRO
六月 '24
+135
在2个频道中
Get PRO
五月 '24
+219
在4个频道中
Get PRO
四月 '24
+142
在0个频道中
Get PRO
三月 '24
+198
在2个频道中
Get PRO
二月 '24
+253
在0个频道中
Get PRO
一月 '24
+328
在0个频道中
Get PRO
十二月 '23
+162
在3个频道中
Get PRO
十一月 '23
+93
在1个频道中
Get PRO
十月 '23
+118
在1个频道中
Get PRO
九月 '23
+456
在0个频道中
日期
订阅者增长
提及
频道
06 九月0
05 九月0
04 九月+1
03 九月+3
02 九月0
01 九月0
频道帖子
🍏 Обратная сторона медали: не самые очевидные боли и специфика тестирования на iOS Сегодня хочу честно поговорить про специфику и скрытые ловушки тестирования на iOS. Многие начинающие QA думают, что тестировать на айфонах - сплошное удовольствие: устройств мало, всё стандартизировано, гайдлайны понятные. Но под капотом тут скрываются свои, сугубо «яблочные» боли. С чем постоянно сталкивается iOS QA инженер в повседневной рутине? Расскажу через призму своих ощущений и проблем, которыми делились коллеги. 📌 Магия сертификатов и профилей (Provisioning Profiles) Это вечная классика и головная боль всей команды. Чтобы просто установить тестовый билд на реальное устройство, девайс должен быть внесен в список UDID аккаунта разработчика, а сам профиль подписи должен быть валидным. Малейшая ошибка в настройках CI/CD и вся команда QA сидит без свежей сборки, созерцая ошибки установки. Ладно, это не наша зона ответственности, но на работу влияет напрямую. 📌 Ограничения TestFlight Наш главный и по сути единственный официальный инструмент дистрибуции предрелизных билдов TestFlight имеет свои жесткие ограничения. Особенно тяжело бывает с количеством тестовых аккаунтов. Иногда их просто нельзя создать столько, сколько требуется команде. Из за этого приходится использовать общие аккаунты, что не всегда удобно и прозрачно. 📌 Жесткая «песочница» (Sandbox) iOS невероятно строга к вопросам безопасности и приватности данных. Приложение, свернутое в фон, имеет крайне мало времени на завершение текущих задач. Тестировать фоновые синхронизации, получение пушей, работу Bluetooth или геолокацию на iOS - это отдельное искусство, требующее понимания системных ограничений. И самое проблемное тут то, что далеко не всё прозрачно в понимании того, как именно это работает. Для меня уже привычной стала фраза от разработчика: «Я не знаю, как это работает». 📌 Ограниченный набор инструментов Малое количество инструментов для тонкой настройки заставляет пустить слезу зависти, когда смотришь на то, как в Android интегрированы различные режимы и инструменты для диагностики. 💡 В итоге мы получаем систему, где не так много устройств, чтобы создавать бесконечную матрицу тестирования. Но из за ограничений платформы, особенностей безопасности и неидеальности инструментов мы регулярно вынуждены тормозиться в тестах и адаптировать процессы просто потому, что повлиять на это не можем. Именно поэтому опытный Mobile QA обычно смотрит на iOS не как на «простую платформу», а как на платформу со своим набором уникальных ограничений и компромиссов.

2
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (A+6
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (App Store)
338
3
📱 Ловушки разрешений (Permissions) в мобильных ОС Поговорим про штуку, которая регулярно генерирует критические баги на проде - систему разрешений (Permissions). Особенно это касается Android с его гибкой системой прав доступа (Runtime Permissions). Представим сценарий: пользователь скачал приложение и сразу нажал «Разрешить всё». Это идеальный мир, которого чаще всего не существует. В реальности люди параноидально боятся давать доступ к камере, микрофону или геолокации, если не понимают зачем. И наше приложение должно уметь с этим работать! Объяснять, зачем нужен доступ, и корректно обрабатывать разные состояния разрешений. 📌 Что обязательно нужно тестировать при работе с Permissions: 📍 Отказ в выдаче прав (Deny) Что произойдет, если пользователь нажмет «Отклонить»? Приложение не должно падать. Оно обязано показать объясняющий экран (Rationale), зачем именно ему нужна камера (например, чтобы сканировать штрихкод), и мягко предложить перейти в системные настройки. 📍 Одноразовые разрешения В новых версиях ОС появилась опция «Только в этот раз». Выдали право, сделали фото, свернули приложение, развернули - права больше нет. Готова ли ваша архитектура заново запрашивать доступ, или экран застрянет в вечной загрузке? Как пользователь, я встречал оба варианта. 📍 Отзыв прав в фоне Классический и очень коварный кейс для QA. Дали все разрешения -> свернули приложение -> пошли в системные настройки телефона и отозвали право на геолокацию -> возвращаемся в приложение. В этот момент ОС часто убивает процесс ради безопасности. Как приложение восстановится при разворачивании? Это стоит обсудить с командой заранее. 💡 Нормальное поведение пользователя - это ограниченный доступ к разрешениям, а не сценарий «Разрешить всё». Поэтому в своей практике не пренебрегайте различными сценариями в этой цепочке пользовательских кейсов. Именно там часто скрываются самые неприятные баги.
340
4
📌Полезная карусель для Mobile QA+9
📌Полезная карусель для Mobile QA
4
5
💰 Тестирование встроенных покупок (In App Purchases) - где деньги, Лебовски? Встроенные покупки (IAP) - самая чувствительная зона с точки зрения бизнеса. Ошибка здесь стоит реальных денег и вызывает волну возвратов (refunds). Тестирование требует максимальной осторожности и педантичности. 📌 На что важно обратить внимание: Тип покупки: * Расходные (кристаллы в игре). * Нерасходные (отключение рекламы в приложении). * Подписки. У подписок нужно проверять автовозобновление и работу грейс периода (периода, когда доступ сохраняется при проблемах с оплатой. Такой промежуток, в котором юзеру еще доверяем, но на карандаш уже взяли). 📌 Прерывание транзакции Что произойдет, если интернет пропадет ровно в момент нажатия кнопки «Оплатить»? Покупка не должна зависнуть в неопределенном статусе или вечном лоадере (последний элемент рекомендуют современные гайдлайны). 📌 Валидация чеков Приложение обязательно должно отправлять чек транзакции на сервер для валидации. Это защита от взлома и неприятных историй с прода. 🧪 Тестируйте с помощью Sandbox от Apple (через Xcode) и License Testers в Google Play, чтобы избежать реальных трат. Также проверяйте сценарии смены аккаунтов: покупка с одного Apple ID не должна автоматически переноситься на другой профиль пользователя внутри приложения. ⚠️ Деньги пользователя - важный пункт в работе приложения. Будьте максимально внимательны и не стесняйтесь просить тестовые данные для работы. Свои аккаунты для тестов - это ред флаг.🚩
472
6
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (A+6
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (App Store)
505
7
📱 Базовые команды ADB - шпаргалка для каждого Mobile QA Android Debug Bridge (ADB) - инструмент, который позволяет тестировщику управлять устройством напрямую через консоль. Это освобождает от рутины: вместо того чтобы копаться в настройках телефона, вы делаете всё одной командой. 🛠 Базовый набор, который ускорит вашу работу: adb devices - проверка подключения устройства. adb install -r <apk> - установка сборки с сохранением данных. adb shell pm clear <package> - очистка кэша и данных приложения. Помогает мгновенно сбросить состояние «первого запуска». adb logcat -d > log.txt - выгрузка логов в файл. Это стандарт де факто для качественного баг репорта. adb shell screenrecord /sdcard/video.mp4 — запись видео с экрана для наглядной демонстрации плавающего бага. 📌 Также рекомендую изучить команду для тестирования диплинков: adb shell am start -a android.intent.action.VIEW -d "yourscheme://deeplink" Это позволяет проверять переходы по ссылкам без необходимости пересылать их себе в мессенджеры. Тут только уточню, что ссылки нужно брать из проекта приложения, а детали реализации лучше уточнять у разработчиков. 💡 ADB - это инвестиция в вашу личную эффективность. Освойте эти команды, и вы удивитесь, насколько быстрее станете закрывать задачи. Но помним, что эти команды не всегда актуальны для конкретного проекта, а некоторые из них могут быть ограничены настройками безопасности приложения или устройства.
470
8
📌Полезная карусель для Mobile QA+9
📌Полезная карусель для Mobile QA
562
9
📱 Тестирование производительности - когда "тормоза" убивают UX мобильного приложения Мобильное приложение обречено на провал, если оно тормозит. Особенно сейчас, когда конкуренция на рынке только растет в каждой нише. Современные пользователи избалованы плавными анимациями, и любой фриз при скролле ленты новостей воспринимается как критический баг. Тестирование производительности — это неотъемлемая часть обеспечения качества, а не дополнительная опция. 📊 Ключевые метрики для мониторинга: • Время холодного и горячего запуска приложения. • Стабильность частоты кадров (FPS). • Потребление оперативной памяти. Если приложение не освобождает память при переключении экранов, рано или поздно случится краш из за нехватки ОЗУ (OOM). 🛠 Инструменты вроде Android Studio Profiler или Xcode Instruments позволяют видеть потребление ресурсов в реальном времени. QA занимается этим не так часто, но в практике встречаются самые разные задачи. ⚠️ Однако самый важный совет: тестируйте производительность на слабых бюджетных смартфонах. Именно на них фризы проявляются ярче всего. Проверяйте поведение приложения при перегреве устройства, когда система начинает искусственно снижать частоту процессора. Также всегда учитывайте влияние медленного интернета (Throttling). Долгая загрузка данных часто блокирует интерфейс, создавая иллюзию "тормозов" приложения. Идеальный продукт может и не должен летать на любых устройствах, но адаптироваться под них точно стоит.
438
10
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (A+6
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (App Store)
443
11
📌Полезная карусель для Mobile QA Сама тема Кэша - очень глубокая, ведь есть еще и общая память приложения. Но карусель уже д+7
📌Полезная карусель для Mobile QA Сама тема Кэша - очень глубокая, ведь есть еще и общая память приложения. Но карусель уже даст понимание куда смотреть глубже в технологиях.
404
12
У Linkedin есть классный прогресс в мобильном приложении. Но, видимо, тесты на края кнопок не попали в регресс.
У Linkedin есть классный прогресс в мобильном приложении. Но, видимо, тесты на края кнопок не попали в регресс.
420
13
Кто хочет что бы в одном месте можно было и изучать мобильное приложение и находить там работу? Вот для этого мы уже набрали
Кто хочет что бы в одном месте можно было и изучать мобильное приложение и находить там работу? Вот для этого мы уже набрали 1/4 от нужного количества лайков. Кто забыл - всю активность надо показывать в этом посте
395
14
Вот бы в приложении для мобильных тестировщиков можно было ещё и работу найти... А ведь можно! 👀 Я рассматриваю вариант доба
Вот бы в приложении для мобильных тестировщиков можно было ещё и работу найти... А ведь можно! 👀 Я рассматриваю вариант добавления новой функции, цель которой - собирать вакансии для Mobile QA с рынков США, Европы и СНГ, а также помогать с поиском работы. Всё будет внутри приложения: - вакансии только для Mobile QA; - фильтры по источникам; - удобный поиск в одном месте. Как вам такая идея? 🤔 Голосуем лайками! ❤️ Если этот пост в LinkedIn наберёт 100 реакций, то функция отправится в разработку и появится в приложении. P.S. На фото - скриншоты первых рабочих MVP. 🚀
429
15
📱 Тестирование обновлений (Upgrade Testing) - почему про него часто забывают? Один из видов тестирования в мобилках, которым часто пренебрегают. Речь идет о тестировании обновлений (Upgrade/Update Testing). Классическая практика QA: протестировать новую фичу на «чистой» установке (Clean Install), убедиться, что всё работает идеально, и со спокойной душой покатить сборку на прод. А после релиза получить тонну гневных отзывов от пользователей, у которых после обновления слетела авторизация, пропала корзина или приложение просто крашится при старте. То есть не было учтено наличие пользовательских данных. ⚠️ В чем суть проблемы и что мы обязаны проверять? Когда реальный пользователь обновляет приложение через App Store или Google Play, его локальные данные не удаляются. Новая версия приложения накатывается поверх старой. И здесь критически важно проверить миграцию данных. Что для нас важно? То, как данные хранятся в самом мобильном приложении. И без разработчиков это зачастую никак не узнать. Но независимо от технической реализации есть простое правило: все данные, которые приложение хранит локально на устройстве, должны успешно мигрировать. Если в новой версии вы изменили структуру БД или переименовали ключи (и речь не только про JSON с бэкенда), но забыли написать миграцию, приложение может упасть у всех обновившихся пользователей. 📌 Комфорт пользовательской сессии Авторизованный пользователь должен оставаться авторизованным. Тут всё понятно, пойдем дальше. 📌 Обратная совместимость Что происходит с кэшем? Не ломаются ли сохраненные черновики или офлайн режим? Это те вопросы, которые должен задавать QA, а отвечать на них разработчики. Да, может показаться, что «мы душнилы». Но работа такая: нужно, чтобы приложение хорошо работало, и для этого иногда приходится немного потеснить коллег. Но без фанатизма. 🧪 Как это тестировать правильно? Шаг 1: Устанавливаем старый билд приложения. Шаг 2: Набиваем данные (логинимся, добавляем товары в корзину, создаем черновики и так далее). Шаг 3: Поверх устанавливаем новую тестовую сборку. Шаг 4: Проверяем, что всё на месте и ничего не сломалось. 💡 Такой простой сценарий способен спасти ваши нервы, рейтинг приложения и репутацию продукта.
428
16
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (A+4
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (App Store)
468
17
📱 Пуш уведомления (Push Notifications) - как не упустить баги под капотом? Уведомления в мобильных приложениях на первый взгляд работают просто: бэкенд отправил, телефон принял, пользователь тапнул. Но для Mobile QA здесь скрывается огромное поле для багов, особенно на стыке системных состояний и разных сервисов. 🔔 Для начала вспомним базу: за доставку пушей отвечают облачные сервисы ОС — FCM (Firebase Cloud Messaging) для Android и APNs (Apple Push Notification Service) для iOS (могут быть не только они, но в основном так). Приложение при старте генерирует уникальный пуш токен устройства и отправляет его на бэкенд. Если токен «протухнет» или запишется криво, пользователь останется без уведомлений. Также есть уникальный идентификатор пользователя, про который тоже не стоит забывать. Что обязательно нужно проверять при тестировании пушей? 📌 Состояния приложения (App States) Это самый критичный пункт. Как пуш ведет себя, когда приложение активно (Foreground)? Показывается ли системный баннер или логика обрабатывается внутри приложения? А если приложение свернуто (Background) или полностью закрыто и выгружено из памяти (Killed State)? Очень часто пуши намертво ломают логику именно в Killed State, вызывая краш при попытке клика. 📌 Клик по пушу и диплинки (Deep Links) Пуш редко шлют просто так. Обычно он должен вести на конкретный экран (например, на страницу акции или в чат) либо приглашать пользователя зайти в приложение. Хорошей практикой для QA будет тапнуть на уведомление и проверить, открывается ли правильный экран во всех трех состояниях приложения. Не сбрасывается ли стек навигации? Корректно ли работает кнопка «Назад» после такого перехода? Комфорт пользователя формируется из мелочей, помним про это. 📌 Локализация и Rich контент Проверяйте отображение пушей на разных языках интерфейса. Не ломаются ли спецсимволы и эмодзи? И не забывайте про Rich пуши - уведомления с картинками, кнопками быстрого действия или кастомным звуком. При изменениях такой привычный элемент может банально потеряться. 💡 Правило «делай хорошо и будет хорошо» работает стабильно. Главное - заранее все продумать!
592
18
📌Полезная карусель для Mobile QA+4
📌Полезная карусель для Mobile QA
536
19
📱 Ошибки сервера - как мобильное приложение должно реагировать на боль бэкенда? На повестке клиент серверного взаимодействия поговорим о том, как мобильное приложение должно реагировать на HTTP статус коды ошибок группы 4xx и 5xx. Спойлер: «белый экран» или внезапный вылет из приложения - это худший UX, который только можно придумать. ⚠️ Когда бэкенд "прилег отдохнуть" или упал под нагрузкой, мобильное приложение оказывается лицом к лицу с пользователем. И если приложение не готово к такой ситуации, то будет ситуация как в меме «пу пу пумм». Как грамотное приложение должно обрабатывать серверные ошибки? Наглядно и непротиворечиво. Звучит просто, но вот из чего это складывается. 🔹 Ошибки клиента (Группа 4xx) Например, 401 Unauthorized (истек токен сессии) или 403 Forbidden. Приложение не должно просто молча выдавать ошибку. Идеальный сценарий — мягко разлогинить пользователя и перенаправить его на экран авторизации с понятным объяснением. Если это 404 Not Found (например, товар закончился или ссылка уже не актуальна для карточки), покажите красивую заглушку с кнопкой «Вернуться на главную». 🔹 Ошибки сервера (Группа 5xx) Знаменитая, пусть и редкая 500 Internal Server Error или 503 Service Unavailable. Если выдать чистый код ошибки, то это выглядит непрофессионально. Вместо этого - дружелюбный алерт или Error Screen с иллюстрацией: «Что то пошло не так, наши инженеры уже всё чинят» и кнопкой «Обновить». Например, в своем приложении я делал отдельный экран, где котик сообщал об ошибке со стороны приложения (потому что лапки) с предложением зайти попозже. 💡 Окей, мы сказали, что прокосячились. Но важно сохранять чувство контроля у пользователя, и кнопка «Повторить попытку» (Retry) здесь очень поможет. Для большинства сетевых ошибок (особенно временных сбоев связи) наличие работающей кнопки повтора запроса — это абсолютный must have. Юзеру гораздо проще нажать одну кнопку, чем закрывать и заново открывать приложение. И так мы уменьшаем риски ухода пользователя в другие приложения. Для людей со слабым фокусом внимания это очень важный параметр, которым пренебрегать не стоит. 🧪 При тестировании API обязательно подменяйте ответы сервера в Charles через Rewrite, отдавайте мобилке пятисотые ошибки и смотрите, как реагирует интерфейс. Будьте проактивными, ведь качественный UX строится и на обработке негативных сценариев. П.С. не забывайте про локализацию ошибок. Лично я так пропустил в приложении для мобильных тестировщиков Mobile Tester перевод на английский сообщения, что статьи не загрузились.
500
20
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (A+3
Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌 Скачивай в сторах: ⭐️ Android (Google Play) 🍏 iOS (App Store)
524