Ответ
- Юнит-тесты (Unit tests) – тестирование отдельных компонентов (классов, функций). Используется JUnit + Mockito для моков.
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
-
Интеграционные тесты – проверка взаимодействия компонентов (например, ViewModel + Repository).
-
UI-тесты (Espresso, UI Automator) – тестирование интерфейса.
onView(withId(R.id.button)).perform(click())
-
Тестирование на устройстве (Firebase Test Lab, Robo test) – автоматизированное тестирование на реальных устройствах.
-
Ручное тестирование – проверка сценариев вручную перед релизом.
-
Snapshot-тесты – сравнение UI с эталонными скриншотами (используется библиотека like Facebook’s Screenshot Tests).
-
Performance тесты – замеры скорости работы, потребления памяти (Android Profiler, Benchmark).
-
A/B-тесты – проверка разных версий фич на пользователях.
-
Monkey testing – случайные действия для поиска крашей.