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

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

Senior · 5+ років досвіду

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

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

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

9 питань рівня Senior з відповідями

1

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

Відповідь

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

2

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

Відповідь

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

3

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

Відповідь

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

4

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

Відповідь

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

5

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

Відповідь

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

6

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

Відповідь

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

7

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

Відповідь

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

8

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

Відповідь

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

9

Як ви працюєте з тестовими даними та підготовкою оточення?

Відповідь

Кожен тест має сам створювати потрібні дані й прибирати за собою, бажано через API або сидинг бази, а не через UI — це швидше й надійніше. Спільні фікстури призводять до залежності від порядку та загадкових падінь. За оточеннями ізоляцію дають контейнери або ефемерні інстанси на кожен прогін; якщо спільне оточення неминуче, усі дані треба позначати унікальним ідентифікатором прогону.

🦎

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

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

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

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

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

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

🔍Senior QA ManualSenior Java Backend🐍Senior Python Backend🐘Senior PHP Backend🦫Senior Go Backend🟢Senior Node.js Backend⚛️Senior React Frontend💚Senior Vue Frontend🅰️Senior Angular FrontendSenior Next.js