← SkillCueВсе роли

Вопросы на собеседовании QA Automation: 16 вопросов с разбором

Собеседование автоматизатора — это три слоя: инструменты (селекторы, ожидания, фреймворк), инженерная культура (POM, CI, flaky) и базовый язык. Ниже — типовые вопросы каждого слоя и что на самом деле проверяет интервьюер.

Архитектура автоматизации

1. Пирамида тестирования — что это и зачем?

Юнит → интеграционные → E2E: чем выше, тем дороже и нестабильнее. Хотят: почему «всё через UI» — антипаттерн и где место ваших тестов.

2. Что такое Page Object Model? Плюсы и когда он избыточен?

Страница = класс, локаторы и действия внутри, тесты читаются как сценарии. Плюс — сказать про перебор: для 5 тестов POM может быть оверинжинирингом.

3. Как организуете тестовые данные?

Фикстуры, фабрики, генерация через API, изоляция между тестами, очистка. Проверяют главную боль реальных проектов — зависимые данные.

4. Selenium vs Playwright — что выберете и почему?

Playwright: автоожидания, скорость, трейсы; Selenium: экосистема, легаси, Grid. Хотят аргументы, а не религию: «зависит от проекта, вот критерии».

Селекторы и ожидания

5. Какие локаторы предпочитаете и в каком порядке?

data-testid → id → устойчивый CSS → XPath в крайнем случае. Критерии: устойчивость к правкам вёрстки, читаемость.

6. Явные vs неявные ожидания? Почему sleep() — плохо?

Неявные — глобальный таймаут, явные — ждать условие. sleep всегда либо медленный, либо недостаточный. Это вопрос-фильтр: sleep в ответе = красный флаг.

7. Тест падает локально проходит, в CI падает. Как дебажите?

Скрины/видео/трейсы из CI, различия окружений (разрешение, таймауты, данные, параллельность), логи приложения. Проверяют системность мышления.

8. Как боретесь с flaky-тестами?

Причина (гонки, ожидания, данные), карантин, а не бездумный retry. Ответ «ставлю retry=3» без анализа — минус.

pytest и Python

9. Что такое фикстуры pytest, какие scope бывают?

Подготовка/очистка через DI: function, class, module, session; yield для teardown. Пример: одна авторизация на session вместо каждой в тесте.

10. Как параметризовать тест?

@pytest.mark.parametrize — один тест на наборе данных; ids для читаемых отчётов. Связка с классами эквивалентности — сильный ответ.

11. conftest.py — зачем он?

Общие фикстуры и хуки для пакета тестов без импортов. Плюс: иерархия conftest'ов по папкам.

API-тесты и CI

12. Как строите API-тесты?

httpx/requests: статус → схема ответа (pydantic/jsonschema) → бизнес-проверки → негатив; данные через API, а не UI. Проверка схемы, а не только 200 — то, что отличает мидла.

13. Как устроен CI для ваших тестов?

Триггеры (PR/ночь), стадии, параллелизация, Allure-отчёты, артефакты падений. Хотят: тесты как часть конвейера, а не локальная кнопка.

14. Git: rebase vs merge, как работаете с ветками?

Feature-ветки, PR с ревью; rebase — линейная история, merge — сохранение контекста. Достаточно уверенного рабочего процесса, а не гуру-ответа.

Про вас

15. Сколько тестов вы написали / какое покрытие было?

Готовьте цифры заранее: сколько тестов, что покрывали, сколько времени экономил прогон, что ловили. «Не помню» звучит как «не писал».

16. Самая сложная задача в автоматизации?

История: контекст → проблема → варианты → решение → результат. Технические детали в истории — доказательство реального опыта.

Это общий список. А что спросят именно на вашем собеседовании?

Пришлите текст вакансии — бесплатно вернём вероятные вопросы по ней, риски и слабые темы. А в приложении SkillCue — тренировка ответов и подсказки прямо во время созвона.

Разобрать мою вакансию бесплатно