Инструменты тестирования
Что такое ADB?
ADB (Android Debug Bridge) — это утилита командной строки,
предоставляемая в составе Android SDK (Software Development Kit). Она позволяет
разработчикам взаимодействовать с устройством или эмулятором Android для
следующих целей:
-
Установка и удаление приложений: ADB может устанавливать и удалять приложения на устройствах напрямую с компьютера разработчика.
-
Доступ к файловой системе: Позволяет копировать файлы между устройством и компьютером, просматривать файлы и директории на устройстве.
-
Отладка приложений: ADB предоставляет доступ к консоли устройства для отслеживания системных логов и помощи в отладке приложений.
-
Управление устройством: Включает перезагрузку устройства в различные режимы (например, режим восстановления), остановку и запуск процессов на устройстве.
-
Выполнение команд Shell: Можно выполнять различные команды Linux shell на устройстве Android через ADB.
Как снять логи с Android и iOS?
Снятие логов с устройств Android и iOS может быть осуществлено следующими способами:
Для Android (через ADB):
-
Использование ADB Logcat:
-
Подключите устройство Android к компьютеру через USB.
-
Включите режим разработчика на устройстве и разрешите отладку по USB.
-
Откройте командную строку или терминал на вашем компьютере.
-
Введите команду
adb devicesдля проверки подключения устройства. -
Запустите Logcat с помощью команды
adb logcat. Эта команда начнет отображать системные логи в реальном времени. -
Для сохранения логов в файл, используйте команду
adb logcat > filename.txt.
-
Для iOS (через Xcode):
-
Использование консоли Xcode:
-
Подключите ваше устройство iOS к Mac через USB.
-
Откройте Xcode и выберите ваше устройство в списке доступных устройств.
-
Запустите приложение на устройстве через Xcode для отладки.
-
Используйте окно консоли (Debug area) в Xcode для просмотра логов в реальном времени.
-
-
Использование инструмента Console на macOS:
-
Подключите устройство iOS к Mac.
-
Откройте приложение “Console” на вашем Mac.
-
Выберите ваше устройство в боковом меню.
-
Логи с устройства начнут отображаться. Вы можете фильтровать или искать конкретные сообщения логов.
-
Оба метода позволяют эффективно собирать и анализировать логи для диагностики и отладки приложений на устройствах Android и iOS.
Что нужно проверять при использовании сканера отпечатка/Face ID?
При тестировании функциональности сканера отпечатков пальцев или Face ID необходимо уделить внимание следующим аспектам:
-
Точность распознавания:
- Проверьте, насколько эффективно устройство распознает и верифицирует легитимные отпечатки пальцев или лица. Убедитесь, что нет частых ложных отклонений.
-
Безопасность:
-
Убедитесь, что данные биометрии защищены и не могут быть извлечены или скомпрометированы.
-
Проверьте, что система не подвержена обходу с использованием поддельных отпечатков пальцев или фотографий.
-
-
Время отклика:
- Оцените скорость распознавания. Устройство должно быстро реагировать на попытки аутентификации.
-
Удобство использования:
- Проверьте, насколько просто и удобно для пользователей настраивать и использовать биометрическую аутентификацию.
-
Восстановление после ошибок:
- Проверьте механизмы восстановления доступа в случае неудачной биометрической аутентификации. Например, предложение ввести PIN-код или пароль.
-
Многократная аутентификация:
- Проверьте поведение приложения при отсутствии зарегистрированной биометрии, добавлении нового отпечатка, блокировке после неудачных попыток, отмене и возврате из фона. Биометрические шаблоны регистрирует и хранит ОС; приложение обычно получает только результат проверки.
-
Совместимость с разными условиями и пользователями:
-
Проверьте работу в различных условиях освещения для Face ID и на чистоту поверхности сканера для отпечатков.
-
Убедитесь, что система эффективно работает с биометрическими данными разных возрастных групп и этнических групп.
-
-
Отклик на изменения во внешности:
- Для Face ID важно проверить, как система реагирует на изменения во внешности пользователя, такие как рост бороды, ношение очков или шляпы.
-
Уведомления и сообщения:
- Проверьте, насколько четко и понятно система информирует пользователя о результате аутентификации или ошибках.
Как я могу запускать тесты Android без Appium?
Для запуска тестов Android без использования Appium вы можете использовать следующие инструменты и фреймворки, предоставляемые Google и сообществом:
-
Espresso:-
Официальный фреймворк от Google для тестирования пользовательского интерфейса в приложениях Android.
-
Интегрирован в Android Studio.
-
Позволяет писать консистентные и надежные UI тесты.
-
-
UI Automator:-
Также предоставляется Google.
-
Подходит для тестирования функций на уровне системы, таких как настройки, входящие вызовы и многозадачность.
-
Позволяет тестировать взаимодействие между различными приложениями.
-
-
Robolectric:-
Фреймворк для модульного тестирования, который позволяет запускать тесты Android на JVM (Java Virtual Machine) без необходимости эмулятора или физического устройства.
-
Идеально подходит для быстрого выполнения тестов.
-
-
AndroidJUnitRunner:-
Это тестовый исполнитель, который используется вместе с JUnit для выполнения тестов на Android устройствах.
-
Поддерживает интеграцию как с Espresso, так и с UI Automator.
-
-
MonkeyиMonkeyRunner:-
Monkey— это инструмент командной строки, который генерирует случайные пользовательские события для тестирования стабильности приложений. -
MonkeyRunner— более сложный инструмент для написания программных скриптов для автоматизации тестов на Android.
-
-
Gradle:- Используйте систему сборки Gradle, интегрированную в Android Studio, для автоматизации запуска тестов как часть процесса сборки.
Эти инструменты и фреймворки позволяют выполнять широкий спектр тестирования, от модульного и интеграционного до функционального и системного, без необходимости использования Appium.Выбор конкретного инструмента зависит от ваших требований к тестированию и настройки проекта.
Объясните концепцию дизайна Appium.
Appium — это открытый инструмент для автоматизации тестирования
мобильных приложений, который позволяет тестировать как нативные, так и
гибридные мобильные приложения, а также мобильные веб-сайты на различных
платформах (iOS, Android, Windows) с использованием одного API. Вот основные
концепции дизайна Appium:
-
Основан на
WebDriver:- Appium расширяет протокол Selenium WebDriver для обеспечения совместимости с мобильными API. Это означает, что он использует стандартный протокол WebDriver для коммуникации с мобильным приложением, что позволяет использовать стандартные команды WebDriver для взаимодействия с мобильными приложениями.
-
Кроссплатформенность:
- Appium предоставляет общий WebDriver API, но локаторы, capabilities и отдельные команды зависят от платформы и драйвера. Общую логику можно переиспользовать, однако перенос без изменения кода не гарантирован.
-
Клиент-серверная архитектура:
- Appium работает как сервер, который принимает и обрабатывает запросы от клиентских библиотек. Тесты взаимодействуют с Appium сервером через HTTP запросы, что позволяет легко интегрировать Appium в процесс непрерывной интеграции и развертывания.
-
Не требует модификации приложения:
- Для тестирования приложений с Appium не требуется внесение изменений в код приложения или его компиляция в специальный тестовый режим. Это значительно упрощает процесс интеграции и поддержки тестирования.
-
Поддержка реальных устройств и эмуляторов/симуляторов:
- Тесты, написанные с использованием Appium, могут быть запущены как на реальных устройствах, так и на эмуляторах или симуляторах, что обеспечивает гибкость при выборе среды тестирования.
-
Сеансы:
- Каждый тестовый прогон в Appium запускается в рамках сессии. Управление сессиями позволяет управлять жизненным циклом тестирования, включая установку приложения, запуск, выполнение действий и завершение работы приложения.