В цикле этих статей я хочу пролить свет на несколько инструментов для тестирования Android приложений и привести примеры их использования.
Несколько месяцев назад я заинтересовался профессией QA. Причин было много: как минимум, мне хотелось говорить с тестировщиками на одном языке, а еще повысить собственную эффективность в повседневной работе.
Я нашел интересный канал, где проводятся открытые собеседования junior QA, который помог мне узнать больше о работе QA инженеров. Так сложилось, что спустя некоторое время, я присоединился к команде интервьюеров и уже сам задавал вопросы по java core, а также помогал ребятам, которые хотели идти дальше в автоматизацию: подсказывал ресурсы и выступал в роли ментора.
На одном из таких интервью поднялась тема тестирования Android/iOS приложений. Начиналась она с вопросов по гайдлайнам MD и IHI и новинок в последих версиях платформ, но как только зазвучали вопросы о встроенных инструментах, которые будут полезными в ежедневной работе тестировщика, все кандидаты терялись и слабо представляли, о чем идет речь. Именно тогда у меня возникла мысль написать эту статью, собрав информацию по работе с Android и некоторыми инструментами, полезными для начинающих специалистов.
Почему я раньше о нём не знал? Полезное приложение для андроид телефонов
Хочу сказать большое спасибо Вадиму за то, что он делает для QA коммьюнити. Если у вас есть желание попробовать свои силы на живых собеседованиях, то заходите на канал. А также хочу поблагодарить Женю за идею для статьи, Леру и Таню за внесенные правки и помощь в оформлении.
Эта статья будет полезна специалистам QA и разработчикам, начинающим свой путь в мобильной разработке. Сразу уточню, что тестирование бизнес-требований продукта останется за рамками этой статьи — все они могут значительно отличаться от приложения к приложению.
Здесь я поделюсь с вами инструментами, которые помогут упростить и автоматизировать процесс тестирования Android приложений. А также немного расскажу о том, как устроены Android приложения.
Содержание:
- (Вы здесь) Часть 1. Android приложение: что это и как с этим работать
- Часть 2: ADB
- Часть 3: Logcat
- Часть 4: ReTrace
- Часть 5: Побеждаем ANR с помощью ANRWatchdog
Android приложение: что это такое и как с этим работать
Обычно для проведения тестирования QA специалисты получают файл с расширением .apk. Это файл с готовым приложением, которое можно запустить на любом Android девайсе.
APK или Android application package — архив, содержащий в себе исходный код приложения, статические ресурсы (иконки, картинки, строки, размеры верстки), а также файл с описанием всех характеристик и компонентов приложения — Android manifest.
С помощью Android Studio можно открыть любой apk и посмотреть его содержимое (Build → Analyze APK…). В самом исходном коде стоит копаться только в случае, если есть необходимость проверить защищенность приложения: не раскрыли ли случайно разработчики личную информацию пользователей и не зашили ли секретные ключи в обычные строки.
Я удалю. Это приложение постоянно работает в фоне, разряжает батарею и решает за тебя, что делать
А вот получить доступ к Android manifest будет полезно, ведь в нем можно найти много информации о приложении: от минимальной версии до разрешений, которые запрашивает приложение у пользователя.
Сразу нужно сказать, что Android manifest можно попросить напрямую у разработчиков и он будет более читаемым, но не будет полным — в приложении до сборки есть много манифестов, которые “сшиваются” друг с другом, когда собирается финальный APK.
Итак, Android manifest содержит следующую информацию:
- Версию приложения (поля versionName и versionCode)
- Уникальный пакет приложения (поле package, например “com.example.app”) — пригодится для работы с одним из инструментов из этой статьи
- Поддерживаемые версии android (блок )
- Разрешения, которые выдаются приложению (блоки , их назначение легко гуглится)
- Какие встроенные возможности девайса используются (блоки )
- Какие типы компонентов есть в приложении ()
QA специалисту полезно иметь возможность иногда проводить ревизию блоков , так как некоторые из них могут со временем терять свою актуальность. К примеру, раньше в приложении использовалась камера:
android_required=»true» />
Но в одном из релизов фича с камерой ушла и больше не используется, хотя и прописана в манифесте. Казалось бы, чем это может навредить?
Здесь стоит еще раз обратить внимание на строчку кода выше и конкретно на параметр android_required=”true”. Этот параметр означает, что скачивать приложение из стора могут только пользователи у которых есть камера на телефоне. То есть мы уже отказались от фичи с камерой, но разрешение из манифеста не убрали, и пользователи без камеры все еще не могут скачать наше приложение — мы упускаем аудиторию.
Также проверять стоит и блоки : если ваше приложение требует доступа к контактам, но по факту эти данные нигде не использует, то многие пользователи могут задаться вопросом: для чего же приложению нужен доступ к этим данным? А особо подозрительные и вовсе предпочтут уйти к более прозрачным конкурентам.
Теперь чуть подробнее остановимся непосредственно на компонентах приложения. Как я сказал, они бывают нескольких видов: , , , . Компоненты каждого вида могут использоваться несколько раз.
— это экран приложения, с которым может взаимодействовать пользователь (одна активити = один экран).
— сервис, который не имеет своего UI, но может выполнять какую-то задачу. Например, в приложении может быть сервис, который скачивает последние данные по погоде и сохраняет их в базу данных.
— специальный компонент, который слушает системные события и события других приложений. К примеру, когда появляется интернет, все ресиверы, отслеживающие это событие, начинают выполнять запрограммированную в них работу.
— компонент, который предоставляет другим приложениям информацию из вашего приложения, делая ее общедоступной. По такому принципу работает провайдер приложения “Контакты”.
Следует обратить внимание на то, что в манифесте всегда есть один уникальный блок , который активируется при клике на иконку приложения — именно он запускает приложение. Выглядит он вот так:
К нему мы вернемся чуть позже.
Не так давно появился новый формат поставки приложений на маркетплэйсе — .aab (Android application bundle).
Главное отличие этого формата от .apk в том, что в него упаковываются статические ресурсы специфичные только для девайса, на который скачивается приложение. Например, если приложение поддерживает 16 языков, но на телефоне установлен шведский, то и вместе с приложением скачается только шведский язык (в случае APK на девайс загружаются все языки). Это позволяет значительно сократить размер приложения. Если пользователь вдруг сменит язык, то система оперативно подгрузит новый язык в приложение и отобразит его.
Однако файл .aab нельзя напрямую установить на телефон. В таком случае разработчикам приходится делать две сборки: .apk для тестирования и .aab для маркетплэйса. И здесь вы можете заметить, что нарушается важное правило тестирования — фактически тестируется не то, что будет выложено в релиз.
Но есть одна хитрость: эту проблему легко можно исправить с помощью bundletool. Bundletool — это скрипт для командной строки, в который вы предаете .aab файл и говорите, как назвать .apk, который должен получиться на выходе.
bundletool build-apks -bundle=/path/to/folder/my_app.aab
-output=/other/folder/my_app.apks
После этого у вас на руках будет стандартный apk архив и вы сможете тестировать именно ту версию, которая пойдет в релиз.
Note: Обычно такие файлы как bundletool называют executable (файлы, которые можно запустить), если консоль пишет вам Command not found: bundletool , то нужно в консоли прописать полный путь до этого файла “/Users/user/test/../bundletool [команды]”, либо добавить папку, где лежит, этот файл в путь окружения, и тогда полный путь можно не писать. Дальше для краткости подразумевается, что путь до консольных файлов записан в пути окружения.
Теперь давайте поговорим о самом функциональном инструменте, который поможет нам напрямую управлять девайсом.
Источник: szadorozhnyi.medium.com
RawDataTest
Скачать RawDataTest APK для Android — бесплатно — Последняя версия
Последняя версия
20 мая 2020 г.
Разработчик
Google Play ID
Количество установок
App APKs
RawDataTest APK
RawDataTest APP
Популярные запросы
LD Player — #1 Android Emulator
Лучший Эмулятор Андроида для ПК
Приложения · Hot
TikTok TikTok Pte. Ltd. · Социальные
Google Play Маркет Google LLC · Инструменты
自由浏览 Greatfire.org · Связь
VK VK.com · Социальные
Spaces — Зона обмена Artem Kalash · Социальные
Популярные
Google Play Маркет Google LLC · Инструменты
Google Account Manager Google · Инструменты
Сервисы Google Play Google LLC · Инструменты
TapTap (CN) Ewan Shanghai Network Technology co.,Ltd · Инструменты
Game Guardian 枫影(尹湘中) · Инструменты
TapTap Global TapTap · Инструменты
APK Editor SteelWorks · Инструменты
Aptoide TV Aptoide · Инструменты
Huawei AppGallery Huawei · Инструменты
SHAREit Smart Media4U Technology Pte.Ltd. · Инструменты
APKCombo Installer
Порядок установки XAPK, APKS, OBB?
Источник: apkcombo.com
Загрузка RawDataTest
RawDataTest — это goodix, rawdata, tools, rawdatatest, рейтинг содержимого — Все (PEGI-3). Это приложение оценено 4 пользователями 2, которые используют это приложение. Чтобы узнать больше о компании / разработчике, посетите веб-сайт, который ее разработал. Приложения com.goodix.rawdata.apk можно загрузить и установить на устройства Android 2.3.x и выше. Последняя версия 1.4.6 (20160303) lenovo доступна для загрузки.
Загрузите приложение в своем любимом браузере и нажмите «Установить», чтобы установить приложение. Обратите внимание, что мы предоставляем как простые, так и чистые файлы APK, а также более высокую скорость загрузки, чем APK Mirror. APK-файл этого приложения был загружен в магазине более 80 раз. Вы также можете скачать APK com.goodix.rawdata и запустить его с помощью популярных эмуляторов Android.
RawDataTest от ApkOnline.net