Mobile Flashcards
**
Какие мобильные платформы существуют?
Android
Компания: Google
Ядро: Linux
Система: Открытая
Язык разработки: Java/Kotlin
Магазин: Google Play
Расширение приложений: apk
Установка без магазина: Да
iOS
Компания: Apple
Ядро: Облегченная версия MacOS
Система: Закрытая
Язык разработки: objective-C / Swiftobjective-C /Swift
Магазин: App Store
Расширение приложений: ipa
Установка без магазина: Нет
Назовите типы мобильных приложений.
- Нативные
- Веб-приложения
- Гибридные
- Кросс-платформенные
Каков формат файлов сборок приложений для Android и iOS?
Android: apk
iOS: ipa
Что такое ADB?
ADB (Android Debug Bridge) - клиент-серверное приложение, которое предоставляет доступ к работающему эмулятору или устройству. С его помощью можно копировать файлы, устанавливать скомпилированные программные пакеты и запускать консольные команды.
Состоит из трёх компонентов:
фоновой службы (демона), работающей в эмуляторе
сервиса, запущенного на компьютере разработчика
клиентской программы (наподобие DDMS), которая связывается со службой через Сервис
Как снять логи с AOS/IOS?
- ADB, приложения
- xcode, через терминал idevicesyslog
Что такое Appium
Appium — бесплатный кроссплатформенный инструмент с открытым исходным кодом, который помогает автоматизировать приложения как для Android, так и для iOS. Appium придерживается того же подхода, что и Selenium WebDriver, который получает HTTP-запросы в формате JSON от клиентов и преобразует их в зависимости от платформы, на которой он работает.
Как я могу запускать тесты Android без Appium?
- Espresso: Espresso - это фреймворк для автоматизированного тестирования пользовательского интерфейса на Android. Он предоставляет API для написания и запуска UI-тестов в приложениях Android. Espresso интегрирован с Android Studio и рассчитан на тестирование приложений на уровне пользовательского интерфейса (UI).
- UI Automator: UI Automator - это другой инструмент от Google для автоматизации тестирования пользовательского интерфейса на устройствах Android. Он позволяет создавать сценарии тестирования на более высоком уровне, включая взаимодействие с различными приложениями и компонентами системы.
- Robolectric: Robolectric - это фреймворк для Android, который позволяет запускать тесты на уровне модуля в обычном JVM без необходимости запуска на устройстве или эмуляторе. Robolectric ускоряет процесс автоматизации тестирования и упрощает разработку модульных тестов для Android-приложений.
- MonkeyRunner: MonkeyRunner - инструмент для автоматизации тестирования на устройствах Android, который позволяет записывать и запускать различные действия и сценарии на устройствах или эмуляторах Android.
Что необходимо проверить при тестировании мобильного приложения?
Работа с функциями телефона:
- GPS: Проверка корректности работы геолокационных функций в приложении, включая тестирование в реальных условиях перемещения.
- Видео/фото: Тестирование интеграции приложения с камерой устройства, включая съемку, обработку и загрузку контента.
- Размер экрана, разрешение, ориентация (акселерометр): Убедиться, что приложение адаптировано для разных размеров экранов, поддерживает различные разрешения и корректно отзывается под портретную и ландшафтную ориентацию устройства.
- Работа с жестами: Проверка управления приложением через стандартные жесты, такие как тапы, свайпы, зум и прочие.
- Другие функции телефона: Тестирование интеграции приложения с такими функциями, как Bluetooth, NFC, звонки, SMS и другие.
Работа с производительностью:
- Скорость/отзывчивость: Оценка времени реакции приложения на действия пользователя и общую производительность.
- Загрузка оперативной памяти: Мониторинг использования RAM приложением и его влияние на работу устройства.
- Зависимость от заряда батареи: Анализ потребления энергии приложением и его влияние на время работы устройства от батареи.
- Запуск с внутренней памяти / с флеш-накопителя: Проверка работы приложения при установке в основную память и на внешний носитель.
Тестирование установки:
- Установка: Проверка процесса установки и первоначальной настройки приложения.
- Удаление: Тестирование полного удаления приложения без оставления “хвостов” данных.
- Переустановка: Проверка корректности повторной установки приложения.
- Обновление: Тестирование процесса обновления приложения и его совместимости с предыдущими версиями данных и настройками.
Тестирование прерываний:
- Исходящие/входящие вызовы: Проверка поведения приложения при получении и совершении вызовов.
- Всплывающие окна/уведомления: Тестирование реакции приложения на системные уведомления или всплывающие окна других приложений.
- Прерывания при разрядке/подзарядке: Проверка реакции приложения на изменение состояния заряда батареи.
- Сворачивание/разворачивание приложения: Тестирование перехода приложения в фоновый режим и обратно.
Интернет:
- Тип соединения (Wi-Fi, 3g, 4g, 5g): Тестирование работы приложения в различных типах сетевых соединений.
- Качество соединения: Проверка стабильности приложения при изменении качества сети.
- Потеря связи: Тестирование поведения приложения при внезапных обрывах соединения.
- Изменение типа соединения: Проверка адаптивности приложения к переходу между различными типами сетевых соединений (например, с Wi-Fi на мобильные данные).
Дополнительные примеры для тестирования:
- Мультиязычность: Проверка работы приложения на различных языковых настройках устройства.
- Совместимость с аксессуарами: Тестирование совместной работы приложения с внешними аксессуарами, такими как умные часы, фитнес-браслеты.
- Мультимедиа: Тестирование функций воспроизведения аудио и видео внутри приложения.
- Интеграция с социальными сетями: Проверка возможностей авторизации через социальные сети и обмена контентом.
- Безопасность: Проверка на уязвимости, такие как утечки данных, неправильное хранение чувствительной информации, и внедрение вредоносного кода.
https://stepik.org/lesson/1036761/step/3?auth=login&unit=1045246
Что такое Manifest.xml в .apk файле и какие данные там указывают?
файл манифеста в формате XML, который содержит информацию о приложении Android, упакованном в .apk файл.
Содержит:
1. Название приложения и пакет приложения
2. Иконка приложения
3. Версия приложения
4. Права доступа приложения к различным функциям устройства (например, доступ к камере или контактам)
5. Компоненты приложения, такие как активности, сервисы, приемники и провайдеры контента
6. Основные и опциональные компоненты приложения
7. Конфигурация и настройки приложения
8. Интенты, определяющие, какие действия могут быть выполнены приложением
9. Метаданные приложения
Что такое режим разработчика Do not keep activities?
Когда этот режим включен, система Android не сохраняет состояние активности (Activity) после того, как она становится невидимой или неактивной.
Как происходит перехват трафика http/https для мобильных устройств?
Прокси сервер (charles, fiddler)