Ответ
Unit-тесты – тестируют отдельные классы или методы (JUnit, Mockito).
Пример:
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
Интеграционные тесты – проверяют взаимодействие компонентов (Room, Retrofit).
UI-тесты (Espresso, UI Automator) – тестируют интерфейс. Пример:
onView(withId(R.id.button)).perform(click())
End-to-end (E2E) – проверяют полный сценарий (от UI до бэкенда).
Snapshot-тесты – сравнивают скриншоты (Facebook’s ScreenshotTesting).
Мониторинг производительности – Benchmark, Firebase Test Lab.
Выбор зависит от задачи: юнит-тесты – для логики, UI – для экранов, E2E – для сценариев.