Ответ
Опыт включает ручное и автоматизированное тестирование нативных Android-приложений.
Основные активности и инструменты:
- Ручное тестирование: Проверка функциональности, UI/UX, сценариев использования.
- Автоматизация: Написание UI-тестов с использованием Espresso и JUnit.
- Инструменты: Android Studio, эмуляторы (AVD), реальные устройства, ADB.
- Тест-дизайн: Проверка на разных версиях ОС, плотностях экрана, при прерываниях (звонок, SMS), смене ориентации.
Пример UI-теста на Espresso для проверки логина:
@Test
public void testSuccessfulLogin() {
// Ввод данных и нажатие кнопки
onView(withId(R.id.et_username))
.perform(typeText("testuser"), closeSoftKeyboard());
onView(withId(R.id.et_password))
.perform(typeText("password123"), closeSoftKeyboard());
onView(withId(R.id.btn_login))
.perform(click());
// Проверка успешного перехода
onView(withId(R.id.tv_welcome))
.check(matches(withText("Welcome, testuser!")));
}
ADB команды для диагностики:
# Установка APK
adb install app-debug.apk
# Получение логов
adb logcat -d > device_log.txt
# Снимок экрана
adb exec-out screencap -p > screen.png
Также использовал Profiler в Android Studio для анализа использования CPU, памяти и сети.