AI
prepair.app
Пройти інтерв'ю →
EnglishРусскийУкраїнська
🤖

Middle QA Automationпитання на співбесіді QA Automation

Middle · 2–4 роки досвіду

На співбесіді QA Automation перевіряють знання фреймворків, патернів автоматизації і — насамперед — уміння писати тести, які лишаються зеленими не випадково. Нижче — часті питання з еталонними відповідями. Middle: глибше розуміння, оптимізацію та реальні робочі ситуації.

Теми для підготовки

Selenium WebDriver і Playwright
Page Object Model
Явні та неявні очікування
API-тестування
Інтеграція з CI/CD
Flaky-тести та їх усунення

10 питань рівня Middle з відповідями

1

У чому різниця між implicit, explicit і fluent wait?

Відповідь

Implicit wait — глобальне налаштування, через яке будь-який пошук елемента повторюється до N секунд. Explicit wait чекає одну конкретну умову — елемент клікабельний, текст зʼявився — і тільки її. Fluent wait це explicit з налаштовуваним інтервалом опитування та списком ігнорованих винятків. Змішування implicit і explicit дає непередбачувані сумарні таймаути, тому більшість команд повністю вимикають implicit і використовують explicit.

2

Які локатори ви використовуєте і чому XPath часто вважають поганою практикою?

Відповідь

Бажаний порядок: спеціальний тестовий атрибут на кшталт data-testid, потім id, потім стабільний CSS-селектор. У XPath погана репутація через абсолютні шляхи, які ламаються від будь-якої зміни DOM, і довгі відносні вирази, які важко читати. Сам по собі XPath нормальний і подекуди незамінний — наприклад пошук за видимим текстом або перехід до батьківського елемента — проблема в крихких XPath, а не в мові.

3

Що таке flaky-тест? Назвіть причини та способи усунення.

Відповідь

Flaky-тест падає і проходить без змін у коді. Звичні причини: припущення про час (жорсткі sleep замість очікування умови), спільні змінювані тестові дані, залежність від порядку запуску, анімації, нестабільні оточення та сторонні сервіси. Лікування: чекати явні умови, генерувати ізольовані дані під кожен тест, робити тести незалежними та ідемпотентними, мокати зовнішні сервіси і виносити нестабільні тести в карантин замість перезапусків до зеленого.

4

Як організувати паралельний запуск тестів? Які проблеми виникають?

Відповідь

Паралельність налаштовується на рівні раннера і зазвичай поєднується з Selenium Grid або контейнерами. Проблеми повʼязані зі спільним станом: тести пишуть в один акаунт або одні рядки БД, конфліктують за портами й файлами, покладаються на порядок виконання. Рішення в тому, що кожен тест створює свої дані з унікальними ідентифікаторами, не чіпає глобальні ресурси в setup і ніколи не припускає, що працює сам.

5

Чим Playwright відрізняється від Selenium? Коли обрати кожен?

Відповідь

Playwright спілкується з браузером по DevTools-протоколу, автоматично чекає готовності елемента і з коробки дає трейсинг, перехоплення мережі та ізоляцію для паралельного запуску — тому очікувань у коді майже не потрібно. Selenium — стандарт W3C з найширшою підтримкою браузерів, мов і гріда, глибоко вкорінений у корпоративній інфраструктурі. Playwright беруть для нового проєкту під сучасні браузери, Selenium — коли потрібна підтримка легасі або вбудуватись в наявну екосистему.

6

Як ви тестуєте REST API? Які інструменти використовуєте?

Відповідь

Перевіряють статус-коди, схему відповіді, значення в тілі, заголовки, обробку невалідного вводу, а також межі автентифікації й авторизації. Інструменти — Postman або Insomnia для розвідки та RestAssured, Playwright APIRequest, requests чи supertest для автотестів. API-тести дешевші й набагато стабільніші за UI-тести, тому основне покриття має жити саме там.

7

Що таке тестова піраміда? Яке співвідношення unit/integration/e2e оптимальне?

Відповідь

Піраміда каже, що потрібно багато швидких unit-тестів, менше інтеграційних і зовсім небагато end-to-end, бо вгору зростають і вартість, і нестабільність. Часто називають пропорцію приблизно 70/20/10, але важливіша не цифра, а принцип: опускати кожну перевірку на найнижчий рівень, де вона здатна зловити баг. E2E мають покривати лише критичні користувацькі сценарії, а не бізнес-логіку.

8

Як інтегрувати автотести в CI/CD pipeline?

Відповідь

Тести запускаються на кожен pull request, зазвичай розділені на швидкий smoke на кожен коміт і повну регресію на мерж або вночі. Пайплайн піднімає чисте оточення, ганяє набори паралельно, публікує звіти та артефакти на кшталт скриншотів і трейсів, і валить збірку при регресії. Працює це лише за правила, що червоний пайплайн блокує мерж — інакше набір тестів деградує.

9

Що таке data-driven testing і як його реалізувати?

Відповідь

Data-driven розділяє логіку тесту і дані, тому один тест проганяється на множині наборів з CSV, JSON або параметризованого провайдера. Це множить покриття без множення коду і перетворює додавання кейса на правку даних, а не коду. Підступ у нечитабельних падіннях — завжди підставляйте вхідні дані в імʼя тесту, щоб зі звіту було видно, який саме кейс зламався.

10

Що варто автоматизувати, а що ні?

Відповідь

Автоматизують стабільні, повторювані та цінні перевірки: регресію, smoke, контракти API і сценарії з великим обсягом даних. Не автоматизують швидкозмінний UI, разові перевірки, дослідницьке тестування, оцінку зручності та зовнішнього вигляду, а також усе, де написання й підтримка тесту дорожчі за ручний прогін. Вирішальне питання — скільки разів перевірка відпрацює до того, як зміниться.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Middle QA Automation →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — QA Automation

Junior QA AutomationSenior QA AutomationУсі питання QA Automation

Інші спеціалізації

🔍Middle QA ManualMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend⚛️Middle React Frontend💚Middle Vue Frontend🅰️Middle Angular FrontendMiddle Next.js