Инженер по автоматизации тестирования в Домиленд
Домиленд — цифровая экосистема для застройщиков, управляющих компаний и жильцов. Через нашу платформу можно управлять всем домом: оплачивать коммунальные услуги, подавать заявки, следить за камерами, бронировать парковку и пользоваться умным домом. Для бизнеса Домиленд — это мощная CRM-платформа, которая автоматизирует процессы и делает обслуживание прозрачным.
Мы — часть крупной PropTech-среды, которая уже больше семи лет развивает рынок цифровых решений для жилых комплексов. Сейчас расширяем QA-команду и ищем инженера-автоматизатора, который будет помогать строить надёжные тестовые решения для Android-приложения, ускорять релизы и повышать стабильность ключевых сервисов.
Вам предстоит обеспечивать высокое качество нашего приложения, создавая надёжные автотесты и развивая тестовую инфраструктуру на Kotlin (Android).
Наш стек:
- Язык: Kotlin
- Фреймворк для UI-тестов: Kaspresso (основной)
- Тестирование Compose: Jetpack Compose UI (testTag)
- Раннер: JUnit 4 (instrumentation tests)
- Работа с API: клиент, сгенерированный из OpenAPI
- Сборка: Gradle
Задачи и обязанности
Разработка и поддержка UI E2E-тестов для Android
Вы будете создавать стабильные и эффективные автоматизированные сценарии, покрывающие ключевые пользовательские потоки. Это основа нашего уверенного и быстрого релиз-цикла.
Тестирование гибридных интерфейсов: XML и Jetpack Compose
Наш проект активно использует как классическую XML-вёрстку, так и современный Jetpack Compose. Вам предстоит разрабатывать тесты для обоих подходов, включая гибридные сценарии, обеспечивая единое качество интерфейса.
Интеграция с CRM через API для управления данными
Вы будете активно использовать API нашей CRM-системы для подготовки тестовых данных, управления состоянием приложения перед тестами и очистки после их выполнения. Это позволит строить сложные E2E-сценарии, максимально приближенные к реальности.
Проектирование и развитие тестовой архитектуры
Вам предстоит выстраивать масштабируемую и поддерживаемую архитектуру автотестов: переиспользуемые Screen Objects, слой сервисов для работы с API, билдеры тестовых данных. Ваша цель — сделать так, чтобы тесты были читаемыми и легко развивались вместе с приложением.
Борьба с флаками и повышение стабильности
Вы будете анализировать падения тестов, улучшать механизмы ожиданий и синхронизации, внедрять лучшие практики для минимизации flaky-тестов. Также в ваши задачи войдёт настройка артефактов (логи, скриншоты) для быстрой диагностики проблем.
Требования
- Уверенно владеете Kotlin: пишете чистый и читаемый код, используете extension-функции, понимаете основы корутин (suspend-функции, тайм-ауты)
- Автоматизировали UI-тесты на Android с использованием Kaspresso или Espresso, включая работу с ожиданиями и синхронизацией
- Тестировали интерфейсы на XML и на Jetpack Compose
- Понимаете, как добиваться стабильности тестов: боретесь с флаками, используете корректные стратегии ожиданий
- Умеете работать с REST API для подготовки тестовых данных (авторизация, создание сущностей, очистка)
- Владеете принципами построения архитектуры автотестов: Page/Screen Object Pattern, шаги (steps), билдеры тестовых данных
- Работаете с Git, понимаете процессы код-ревью и несёте ответственность за качество своего тестового кода
Дополнительные требования
- Работали со сгенерированными API-клиентами (OpenAPI)
- Знаете нюансы тестирования Compose UI: работа с testTag, semantics, выстраивание соглашений с разработчиками
- Работали с UiAutomator для тестирования системных диалогов, разрешений, deep links
- Настраивали прогоны автотестов в CI/CD (например, GitLab CI, Jenkins), работали с артефактами и отчётностью (Allure Report)
- Оптимизировали скорость прогонов: шардирование, параллельный запуск, использование device farm
- Автоматизировали тестирование на Swift (iOS): мы движемся к кросс-платформенному качеству, и ваш опыт может пригодиться команде тестирования iOS