Какие знаешь виды автотестов

«Какие знаешь виды автотестов» — вопрос из категории Тестирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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 – для сценариев.