Технічна співбесіда Manual QA
Зміст
Технічна співбесіда Manual QA — це не іспит на знання визначень. Інтервʼюер за 40–60 хвилин намагається зрозуміти одне: на якому рівні ти реально тестуєш і чи вмієш думати вголос. Тому та сама фраза «класи еквівалентності — це розбиття входів на групи» звучить як завчена картка в одного кандидата і як робочий інструмент в іншого — різниця в тому, чи можеш ти застосувати її до конкретного поля тут і зараз.
Ця глава — про формат і стратегію, а не про зміст технічних відповідей. Зміст живе у профільних розділах vyvchy (кожен має вкладку «Питання»): що саме відповідати про HTTP — у розділі «Веб і мережі», про класи еквівалентності — у «Тест-дизайні». Тут ми розбираємо, як побудувати відповідь, щоб слабкі знання не звучали як провал, а сильні — не потонули в хаосі; як тримати структуру на «протестуй олівець», скласти багрепорт наживо і що робити, коли ти чогось не знаєш.
Що насправді перевіряє інтервʼюер
Технічна секція оцінює три речі одночасно, і жодна з них не називається «обсяг завчених фактів»:
- Широта (breadth) — чи орієнтуєшся ти в темах, яких очікують від твого рівня: види тестування, тест-дизайн, багрепорт, основи вебу й API.
- Глибина (depth) — чи розумієш механізм за визначенням. Тут працює поглиблення (drill-down): інтервʼюер бере твою відповідь і питає «а чому?», «а що станеться, якщо…», доки не впреться в межу твоїх знань. Це не спроба завалити, а вимірювання рівня.
- Комунікація — чи можеш пояснити зрозуміло, структуровано, без води. Manual QA значну частину часу пояснює баги розробникам і ризики менеджерам; співбесіда це моделює.
Ключовий наслідок: інтервʼюер веде тебе вниз по кожній темі, доки ти не скажеш «далі не знаю». Кандидат, який доходить до цієї межі чесно на middle-питанні, виглядає сильніше за того, хто блефує на junior-рівні.
Мапа тем за рівнями
Єдиного списку питань «на Manual QA» немає — очікування ростуть з рівнем. Груба мапа, чого чекати (кожен наступний рівень включає попередні):
| Рівень | Що очікують |
|---|---|
| trainee | Що таке тестування, QA vs QC, види тестування, базовий тест-дизайн (класи еквівалентності, граничні значення), структура тест-кейсу і багрепорту, severity vs priority |
| junior | + SDLC/STLC, Agile/Scrum, чеклист vs тест-кейс, таблиці рішень і переходи станів, основи HTTP і статус-коди, REST API оглядово, SELECT у SQL |
| middle | + тест-стратегія і план, тестові середовища, комбінування технік, дебаг через DevTools, API-перевірки й авторизація, JOIN і агрегація в SQL, ризики |
| senior | + стратегія тестування продукту, метрики й звітність, ризик-орієнтований підхід за браку часу, налагодження процесів, менторство, комунікація з бізнесом |
Рівень визначає не так перелік тем, як глибину, на яку тебе копатимуть у кожній. Trainee-кандидата спитають, що таке граничне значення; senior-кандидата — як він побудує регресію за два дні до релізу.
Структура сильної відповіді
Найшвидший спосіб звучати на рівень вище — тримати структуру. Сильна відповідь на технічне питання майже завжди має три шари:
- Суть одним реченням. «Severity — це технічна тяжкість дефекту, priority — терміновість його виправлення.» Інтервʼюер одразу чує, що ти розумієш ядро.
- Механізм. Чому вони різні, хто їх виставляє, як пов'язані. Це шар, який відрізняє розуміння від завченої картки.
- Приклад або наслідок. «Друкарська помилка в логотипі на головній — низька severity, але висока priority, бо це обличчя продукту.» Конкретика доводить, що ти застосовував це в реальності.
Дві навички поверх цього скелета:
- Уточнюй широке питання, перш ніж відповідати. «Протестуй форму реєстрації» без уточнень — пастка. Запитай про контекст: веб чи мобайл, які поля, які вимоги. Уточнення — не ознака незнання, а перший крок будь-якого тест-дизайну.
- Думай уголос. Інтервʼюер оцінює процес, а не лише фінальну відповідь. Мовчазна пауза на дві хвилини й потім ідеальна відповідь гірша за проговорений хід думки з однією помилкою, яку ти сам помічаєш і виправляєш.
Чого уникати: вода, переказ питання своїми словами перед відповіддю, «ну це ж очевидно» і відповідь на питання, якого не ставили.
Класика «протестуй олівець / форму / поле»: формат
«Протестуйте олівець», «протестуйте поле вводу», «протестуйте форму логіну» — найпопулярніший формат відкритого питання. Повний розбір технік для кожної задачі — у главі «Класичні задачі співбесід» розділу «Тест-дизайн»; тут — лише каркас відповіді, який працює для будь-якого обʼєкта, від олівця до платіжної форми.
Провал більшості кандидатів однаковий: почути «протестуй поле» і одразу сипати випадкові кейси — «ну, ввести букви, ввести цифри, ввести багато символів…». Це звучить хаотично й вичерпується за 30 секунд. Сильна відповідь тримає структуру:
- Уточнити призначення й контекст. Що це за поле — email, пароль, сума платежу? Які вимоги, обмеження, цільова платформа? Значну частину кейсів диктує саме контекст.
- Проговорити пріоритети. З чого почнеш і чому: спершу основний сценарій (happy path) і найризикованіші місця, потім периферія.
- Пройтися категоріями систематично, а не хаотично:
- функціональність — основний сценарій, валідні дані;
- тест-дизайн на даних — класи еквівалентності й граничні значення: порожнє, мінімум, максимум, значення за межею;
- негативні перевірки — невалідні дані, спецсимволи, unicode, наддовгі значення;
- нефункціональні кути — UI/верстка, usability, продуктивність, безпека (інʼєкції як smoke), сумісність, локалізація.
- Обґрунтувати обсяг. «Я не називатиму 200 кейсів — за браку часу покрию основний сценарій і межі, а решту пріоритезую за ризиком.» Це сигнал middle+ мислення.
Інтервʼюер перевіряє не довжину списку, а чи є в тебе система. Двадцять кейсів по категоріях сильніші за пʼятдесят навалом.
Скласти багрепорт наживо
Друге за частотою практичне завдання: інтервʼюер описує ситуацію («кнопка «Оплатити» не реагує на кліки в Safari») або показує екран і просить скласти багрепорт уголос. Повний життєвий цикл дефекту й розбір severity/priority — у главі «Баг-репорт і життєвий цикл дефекту»; тут — що саме продиктувати, щоб звіт був сильним.
Каркас, який очікують:
- Заголовок — коротко «що, де, за яких умов»: «Кнопка «Оплатити» не реагує на клік у Safari 17 на сторінці чекауту». Поганий заголовок — «не працює оплата».
- Severity і priority окремо, кожен з обґрунтуванням. Змішати їх — типовий провал junior.
- Кроки відтворення — мінімальні, від чистого стану, пронумеровані. Не «я щось клікав», а точна послідовність, яку відтворить розробник, не перепитуючи.
- Фактичний результат проти очікуваного, з посиланням на вимогу чи здоровий глузд («очікувано: форма сабмітиться й показує підтвердження»).
- Оточення — браузер/ОС/пристрій/білд/акаунт. Баг часто живе саме в конкретному оточенні, і без цього рядка його не відтворять.
- Атачі — що доклав би: скриншот, відео, лог консолі, HAR-файл, запит з мережевої панелі.
Інтервʼюер дивиться, чи мінімальні в тебе кроки, чи розводиш ти severity й priority, чи формулюєш без емоцій («жах, усе зламано» — червоний прапорець) і чи завжди вказуєш очікуваний результат. Багрепорт — це аргумент для розробника, а не скарга.
«Не знаю» як відповідь
Найнедооціненіша відповідь на технічній співбесіді — чесне «не знаю». Інтервʼюери проводять десятки інтервʼю й читають блеф миттєво: плаваючий погляд, загальні слова, «ну це залежить…» без конкретики. Спійманий блеф коштує дорожче, ніж визнана прогалина, бо ставить під сумнів усі попередні відповіді.
Робоча формула замість сухого «не знаю»:
- Чесно визнай межу: «З цим конкретно не працював».
- Покажи напрям міркування: «Але за аналогією з X я б припустив, що…».
- Скажи, як дізнався б: «Перевірив би в документації, глянув би в DevTools або спитав розробника».
Це перетворює прогалину на демонстрацію інженерного підходу. Інтервʼюер шукає не всезнайка, а людину, яка знає межу власних знань і вміє її розширювати. Для middle і senior це критично: заявити впевнено неправильне гірше, ніж сказати «не певен».
Чого не робити: вигадувати версію, RFC чи цифру (спіймають на наступному «а чому?»); здаватися одразу на суміжному питанні, навіть не спробувавши міркувати; перепитувати визначення терміна, який мав би бути відомий на твоєму рівні.
Питання про процеси
Блок про процеси — «Розкажи, як у вас влаштований процес тестування», «Як ти заводиш баг і що з ним далі», «Як пріоритезуєте регресію», «Що входить у ваш Definition of Done». Тут перевіряють не теорію, а досвід: чи працював ти в реальній команді й чи розумієш, навіщо кожен крок.
Головна пастка — відповідати «як має бути за підручником», коли питають «як було в тебе». «У нас ідеальний Scrum за книжкою» звучить непереконливо; «формально Scrum, але рефайнмент часто зривався, тому вимоги я уточнював у аналітика напряму» звучить як реальний досвід. Конкретика з проєкту — з болями, компромісами й тим, що ти особисто робив — завжди сильніша за гладке визначення.
Якщо комерційного досвіду мало (trainee/junior), чесно це скажи й спирайся на курси, pet-проєкти чи те, як організував би процес, — але не видавай теорію за практику.
Сеньйорний рівень: стратегія, ризики, метрики
На middle і senior фокус зміщується з «як протестувати цю фічу» на «як організувати тестування продукту». Питання звучать інакше:
- «У тебе два дні до релізу й тиждень роботи. Що робиш?» — перевірка ризик-орієнтованого мислення (канон — глава «Ризик-орієнтоване тестування»): пріоритезуєш за ймовірністю × впливом, покриваєш критичний шлях, свідомо жертвуєш периферією й проговорюєш залишковий ризик замовнику.
- «Які метрики тестування ти б відстежував?» — і одразу пастка: коли метрика стає ціллю, вона перестає бути хорошою метрикою. Кількість тест-кейсів чи знайдених багів як KPI провокує накрутку; корисніші — escape rate, щільність дефектів, час життя бага, покриття вимог із розумінням меж такої метрики.
- «Як ти вирішуєш, що продукт готовий до релізу?» — тут очікують мову ризику, а не «всі тести пройшли»: які ризики лишаються, чи прийнятні вони, хто приймає рішення й на основі чого.
Сеньйора також питають про комунікацію ризику мовою бізнесу, налагодження процесів з нуля, менторство джунів і те, як він доводить цінність тестування менеджменту. Технічна глибина тут — необхідна, але вже не достатня умова.
Мапа розділів vyvchy під блоки питань
Ця глава — про формат; зміст відповідей готуй у профільних розділах. Куди йти під кожен блок питань:
| Блок питань на співбесіді | Де готуватись на vyvchy |
|---|---|
| Основи, види тестування, SDLC/STLC, багрепорт, severity/priority | розділ «Основи тестування» |
| Тест-дизайн, «протестуй X», класи/межі/таблиці рішень | розділ «Тест-дизайн» |
| REST API, методи, формати, авторизація | REST API і розділ «API-тестування» |
| SQL: SELECT, JOIN, агрегація, транзакції | розділ «Бази даних і SQL» |
| Behavioral, «розкажи про фейл», конфлікти | Behavioral-питання і метод STAR |
| Англійська, self-presentation | Англійська на співбесіді |
| Процес найму, воронка, скринінг | Ринок і процес найму, Скринінг з рекрутером |
Блок «HTTP, статус-коди, кукі, кеш, DevTools» — у розділі «Веб і мережі»: HTTP: методи й заголовки, статус-коди, кукі, сесії та сховище, автентифікація й авторизація, DevTools і вкладка Network, кешування.
Для режиму «повторити за 15 хвилин» у кожному профільному розділі відкривай вкладки «Питання» і «Чеклист» — вони зібрані саме під цей сценарій. План системного повторення перед серією співбесід — у главі «План підготовки і mock-співбесіди».
Типові помилки
- Виглядає як глибокі знання, а насправді завчені визначення без розуміння — валиться на першому «а чому?».
- Виглядає як впевненість, а насправді блеф — інтервʼюер копає й ловить, і тоді під сумнівом опиняється вся співбесіда.
- Виглядає як вичерпна відповідь на «протестуй X», а насправді хаотичний список без структури — двадцять кейсів навалом слабші за десять по категоріях.
- Виглядає як «я знаю все» (жодного «не знаю» за годину), а насправді читається як нечесність або брак глибини.
- Виглядає як відповідь по суті, а насправді переказ підручника, коли питали про твій реальний досвід.
- Виглядає як старанність, а насправді відповідь на питання, якого не ставили — кандидат не дослухав інтервʼюера.
Підсумок
- Технічна секція вимірює мислення й комунікацію, а не обсяг завчених визначень; інтервʼюер копає вглиб, доки не знайде межу твого рівня.
- Тримай структуру відповіді: суть одним реченням → механізм → приклад; широке питання спершу уточни.
- «Протестуй X» і багрепорт наживо — перевірка системності, а не ерудиції: категорії й мінімальні кроки важливіші за довжину списку.
- Чесне «не знаю» з напрямом міркування сильніше за блеф; спійманий блеф знецінює всю співбесіду.
- Зміст відповідей — у профільних розділах vyvchy; ця глава дає лише каркас, як їх подати.
Що питають на співбесіді
- «Як би ти протестував [обʼєкт або фічу]?» — дивляться на структуру й уточнювальні питання, не на кількість кейсів.
- «У чому різниця між severity і priority? Наведи приклади всіх комбінацій» — чи розводиш поняття і чи маєш живі приклади.
- «Склади багрепорт по цьому дефекту» — мінімальність кроків, розділення severity/priority, наявність очікуваного результату.
- «Що робитимеш, якщо не встигаєш протестувати все до релізу?» — ризик-орієнтоване мислення замість паніки.
- «Розкажи про процес тестування на твоєму проєкті» — реальний досвід проти книжкового ідеалу.
- «Ти не знаєш відповіді — що робиш?» (іноді питають прямо) — чи вмієш чесно окреслити межу й показати підхід.
Джерела
- ISTQB Certified Tester Foundation Level (CTFL) v4.0 syllabus — базовий звід знань, з якого зібрана більшість Manual QA-питань: види тестування, тест-дизайн, багрепорт, процеси. Ця глава не покриває окремий розділ силабусу, а мапить питання на весь foundation-обсяг.
- ISTQB Glossary — канонічні означення термінів (severity, priority, defect, test case), якими варто оперувати у відповідях.
- ISO/IEC/IEEE 29119-1:2022 — перша частина міжнародного стандарту тестування ПЗ (загальні поняття; серія покриває процеси, документацію, техніки); корисний фон для senior-питань про процеси.
Що насправді оцінює інтервʼюер на технічній секції Manual QA?
Не обсяг завчених визначень, а те, як ти мислиш і пояснюєш. Секція одночасно міряє три осі: широту (breadth) — чи орієнтуєшся в темах свого рівня; глибину (depth) — чи розумієш механізм за формулюванням; і комунікацію — чи доносиш думку структуровано й без води. Саме тому одна й та сама фраза про класи еквівалентності в одного кандидата звучить як завчена картка, а в іншого — як робочий інструмент, який він одразу прикладає до конкретного поля. Практичний наслідок: готуватися треба не до «переліку питань», а до вміння розгортати будь-яку тему вглиб і вголос.
Що таке поглиблення (drill-down) і навіщо інтервʼюер копає «а чому?»
Це техніка, коли інтервʼюер бере твою відповідь і питає «чому?», «а що станеться, якщо…», доки не впреться в межу твоїх знань. Мета — не завалити, а виміряти, на якому рівні ти реально тестуєш: завчена картка розсипається на другому-третьому «чому», а справжнє розуміння тримається глибше. Тому важливо не панікувати, коли питання йдуть усе конкретніше — це нормальний хід, а не ознака, що ти відповідаєш погано. Наслідок парадоксальний: кандидат, який чесно доходить до своєї межі на middle-питанні, виглядає сильніше за того, хто блефує вже на junior-рівні.
Яка структура робить технічну відповідь сильною?
Майже будь-яку технічну відповідь варто будувати трьома шарами. Перший — суть одним реченням: інтервʼюер одразу чує, що ти тримаєш ядро поняття. Другий — механізм: чому це так, як воно влаштоване, хто на що впливає; саме цей шар відрізняє розуміння від завченого визначення. Третій — приклад або наслідок із практики, який доводить, що ти цим користувався, а не прочитав напередодні. Такий каркас — найшвидший спосіб звучати на рівень вище, бо він читається як мислення, а не переказ.
Тобі кажуть «протестуй форму реєстрації». Чому не варто одразу перелічувати кейси?
Бо широке завдання без контексту — це пастка на структуру, і хаотичний потік випадкових кейсів вичерпується за півхвилини й звучить безсистемно. Спершу треба уточнити: веб чи мобайл, які поля, які вимоги й обмеження — значну частину перевірок диктує саме контекст, і без нього ти тестуєш вигаданий обʼєкт. Уточнення тут не ознака незнання, а перший крок будь-якого тест-дизайну, і інтервʼюер це цінує. Аж після цього має сенс проговорити пріоритети й пройтися категоріями систематично.
Навіщо думати вголос, якщо можна дати вже готову відповідь?
Тому що інтервʼюер оцінює процес мислення, а не лише фінальне речення. Мовчазна пауза на дві хвилини й потім бездоганна відповідь читається гірше, ніж проговорений хід думки з однією помилкою, яку ти сам помічаєш і виправляєш просто на ходу. Проговорена помилка, яку ти зловив, — це демонстрація того, як ти реально працюєш із гіпотезами; ідеальна тиша перед відповіддю не показує нічого. Особливо це важливо на відкритих завданнях типу «протестуй X», де сам маршрут думки і є предметом оцінки.
Як відрізняються очікування за рівнями — від trainee до senior?
Переліки тем на різних рівнях схожі; справжній маркер рівня — глибина, на якій зупиняється drill-down у кожній із них. Trainee має пояснити базу: що таке тестування, види, класи еквівалентності, структуру тест-кейсу й багрепорту, severity vs priority. Junior додає процеси (SDLC/STLC, Agile), техніки тест-дизайну, основи HTTP і REST, простий SELECT. Middle — тест-стратегію, комбінування технік, дебаг через DevTools, JOIN-и, роботу з ризиками. Senior — уже не «як протестувати фічу», а «як організувати тестування продукту»: метрики, ризик-орієнтований підхід, процеси, менторство. Тому trainee спитають, що таке граничне значення, а senior — як він збере регресію за два дні до релізу.
Який каркас відповіді на «протестуй [обʼєкт]» працює для будь-чого — від олівця до платіжної форми?
Чотири кроки, незалежно від обʼєкта. Перший — уточнити призначення й контекст: що це, які вимоги, обмеження, платформа. Другий — проговорити пріоритети: з чого почнеш і чому, зазвичай це основний сценарій (happy path) і найризикованіші місця. Третій — пройтися категоріями систематично, а не навалом: функціональність, тест-дизайн на даних (класи еквівалентності й межі), негативні перевірки, нефункціональні кути (UI, usability, продуктивність, безпека, сумісність, локалізація). Четвертий — обґрунтувати обсяг: чесно сказати, що не називатимеш 200 кейсів, а покриєш ядро й межі, решту пріоритезуючи за ризиком. Інтервʼюер міряє не довжину списку, а наявність системи.
Як показати, що ти розумієш різницю severity й priority, а не завчив її?
Почни з чіткого розведення понять: severity — це технічна тяжкість дефекту, priority — терміновість його виправлення, і виставляють їх часто різні люди з різних міркувань. Далі поясни звʼязок: вони незалежні, тому можливі всі чотири комбінації. І одразу закріпи прикладами саме на «незручних» парах — там, де їх плутають найчастіше. Друкарська помилка в логотипі на головній — низька severity, але висока priority, бо це обличчя продукту; рідкісний краш на екзотичній конфігурації — навпаки, висока severity й низька priority. Живі приклади всіх комбінацій — головний доказ, що поняття для тебе робочі, а не словникові.
Інтервʼюер описав дефект і просить скласти багрепорт наживо. Що продиктувати?
Диктуй по каркасу, який очікують від сильного звіту. Заголовок — коротко «що, де, за яких умов» замість розпливчастого «не працює оплата». Severity і priority — окремо, кожен з обґрунтуванням; змішати їх — типовий провал. Кроки відтворення — мінімальні, від чистого стану, пронумеровані так, щоб розробник відтворив, не перепитуючи. Далі — фактичний результат проти очікуваного з посиланням на вимогу чи здоровий глузд. Оточення — браузер, ОС, пристрій, білд, акаунт, бо баг часто живе саме в конкретному оточенні. І атачі — скриншот, відео, лог консолі, HAR. Багрепорт — це аргумент для розробника, а не емоційна скарга, тож «жах, усе зламано» — червоний прапорець.
Ти не знаєш відповіді на технічне питання. Як відповісти, щоб це не читалося як провал?
Найкраще — чесно, але з підходом, а не сухим «не знаю». Робоча формула з трьох кроків: спершу визнай межу («з цим конкретно не працював»), потім покажи напрям міркування («але за аналогією з X припустив би, що…»), і нарешті скажи, як дізнався б («перевірив би в документації, глянув у DevTools, спитав розробника»). Це перетворює прогалину на демонстрацію інженерного підходу — а саме людину, яка знає межу власних знань і вміє її розширювати, інтервʼюер і шукає. Що вищий рівень, то дорожча впевнена помилка: від middle і senior чекають радше чесного «не певен», ніж хибної відповіді без тіні сумніву.
Чому спійманий блеф коштує дорожче за визнану прогалину?
Бо інтервʼюери проводять десятки співбесід і читають блеф миттєво: плаваючий погляд, загальні слова, «ну, це залежить…» без жодної конкретики. Коли блеф спіймано на наступному «а чому?», під сумнів потрапляє не одна відповідь, а вся співбесіда — інтервʼюер починає перевіряти, де ще ти прикрашав. Тому арифметика проста: одна чесно визнана прогалина коштує дешевше, ніж підірвана довіра до всіх твоїх попередніх слів. Особливо небезпечно вигадувати конкретику — версію, RFC, цифру, — бо саме її найлегше перевірити зустрічним питанням.
«Розкажи, як влаштований процес тестування на твоєму проєкті» — у чому головна пастка?
Пастка в підміні: питають про твій реальний проєкт, а кандидат описує, як процес мав би виглядати за підручником. Ідеальний Scrum за книжкою звучить непереконливо, бо ідеальних процесів у реальності не буває, і інтервʼюер це знає. Сильніше звучить конкретика з болями й компромісами: «формально Scrum, але рефайнмент часто зривався, тому вимоги я уточнював у аналітика напряму». Тут перевіряють не теорію, а досвід — чи працював ти в живій команді й чи розумієш, навіщо кожен крок, а не просто називаєш його.
Комерційного досвіду мало, а питають про реальний проєкт. Що казати?
Чесно сказати, що комерційного досвіду поки мало, — і не намагатися видати теорію за практику, бо це якраз той блеф, який ловлять. Далі спирайся на те, що в тебе є: навчальні чи pet-проєкти, курси, домашні завдання — на них теж є реальні баги, кроки відтворення й рішення про пріоритети. Можна відповісти й гіпотетично, але чесно позначивши це: «на комерції не робив, але організував би процес так…». Головне — межа між «я це робив» і «я думаю, що зробив би так» має бути прозорою, бо саме її інтервʼюер і перевіряє.
«У тебе два дні до релізу й тиждень роботи. Що робиш?» — що перевіряє це питання?
Ризик-орієнтоване мислення замість паніки чи спроби «встигнути все». Правильний хід — пріоритезувати за ймовірністю збою помножити на вплив: спершу критичний шлях і найдорожчі за наслідками місця, а периферією свідомо жертвувати. Ключова частина відповіді — проговорити залишковий ризик замовнику, а не мовчки викинути частину перевірок: рішення про прийнятність ризику ухвалює бізнес, а тестувальник дає йому підставу. Слабка відповідь тут — «тестуватиму швидше» або «попрошу перенести реліз»; сильна — конкретна схема пріоритезації з чесним «ось що лишиться непокритим і чому це прийнятно».
«Які метрики тестування ти б відстежував?» — де тут захована пастка?
Пастка в тому, що коли метрика стає ціллю, вона перестає бути хорошою метрикою. Якщо зробити KPI з кількості тест-кейсів чи знайдених багів, команда почне їх накручувати — писати дрібні кейси й заводити тривіальні дефекти заради цифри, а не якості. Тому сильна відповідь називає корисніші метрики й одразу проговорює їхні межі: escape rate (скільки багів дійшло до прода), щільність дефектів, час життя бага, покриття вимог. Показати розуміння, що будь-яку метрику можна зламати, ставши її заручником, — саме те, чого чекають на middle+.
«Як ти вирішуєш, що продукт готовий до релізу?» — якою мовою відповідати?
Мовою ризику, а не «всі тести пройшли». Зелений прогін — це не гарантія якості, а лише те, що покрите нічого не зламало; тому сильна відповідь говорить про залишкові ризики: які лишаються, чи вони прийнятні, хто й на основі чого ухвалює рішення релізити. Тестувальник не «дозволяє реліз» одноосібно — він дає стейкхолдерам чесну картину ризику, а рішення за бізнесом. Відповідь у стилі «релізимо, коли 100% тестів зелені» читається як junior-рівень, бо ігнорує і непокриті зони, і вартість затримки.
Які антипатерни одразу знижують оцінку на технічній секції?
Кілька повторюваних. Вода й переказ питання своїми словами перед відповіддю — час іде, а сигналу нема. «Ну це ж очевидно» — знецінює питання й часто передує помилці. Відповідь на питання, якого не ставили, — ознака, що ти не дослухав інтервʼюера. Завчені визначення без розуміння — валяться на першому «а чому?». І блеф замість «не знаю» — найдорожчий, бо підриває довіру до всієї розмови. Спільний корінь у більшості — кандидат намагається виглядати, а не думати; інтервʼюер бачить різницю миттєво.
Три розбори живої техсекції: та сама відповідь у слабкій і сильній подачі, каркас «протестуй X» на конкретному полі та багрепорт, продиктований уголос. Скрізь — не «що знати», а що саме сказати й чому це читається сильніше.
Кейс 1. Та сама відповідь, два рівні: severity vs priority
Питання банальне — «у чому різниця між severity і priority». Знання однакове в обох кандидатів, а враження протилежне, бо різниця в подачі.
Слабка подача:
«Severity — це наскільки серйозний баг, а priority — наскільки він важливий. Ну, severity вища — значить, і priority вища, зазвичай.»
Що тут не так: визначення розпливчасте («серйозний» / «важливий» — синоніми без механізму), а останнє речення склеює два незалежні поняття в одне. На першому ж «а може severity бути високою, а priority низькою?» відповідь розсипається.
Сильна подача тримає три шари — суть, механізм, приклад:
«Severity — це технічна тяжкість дефекту, priority — терміновість його виправлення. (суть) Вони незалежні й часто їх виставляють різні люди: severity — тестувальник за впливом на систему, priority — менеджер за бізнес-контекстом. Тому можливі всі чотири комбінації. (механізм) Класичний приклад розбіжності: друкарська помилка в логотипі на головній — severity низька, зламаного функціоналу нема, але priority висока, бо це обличчя продукту. І навпаки — краш на рідкісній старій конфігурації: severity висока, а priority низька, бо зачіпає одиниці. (приклад)»
Коли інтервʼюер копає далі («а хто фінально вирішує priority, якщо ви не згодні?»), сильний кандидат має куди рухатись, бо відповідь від початку спиралась на механізм, а не на переказ словника. Ось таблиця, яку варто тримати в голові, щоб приклади не доводилось вигадувати на ходу:
| severity \ priority | Висока priority | Низька priority |
|---|---|---|
| Висока severity | Падає оплата в проді — чинити негайно | Краш на екзотичній ОС у 0,1% юзерів |
| Низька severity | Одрук у логотипі на головній | Зайвий піксель відступу на службовій сторінці |
Кейс 2. «Протестуй поле пошуку» — каркас у дії
Відкрите завдання, де більшість починає сипати кейси навалом. Сильна відповідь спершу ставить рамку, а вже потім наповнює її. Проговорюємо вголос по чотирьох кроках.
Крок 1 — уточнити контекст, а не тестувати вигаданий обʼєкт:
«Перед тим як перелічувати перевірки, уточню: це пошук по товарах на вебі чи мобайлі? Він шукає по назві, чи ще по описах і категоріях? Є автопідказки? Мінімальна довжина запиту, дебаунс, пагінація результатів? Значну частину кейсів диктує саме це.»
Крок 2 — проговорити пріоритети, щоб інтервʼюер бачив систему:
«Почну з основного сценарію — валідний запит повертає релевантні результати; це happy path. Далі підуть межі й негатив, а нефункціональні кути — в кінці за залишком часу.»
Крок 3 — пройтися категоріями систематично. Не список навалом, а сітка:
| Категорія | Що перевіряю на полі пошуку |
|---|---|
| Функціональність | Валідний запит → релевантна видача; регістронезалежність; пошук по частині слова |
| Дані: класи й межі | Порожній запит; 1 символ; максимальна довжина; на 1 символ понад ліміт |
| Негативні | Спецсимволи, unicode й емодзі, пробіли по краях, SQL/HTML як smoke на інʼєкції, запит без результатів |
| Нефункціональні | Швидкість відповіді на великій вибірці, дебаунс автопідказок, верстка довгого запиту, локалізація, доступність з клавіатури |
Крок 4 — обґрунтувати обсяг, а не вдавати вичерпність:
«Я не називатиму всі можливі кейси — за браку часу покрию основний сценарій, межі довжини й порожній запит як найризикованіші, а спецсимволи й нефункціональні кути пріоритезую за ризиком. Якщо поле веде на платіжний пошук — підняв би пріоритет безпеки.»
Інтервʼюер тут читає не ерудицію, а наявність системи: десять перевірок по категоріях із поясненням «чому саме ці» сильніші за пʼятдесят, вивалених без структури.
Кейс 3. Багрепорт наживо: «кнопка Оплатити не реагує в Safari»
Інтервʼюер описує ситуацію й просить продиктувати багрепорт уголос. Перевіряють мінімальність кроків, розведення severity/priority і наявність очікуваного результату. Ось як звучить сильний звіт:
Заголовок: Кнопка «Оплатити» не реагує на клік у Safari 17 на сторінці чекауту
Severity: High — блокується завершення покупки, обхідного шляху немає
Priority: High — зачеплено основний дохідний флоу на популярному браузері
Кроки відтворення (від чистого стану):
1. Відкрити Safari 17 на macOS 14
2. Додати будь-який товар у кошик, перейти на /checkout
3. Заповнити валідні дані картки
4. Натиснути «Оплатити»
Фактичний результат: клік не викликає жодної реакції, форма не сабмітиться, у консолі — TypeError
Очікуваний результат: форма сабмітиться, зʼявляється екран підтвердження оплати
Оточення: Safari 17.4 / macOS 14.4 / білд 2.31.0 / тестовий акаунт checkout-qa@example.com
Атачі: скриншот екрана, відео відтворення, лог консолі, HAR-файл запиту
Що робить цей звіт сильним:
- Заголовок відповідає на «що / де / за яких умов» — розробник розуміє суть, не відкриваючи тіло. Порівняй зі слабким «не працює оплата», яке не каже ні браузера, ні місця.
- Severity й priority розведені й обґрунтовані окремо. Тут вони збіглися (обидва High), але кандидат все одно пояснює кожен своєю причиною — саме звичка розводити їх, а не однакові значення, і є сигналом.
- Кроки мінімальні й від чистого стану — жодного «я щось клікав»; розробник відтворить, не перепитуючи.
- Оточення вказане повністю. Баг живе саме в Safari — без цього рядка розробник у Chrome нічого не побачить і поверне тікет як «не відтворюється».
- Тон — аргумент, а не скарга. «Клік не викликає реакції» замість «оплата повністю зламана, жах» — багрепорт переконує розробника, а не тисне емоцією.
Слабкий кандидат тут диктує «оплата не працює в сафарі, severity критична» — і на цьому все: без кроків, без очікуваного результату, без білда. Інтервʼюер одразу бачить, що людина не заводила багів у живій команді, де такий тікет повертають з питанням «а що саме натиснути?».
Що оцінює технічна секція
- Розумію, що секція міряє три осі одночасно: широту (breadth), глибину (depth) і комунікацію, а не обсяг завчених визначень.
- Можу пояснити, що таке поглиблення (drill-down) і чому питання «а чому?» / «а якщо?» — це вимірювання рівня, а не спроба завалити.
- Розумію, що рівень (trainee → senior) визначає не так перелік тем, як глибину, на яку копатимуть у кожній.
Структура відповіді
- Тримаю три шари відповіді: суть одним реченням → механізм → приклад чи наслідок.
- Знаю, чому широке питання спершу треба уточнити, і що уточнення — це перший крок тест-дизайну, а не ознака незнання.
- Розумію, чому думати вголос сильніше за мовчазну паузу з ідеальною відповіддю — оцінюють процес мислення.
- Можу назвати антипатерни, що знижують оцінку: вода, переказ питання, «це ж очевидно», відповідь на незадане питання.
«Протестуй X» і багрепорт наживо
- Знаю універсальний каркас «протестуй [обʼєкт]»: уточнити контекст → пріоритети → категорії систематично → обґрунтувати обсяг за ризиком.
- Можу перелічити категорії перевірок по порядку: функціональність → дані (класи еквівалентності й межі) → негативні → нефункціональні кути.
- Знаю каркас багрепорту наживо: заголовок «що/де/за яких умов», severity й priority окремо, мінімальні кроки від чистого стану, факт проти очікуваного, оточення, атачі.
- Можу пояснити різницю severity vs priority і навести живі приклади всіх комбінацій, зокрема низька severity + висока priority.
«Не знаю» і чесність
- Знаю формулу чесного «не знаю»: визнати межу → показати напрям міркування → сказати, як дізнався б.
- Розумію, чому спійманий блеф дорожчий за визнану прогалину — під сумнів потрапляє вся співбесіда, а не одна відповідь.
- Знаю, чого не робити: вигадувати версію/RFC/цифру, здаватися одразу на суміжному питанні, перепитувати визначення свого рівня.
Процеси і реальний досвід
- Розумію головну пастку питань про процес: відповідати «як за підручником», коли питають «як було в тебе».
- Можу говорити про проєкт із болями й компромісами, а не гладким ідеалом, і чітко відділяю «я це робив» від «я зробив би».
- Знаю, як відповідати за браку комерційного досвіду: чесно позначити рівень і спертися на pet-проєкти чи курси, не видаючи теорію за практику.
Сеньйорний рівень: стратегія, ризики, метрики
- Можу відповісти на «два дні до релізу» мовою ризику: пріоритезація за ймовірністю × впливом, критичний шлях, проговорений залишковий ризик.
- Розумію пастку метрик: коли метрика стає ціллю, вона псується (накрутка кількості кейсів чи багів), і знаю корисніші — escape rate, щільність дефектів, час життя бага.
- Знаю, що готовність до релізу описують мовою залишкового ризику й того, хто його приймає, а не «всі тести зелені».
Що передусім оцінює технічна секція співбесіди Manual QA?
Питання
Три осі, які оцінює технічна секція Manual QA