Mobile Flashcards

1
Q

**

Какие мобильные платформы существуют?

A

Android
Компания: Google
Ядро: Linux
Система: Открытая
Язык разработки: Java/Kotlin
Магазин: Google Play
Расширение приложений: apk
Установка без магазина: Да

iOS
Компания: Apple
Ядро: Облегченная версия MacOS
Система: Закрытая
Язык разработки: objective-C / Swiftobjective-C /Swift
Магазин: App Store
Расширение приложений: ipa
Установка без магазина: Нет

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Назовите типы мобильных приложений.

A
  • Нативные
  • Веб-приложения
  • Гибридные
  • Кросс-платформенные
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Каков формат файлов сборок приложений для Android и iOS?

A

Android: apk
iOS: ipa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое ADB?

A

ADB (Android Debug Bridge) - клиент-серверное приложение, которое предоставляет доступ к работающему эмулятору или устройству. С его помощью можно копировать файлы, устанавливать скомпилированные программные пакеты и запускать консольные команды.
Состоит из трёх компонентов:

фоновой службы (демона), работающей в эмуляторе
сервиса, запущенного на компьютере разработчика
клиентской программы (наподобие DDMS), которая связывается со службой через Сервис

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как снять логи с AOS/IOS?

A
  • ADB, приложения
  • xcode, через терминал idevicesyslog
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое Appium

A

Appium — бесплатный кроссплатформенный инструмент с открытым исходным кодом, который помогает автоматизировать приложения как для Android, так и для iOS. Appium придерживается того же подхода, что и Selenium WebDriver, который получает HTTP-запросы в формате JSON от клиентов и преобразует их в зависимости от платформы, на которой он работает.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как я могу запускать тесты Android без Appium?

A
  1. Espresso: Espresso - это фреймворк для автоматизированного тестирования пользовательского интерфейса на Android. Он предоставляет API для написания и запуска UI-тестов в приложениях Android. Espresso интегрирован с Android Studio и рассчитан на тестирование приложений на уровне пользовательского интерфейса (UI).
  2. UI Automator: UI Automator - это другой инструмент от Google для автоматизации тестирования пользовательского интерфейса на устройствах Android. Он позволяет создавать сценарии тестирования на более высоком уровне, включая взаимодействие с различными приложениями и компонентами системы.
  3. Robolectric: Robolectric - это фреймворк для Android, который позволяет запускать тесты на уровне модуля в обычном JVM без необходимости запуска на устройстве или эмуляторе. Robolectric ускоряет процесс автоматизации тестирования и упрощает разработку модульных тестов для Android-приложений.
  4. MonkeyRunner: MonkeyRunner - инструмент для автоматизации тестирования на устройствах Android, который позволяет записывать и запускать различные действия и сценарии на устройствах или эмуляторах Android.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Что необходимо проверить при тестировании мобильного приложения?

A

Работа с функциями телефона:

  • GPS: Проверка корректности работы геолокационных функций в приложении, включая тестирование в реальных условиях перемещения.
  • Видео/фото: Тестирование интеграции приложения с камерой устройства, включая съемку, обработку и загрузку контента.
  • Размер экрана, разрешение, ориентация (акселерометр): Убедиться, что приложение адаптировано для разных размеров экранов, поддерживает различные разрешения и корректно отзывается под портретную и ландшафтную ориентацию устройства.
  • Работа с жестами: Проверка управления приложением через стандартные жесты, такие как тапы, свайпы, зум и прочие.
  • Другие функции телефона: Тестирование интеграции приложения с такими функциями, как Bluetooth, NFC, звонки, SMS и другие.

Работа с производительностью:

  • Скорость/отзывчивость: Оценка времени реакции приложения на действия пользователя и общую производительность.
  • Загрузка оперативной памяти: Мониторинг использования RAM приложением и его влияние на работу устройства.
  • Зависимость от заряда батареи: Анализ потребления энергии приложением и его влияние на время работы устройства от батареи.
  • Запуск с внутренней памяти / с флеш-накопителя: Проверка работы приложения при установке в основную память и на внешний носитель.

Тестирование установки:

  • Установка: Проверка процесса установки и первоначальной настройки приложения.
  • Удаление: Тестирование полного удаления приложения без оставления “хвостов” данных.
  • Переустановка: Проверка корректности повторной установки приложения.
  • Обновление: Тестирование процесса обновления приложения и его совместимости с предыдущими версиями данных и настройками.

Тестирование прерываний:

  • Исходящие/входящие вызовы: Проверка поведения приложения при получении и совершении вызовов.
  • Всплывающие окна/уведомления: Тестирование реакции приложения на системные уведомления или всплывающие окна других приложений.
  • Прерывания при разрядке/подзарядке: Проверка реакции приложения на изменение состояния заряда батареи.
  • Сворачивание/разворачивание приложения: Тестирование перехода приложения в фоновый режим и обратно.

Интернет:

  • Тип соединения (Wi-Fi, 3g, 4g, 5g): Тестирование работы приложения в различных типах сетевых соединений.
  • Качество соединения: Проверка стабильности приложения при изменении качества сети.
  • Потеря связи: Тестирование поведения приложения при внезапных обрывах соединения.
  • Изменение типа соединения: Проверка адаптивности приложения к переходу между различными типами сетевых соединений (например, с Wi-Fi на мобильные данные).

Дополнительные примеры для тестирования:

  • Мультиязычность: Проверка работы приложения на различных языковых настройках устройства.
  • Совместимость с аксессуарами: Тестирование совместной работы приложения с внешними аксессуарами, такими как умные часы, фитнес-браслеты.
  • Мультимедиа: Тестирование функций воспроизведения аудио и видео внутри приложения.
  • Интеграция с социальными сетями: Проверка возможностей авторизации через социальные сети и обмена контентом.
  • Безопасность: Проверка на уязвимости, такие как утечки данных, неправильное хранение чувствительной информации, и внедрение вредоносного кода.

https://stepik.org/lesson/1036761/step/3?auth=login&unit=1045246

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Что такое Manifest.xml в .apk файле и какие данные там указывают?

A

файл манифеста в формате XML, который содержит информацию о приложении Android, упакованном в .apk файл.

Содержит:
1. Название приложения и пакет приложения
2. Иконка приложения
3. Версия приложения
4. Права доступа приложения к различным функциям устройства (например, доступ к камере или контактам)
5. Компоненты приложения, такие как активности, сервисы, приемники и провайдеры контента
6. Основные и опциональные компоненты приложения
7. Конфигурация и настройки приложения
8. Интенты, определяющие, какие действия могут быть выполнены приложением
9. Метаданные приложения

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое режим разработчика Do not keep activities?

A

Когда этот режим включен, система Android не сохраняет состояние активности (Activity) после того, как она становится невидимой или неактивной.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Как происходит перехват трафика http/https для мобильных устройств?

A

Прокси сервер (charles, fiddler)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly