Что было с тестами в команде

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

Ответ

В команде использовались unit, интеграционные и UI-тесты (Espresso). Unit-тесты покрывали бизнес-логику, интеграционные — взаимодействие модулей, UI-тесты — ключевые сценарии.

Пример unit-теста:

@Test
fun `calculateDiscount returns correct value`() {
    val discount = DiscountCalculator.calculate(100, 20)
    assertEquals(80, discount)
}

Тесты запускались в CI/CD (например, GitHub Actions) при каждом PR. Для UI-тестов использовали Firebase Test Lab. Покрытие было ~70% по unit-тестам, интеграционные и UI-тесты покрывали основные кейсы.

Проблемы: флаки UI-тестов (решали через idling resources), долгое выполнение (параллельный запуск).