MobileApps - мобильное тестирование | Mobile QA
رفتن به کانال در Telegram
О мобильном тестировании Android\IOS из Европы. Автор - Влад Казачек Писать - @QAMobileCourse Сайт - https://mango19942.wixsite.com/my-site
نمایش بیشتر3 785
مشترکین
+124 ساعت
-67 روز
-2830 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '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 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 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 (App Store) | 331 |
| 3 | 📱 Ловушки разрешений (Permissions) в мобильных ОС
Поговорим про штуку, которая регулярно генерирует критические баги на проде - систему разрешений (Permissions).
Особенно это касается Android с его гибкой системой прав доступа (Runtime Permissions).
Представим сценарий: пользователь скачал приложение и сразу нажал «Разрешить всё». Это идеальный мир, которого чаще всего не существует.
В реальности люди параноидально боятся давать доступ к камере, микрофону или геолокации, если не понимают зачем.
И наше приложение должно уметь с этим работать! Объяснять, зачем нужен доступ, и корректно обрабатывать разные состояния разрешений.
📌 Что обязательно нужно тестировать при работе с Permissions:
📍 Отказ в выдаче прав (Deny)
Что произойдет, если пользователь нажмет «Отклонить»?
Приложение не должно падать.
Оно обязано показать объясняющий экран (Rationale), зачем именно ему нужна камера (например, чтобы сканировать штрихкод), и мягко предложить перейти в системные настройки.
📍 Одноразовые разрешения
В новых версиях ОС появилась опция «Только в этот раз».
Выдали право, сделали фото, свернули приложение, развернули - права больше нет.
Готова ли ваша архитектура заново запрашивать доступ, или экран застрянет в вечной загрузке? Как пользователь, я встречал оба варианта.
📍 Отзыв прав в фоне
Классический и очень коварный кейс для QA.
Дали все разрешения -> свернули приложение -> пошли в системные настройки телефона и отозвали право на геолокацию -> возвращаемся в приложение.
В этот момент ОС часто убивает процесс ради безопасности.
Как приложение восстановится при разворачивании? Это стоит обсудить с командой заранее.
💡 Нормальное поведение пользователя - это ограниченный доступ к разрешениям, а не сценарий «Разрешить всё».
Поэтому в своей практике не пренебрегайте различными сценариями в этой цепочке пользовательских кейсов. Именно там часто скрываются самые неприятные баги. | 333 |
| 4 | 📌Полезная карусель для Mobile QA | 4 |
| 5 | 💰 Тестирование встроенных покупок (In App Purchases) - где деньги, Лебовски?
Встроенные покупки (IAP) - самая чувствительная зона с точки зрения бизнеса. Ошибка здесь стоит реальных денег и вызывает волну возвратов (refunds).
Тестирование требует максимальной осторожности и педантичности.
📌 На что важно обратить внимание:
Тип покупки:
* Расходные (кристаллы в игре).
* Нерасходные (отключение рекламы в приложении).
* Подписки.
У подписок нужно проверять автовозобновление и работу грейс периода (периода, когда доступ сохраняется при проблемах с оплатой. Такой промежуток, в котором юзеру еще доверяем, но на карандаш уже взяли).
📌 Прерывание транзакции
Что произойдет, если интернет пропадет ровно в момент нажатия кнопки «Оплатить»?
Покупка не должна зависнуть в неопределенном статусе или вечном лоадере (последний элемент рекомендуют современные гайдлайны).
📌 Валидация чеков
Приложение обязательно должно отправлять чек транзакции на сервер для валидации.
Это защита от взлома и неприятных историй с прода.
🧪 Тестируйте с помощью Sandbox от Apple (через Xcode) и License Testers в Google Play, чтобы избежать реальных трат.
Также проверяйте сценарии смены аккаунтов: покупка с одного Apple ID не должна автоматически переноситься на другой профиль пользователя внутри приложения.
⚠️ Деньги пользователя - важный пункт в работе приложения. Будьте максимально внимательны и не стесняйтесь просить тестовые данные для работы.
Свои аккаунты для тестов - это ред флаг.🚩 | 464 |
| 6 | Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌
Скачивай в сторах:
⭐️ Android (Google Play)
🍏 iOS (App Store) | 496 |
| 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 - это инвестиция в вашу личную эффективность. Освойте эти команды, и вы удивитесь, насколько быстрее станете закрывать задачи.
Но помним, что эти команды не всегда актуальны для конкретного проекта, а некоторые из них могут быть ограничены настройками безопасности приложения или устройства. | 462 |
| 8 | 📌Полезная карусель для Mobile QA | 557 |
| 9 | 📱 Тестирование производительности - когда "тормоза" убивают UX мобильного приложения
Мобильное приложение обречено на провал, если оно тормозит. Особенно сейчас, когда конкуренция на рынке только растет в каждой нише.
Современные пользователи избалованы плавными анимациями, и любой фриз при скролле ленты новостей воспринимается как критический баг.
Тестирование производительности — это неотъемлемая часть обеспечения качества, а не дополнительная опция.
📊 Ключевые метрики для мониторинга:
• Время холодного и горячего запуска приложения.
• Стабильность частоты кадров (FPS).
• Потребление оперативной памяти.
Если приложение не освобождает память при переключении экранов, рано или поздно случится краш из за нехватки ОЗУ (OOM).
🛠 Инструменты вроде Android Studio Profiler или Xcode Instruments позволяют видеть потребление ресурсов в реальном времени.
QA занимается этим не так часто, но в практике встречаются самые разные задачи.
⚠️ Однако самый важный совет: тестируйте производительность на слабых бюджетных смартфонах.
Именно на них фризы проявляются ярче всего.
Проверяйте поведение приложения при перегреве устройства, когда система начинает искусственно снижать частоту процессора.
Также всегда учитывайте влияние медленного интернета (Throttling). Долгая загрузка данных часто блокирует интерфейс, создавая иллюзию "тормозов" приложения.
Идеальный продукт может и не должен летать на любых устройствах, но адаптироваться под них точно стоит. | 438 |
| 10 | Мобильное приложение для мобильных тестировщиков. Идеальное сочетание🤌
Скачивай в сторах:
⭐️ Android (Google Play)
🍏 iOS (App Store) | 443 |
| 11 | 📌Полезная карусель для Mobile QA
Сама тема Кэша - очень глубокая, ведь есть еще и общая память приложения. Но карусель уже даст понимание куда смотреть глубже в технологиях. | 404 |
| 12 | У 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 (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 | 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 (App Store) | 524 |
