Співбесіда з QA. 250+ запитань для Junior, Middle, Senior

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

Інтерв’юерам — поповнити свій запас цікавих питань. Але не переборщіть :)

Якщо ви не тестувальник, а просто проходили повз — краще знайдіть релевантну добірку питань.

Junior

Теорія тестування

1.Що таке тестування?
2.Навіщо тестувати ПЗ?
3.Які є етапи тестування?
4.Які типи тестування можете назвати?
5.Які рівні тестування знаєте?
6.Які техніки тест-дизайну знаєте?
7.Що таке техніка аналізу класів еквівалентності?
8.Що таке техніка аналізу граничних значень? У чому цінність цієї техніки?
9.Що таке Regression і Confirmation тестування, яка між ними різниця?
10.Як часто варто проводити регресійне тестування продукту?
11.Які бувають види інтеграційного тестування?
12.Що таке Configuration testing?
13.Що таке Exploratory testing?
14.Які існують UI-стандарти?
15.Що таке Black/Grey/White Box Testing?
16.Що таке Performance Testing?
17.Що таке Smoke та Sanity тестування і яка між ними різниця?
18.Що таке Traceability Matrix?
19.Що таке Sanity Testing?
20.Що таке End-to-End тест?
21.Що таке тестування безпеки?
22.Що таке випробування на основі ризиків?
23.Що таке динамічне тестування?
24.Що таке «парадокс пестициду»?
25.Опишіть основні фази STLC? Дайте визначення Entry та Exit Criteria.
26.Що таке Bug, Error, Failure, Fault?
27.Які є атрибути баг-репорту? Які основні поля для заповнення?
28.Яка різниця між пріоритетом і серйозністю?
29.Наведіть приклади серйозного, але не пріоритетного багу.
30.У чому різниця між валідацією та верифікацією?
31.Навіщо потрібна тестова документація? Які її види?
32.Що таке тест-план? Які елементи він має?
33.Яку обов’язкову інформацію має містити тест-план? Як правильно його використовувати, підтримувати та чи взагалі він потрібний для більшості проєктів?
34.Яка різниця між чеклістом і тест-кейсами?
35.Наведіть приклад хорошого тест-кейсу.

AQA

Програмування

36.Що таке ООП? Назвіть його принципи з прикладами?
37.Що таке інтерфейс? Що таке абстрактний клас? Чим вони відрізняються?
38.Що таке SOLID? Наведіть приклади.
39.Що таке DRY, KISS, YAGNI?
40.Які патерни GOF вам відомі? Наведіть приклади їхнього використання.
41.Що таке PageObject і PageFactory?
42.Яка ієрархія Collections?
43.Яка різниця між Thread class та Runnable interface?
44.Яка різниця між String, Stringbuffer та Stringbuilder?
45.Різниця між final, finally і finalize?

Selenium

46.Що таке Selenium і для чого його використовують?
47.Що таке драйвер браузера?
48.Які види локаторів сторінки існують? Які їхні переваги й недоліки?
49.Що таке Selenium Waits? Які є і чим відрізняються?
50.Які exceptions може кинути Selenium? Що вони означають і як їх обробляти?
51.Для чого використовують JavaScriptExecutor? Наведіть приклади.
52.Що таке Selenium Grid?
53.Які існують способи click та send keys Selenium?
54.Як ви запускаєте паралельне виконання тестів? Що таке ThreadLocal?
55.Яка різниця між Action та Actions?
56.Як написати метод isElementPresent?
57.Як вичитати дані з динамічної вебтаблиці?
58.Чи можете ви назвати 10 інтерфейсів у Selenium?
59.Назвіть два способи, що дають змогу автоматизувати капчу.
60.Згадайте типи навігаційних команд Selenium.
61.Як знайти пошкоджені посилання в Selenium WebDriver?
62.Яку техніку варто розглянути, використовуючи весь сценарій, якщо «немає ні frame id, ні frame name»?

TestNG/JUnit

63.Для чого потрібні TestNG/JUnit?
64.Які анотації використовують у TestNG/JUnit?
65.Які assertions є в TestNG/JUnit?
66.Як виконувати тести паралельно в TestNG/JUnit?

Git

67.Для чого використовують системи контролю версій?
68.Що таке Git? Який принцип його роботи?
69.Що таке commits, branches у Git?
70.Для чого потрібні GitHub, GitLab та інші, що базуються на Git, вебхостинги проєктів?

CI

71.Що таке CI?
72.Як автоматичне тестування інтегрується в CI?
73.Як налаштувати Job чи Pipeline на знайомому вам CI-інструменті?
74.Які інструменти для генерації репорту після виконання автоматичних тестів ви знаєте?
75.Яку інформацію має містити звіт про виконання автоматичних тестів?

Web

76.Що таке клієнт-серверна архітектура?
77.Що може виступати у ролі клієнта?
78.Що таке REST API, SOAP? У чому різниця?
79.Які протоколи передачі даних знаєте?
80.Які методи взаємодії з API існують? У чому різниця між ними?
81.Як можна протестувати API, що там потрібно перевіряти?
82.Як розшифровується CRUD?
83.Чим відрізняється GET від POST?
84.Які відмінності між XML та JSON?
85.Які знаєте формати передачі даних?
86.Як відбувається шифрування?
87.Які бувають види баз даних?
88.Охарактеризуйте кожен клас status code (1хх; 2xx; 3xx; 4xx; 5xx).
89.Які є HTTP-методи?
90.Які знаєте Web elements?
91.Які браузери знаєте? У чому їхня відмінність?
92.Для чого необхідні інструменти розробника в браузері (Chrome DevTools) і як вони допомагають у тестуванні.
93.Що таке кеш?
94.Що таке сесія?
95.Навіщо потрібні cookies?
96.Що таке фрейм?
97.Що таке HTML/CSS/JavaScript?
98.Яка структуру має вебсторінка?
99.Навіщо чистити кеш?
100.Які види тестування можна застосувати лише до Web?
101.Для чого у вебсторінках використовують JavaScript?
102.Що таке REST?
103.Що таке AJAX?

Mobile

104.Які існують мобільні платформи?
105.Які версії Android та iOS зараз використовуються на ринку (мінімальні та максимальні)?
106.Які версії Android треба тестувати, якщо замовник сказав підтримувати з версії 5.0?
107.Назвіть типи мобільних програм.
108.Який формат файлів збірок програм для Android та iOS?
109.Що таке ADB?
110.Як зняти логи з пристрою AOS/IOS?
111.Що потрібно перевіряти під час використання сканера відбитка/Face ID?
112.Як я можу запускати тести Android без Appium?
113.Поясніть концепцію дизайну Appium.

Практичні завдання

114.Написати чекліст для функціонала кошика в інтернет-магазині.
115.Написати тестові набори даних для поля введення дати, яке відсіює користувачів віком до 18 років.
116.Написати чекліст тестування форми введення даних платіжної картки.
117.Протестувати «предмет» щодо різних видів тестування. (Предмет — ліфт, олівець, калькулятор тощо.)
118.Є Input поле, яке приймає цілі значення від 18 до 99 включно. Потрібно протестувати за допомогою техніки тест-дизайну Boundary Values Analysis і Equivalence Partitioning.
119.Є вебсторінка з полями: e-mail, password та кнопкою submit. Необхідно навести приклади негативних тест-кейсів, якими можна перевірити цю сторінку.
120.Навести приклади тест-кейсів для функціонала, який є на декількох сторінках проєкту (наприклад, поле пошуку).
121.Як протестувати процес оплати в інтернет-магазині?
122.Як протестувати зламаний тостер?
123.Поясніть для 7-річної дитини, що таке база даних.
124.Визначте необхідну кількість функціональних тест-кейсів, щоб перевірити Log in форму.
125.Є форма реєстрації в вебзастосунку з полями (first name, last name, username, password, repeat password) та кнопкою Register. Які перевірки треба провести?
126.Поле username має бути обов’язковим, але воно не є обов’язковим. Наведіть приклад баг-репорту, створеного на цю помилку.
127.Як би ви провели smoke-testing для застосунку типу Telegram?
128.Як буде виглядати баг-репорт, якщо, наприклад, не працює електричний чайник?
129.Є таблиця books з полями: name, price, page_count. Потрібно вибрати всі імена книг, у яких price понад 10 одиниць і кількість сторінок від 20 до 100.
130.У вас є функціонал калькулятора, який доступний через веббраузер за посиланням. Він має тільки функцію ділити, так би мовити, MVP-версію. Діапазони для вписування в чисельник і дільник від 0,1 до 99,9. Виведення значення відбувається автоматично, тому що front-end реалізований на React JS. Як ви тестуватимете цей функціонал? Які види тестування застосуєте? Які техніки тест-дизайну використаєте?

131.Завдання на роботу з SQL.

  • Витягнути номер телефону та адресу користувача Muzik.
  • Витягнути дані про користувачів, які мають суму замовлення понад 2000 грн.
  • Підрахувати кількість замовлень у таблиці та загальну суму зроблених замовлень.

132.Ваша компанія розробляє програмне забезпечення для медичних систем, і ви тестуєте компонент, який керує дефібрилятором серця. Ви помітили, що одне рішення в тестовому модулі складається з 34 незалежних атомарних умов. Який метод тестування білого ящика слід вибрати для цього сценарію і чому?
133.Оздоровча програма для співробітників поєднана з оплатою медичного страхування і має такі правила:

  • Співробітники, які споживають 17 одиниць або менше алкоголю на тиждень, отримують $28 знижки на оплату.
  • Для співробітників, які заповнять «Оцінку ризику для здоров’я» оплата зменшується на $23.
  • Співробітники, які беруть участь у щорічному контролі за станом здоров’я в компанії: отримають знижку на $50 за те, що мають індекс маси тіла (ІМТ) 25,5 або менше, і $19 знижки при ІМТ нижче 30. Некурці отримують додаткову знижку на $46. Курці, які приєдналися до курсу відмови від куріння, отримують знижку в $24. Курці, які не приєдналися до курсу відмови від куріння, оплачують додатково $75.

Використовуючи техніку класів еквівалентності, скільки тестів потрібно написати, щоб покрити вищезгадані умови на 100%?

134.Яка мінімальна кількість тестів необхідна для покриття таких умов автоцивілки:

  • Особи до 18 років не страхуються.
  • Для чоловіків на червоному авто додається +15% до вартості поліса.
  • Для жінок від 18 до 64 років страхова премія 1000 грн.
  • Для чоловіків від 18 до 64 років страхова премія 1200 грн.
  • Для осіб від 64 років страхова премія 1800 грн.

141.Напишіть сценарії автоматичного тестування для сортування за ціною і додавання товару у кошик на сайті. До ваших тестів додайте документацію з налаштуваннями та розмістіть ваше рішення на GitHub.

Middle

Теорія

1.Назвіть обов’язки QA?
2.Що знаєте про тестування навантаження? У якому випадку треба проводити таке тестування? На якому етапі готовності продукту?
3.Що таке таблиця рішень/decision table та як її можна використовувати?
4.Що може бути критеріями запуску та завершення тестування?
5.Розкажіть про варіанти інтегрування тестової документації у проєкт, інструменти для роботи з нею.
6.Як організувати наскрізне тестування (e2e)?
7.Які тест-кейси можна скласти для тестування баз даних?
8.Наведіть приклади підходів для тестування локалізації.
9.Що таке A/B-тестування?
10.Що таке mock/stub? Які знаєте інструменти для роботи з ними?
11.Коли потрібно використовувати техніку Pairwise?
12.Що таке fuzz-тестування та де його застосовують?
13.Що таке REgexp?
14.Як змінюється вартість дефекту під час тестування програмного забезпечення?
15.Які є шляхи аналізу бізнесу клієнта? Як визначити доцільність того чи іншого функціоналу?
16.Назвіть послідовність виконання CI/CD процесу на проєкті.
17.Яке має бути відсоткове співвідношення між позитивним та негативним тестуванням на проєкті?
18.Який вид тестування доцільніше проводити до релізу?
19.Чи є якась різниця між bug leakage та bug release?
20.Чи може бути ситуація, коли критерії завершення (exit criteria) не виконані? Що має відбуватися у цьому випадку?
21.Що ми справді повинні покривати тест-кейсами, а що вважається надлишковими витратами часу і грошей? Коли недоцільно писати тест-кейси?
22.Для якого функціоналу найважче написати тест-кейси?
23.Як порахувати Cyclomatic complexity?
24.У чому основна різниця між defect detection percentage та defect removal efficiency?
25.Які моделі risk-based testing ви знаєте?
26.Що таке тестування API? Якими інструментами користуються для його виконання?
27.Що таке performance testing? Якими інструментами користуються для його виконання?
28.Що таке load і stress testing? Якими інструментами користуються для їх виконання?
29.Що таке contract testing?
30.Яка різниця між Scrum і Kanban?
31.Розкажіть про ритуали, цінності та ролі у Scrum.
32.Як вибір методології може вплинути на якість розробки?
33.Нульовий спринт у Scrum. Для тестування є завдання під назвою «Налаштування середовища». Що тут треба виконувати?

AQA

Selenium

34.Розкажіть, як ви будете будувати та впроваджувати стратегію з автоматизації тестування.
35.Як взаємодіють клієнтська бібліотека Selenium, драйвер браузера і сам браузер?
36.Для чого використовують browser capabilities, arguments та options?
37.Що таке iframe і як з ним працювати в Selenium?
38.Як обробляти браузерні повідомлення (alerts)?
39.Що таке Appium?
40.Що таке Electron-based applications? Як використовувати Selenium i Appium для їхнього тестування?
41.Як взаємодіяти із запитами, що відправляються з браузера.
42.Як взаємодіяти з cookies, LocalStorage і SessionStorage?

Тестова інфраструктура

43.Що таке і чим відрізняються віртуальна машина, симулятор і емулятор?
44.Що таке контейнер і чим він відрізняється від віртуальної машини?
45.Як використовують віртуальні машини та контейнери в автоматизації?
46.Що таке IaaS і PaaS? Наведіть приклади.
47.Що таке Configuration management?
48.Що таке Provisioning?
49.Які команди Linux Shell вам відомі? Як за допомогою команд Linux Shell знайти лог-файл і рядок з помилкою у файлі?
50.Які команди Windows CMD вам відомі? Як за допомогою команд Windows CMD знайти IP-адресу машини?
51.Що таке SSH і як ним користуватися?
52.Що таке bash і batch скрипти? Для чого їх використовують?

Web

53.Яка різниця між авторизацією та автентифікацією?
54.Як відбувається авторизація на сервері?
55.Які статус-коди помилок бувають? Чи може сервер надіслати код 400, якщо проблема на його стороні?
56.Як виконати Debug сторінки у браузері?
57.Як потестувати адаптивну верстку?
58.Що таке WebSocket і як перевірити обрив з’єднання?
59.Які є основні види вразливості вебзастосунків?
60.Які інструменти для тестування Web performance client-side знаєте?
61.Яка різниця між методами GET та POST?
62.Яка різниця між методами PUT та PATCH?
63.Які знаєте сніфери?
64.Яка різниця між DROP та TRUNCATE?
65.Що таке case function?
66.Що таке collation?
67.Що таке схема GraphQL?
68.Поясніть різницю між OLTP та OLAP.
69.Згадайте різні типи реплікації в SQL Server?
70.Що ви розумієте під Self Join? Наведіть приклади.
71.Що таке cursor і я ним користуватися?

Mobile

72.Що основне треба перевірити під час тестування мобільного застосунку?
73.Що таке Manifest.xml в .apk файлі та які дані там вказують?
74.Що таке режим розробника Do not keep activities?
75.Як відбувається перехоплення трафіку http/https для мобільних пристроїв?
76.В якому вигляді зберігаються дані в мобільних застосунках локально?
77.Як тестувати міграцію локальних даних?
78.Які основні компоненти Android-застосунків (активіті/фрагмент/сервіс/інтент-фільтр)?
79.Опишіть життєвий цикл активіті.
80.Що таке витоки пам’яті? Як знайти?
81.Як протестувати білд на Android?
82.Що таке Testflight? Як тестувати за його допомогою?
83.Як працює Android? Яка у нього архітектура?
84.Як відбувається деплой програм IOS/AOS?

Практичні завдання

85.Що робити, якщо розробник не погоджується, що заведений баг є справді багом? А якщо у вимогах використано неоднозначне формулювання? А якщо бізнес-аналітик, PM та представник клієнта зараз недоступні, щоб підказати? Як можна запобігти такій ситуації?
86.Склалася ситуація, коли команда тестування не встигає закінчити свою роботу до дедлайну. Як правильно діяти у цьому випадку? А якщо реліз пересунути не можна? А якщо ніякі фічі з релізу забрати не можна?
87.Що робити, якщо проєкт вже розпочався, а QA-інженер там почав працювати лише коли почали розроблятися бізнес-фічі? Які етапи тестування тепер треба надолужити і чи потрібно це? Як це зробити максимально грамотно без шкоди для завантаження з тестування нових фіч? Які ризики має пізнє залучення QA-інженера в розробку?
88.Вебсторінка з полями e-mail, password та кнопкою submit. Назвіть негативні тест-кейси, якими можна перевірити цю сторінку.
89.Припустимо, що після натискання кнопки submit сторінка перезавантажується та введені раніше дані зникають. Як перевірити, що інформацію відправлено до бази даних?
90.Як перевірити, що дані відправились на сервер, якщо у нас немає доступу до бекенду?
91.Наведіть приклади покращень для наведеної вебсторінки (будь-яка на вибір).
92.Скласти Smoke Test Suite для DOU.ua.
93.Протестувати функціонал банкомату за допомогою техніки State Transition Diagram.
95.Написати граничні значення для вводу у форму оплати товару на сайті.
96.Є метод POST, який реєструє нового користувача на сайті, є тіло запиту, яке містить дані про пошту, телефон, ім’я користувача та адресу проживання. Які кейси для перевірки можете навести?
97.На що варто акцентувати при автоматизації методів API? Що варто перевіряти?
98.Ви тестуєте логін-форму, вводите логін і пароль, натискаєте кнопку логін і нічого не відбувається. Ваші дії?
99.Протягом 5 хвилин знайдіть та опишіть дефекти, які ви бачите:

100.Вам потрібно зробити Regression Testing за два дні. Як ви це зробите, якщо Regression Run охоплює 1000 тест-кейсів?
101.Ви тестуєте інтернет-магазин, який продає олівці. У замовленні треба вказати кількість олівців (максимум для замовлення — 1000 штук). Залежно від замовленої кількості олівців різниться ціна:

1–100 — 10 грн за шт.
101–200 — 9 грн за шт.
201–300 — 8 грн за шт.

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

102.Є застосунок типу месенджера, користувач заходить у чат і відсилає файл (бачить повідомлення Failed to send ...) Коли це може бути баг, а коли ні?
103.Є вебзастосунок інтернет-магазину (реєстрація, логін, пошук товарів, кошик та покупки). Програму підтримують такі браузери: Chrome, Safari, Edge. Ми маємо обмежений час на тестування. Розкажіть, як ви будете тестувати програму?
104.Напишіть автоматичні тестові сценарії для перевірки API операцій створення і перегляду GitHub Gists. Інтегруйте ваш проєкт з відомою вам CI-системою.

Senior

Теорія

1.Як ви подолаєте труднощі через відсутність належної документації для тестування?
2.Який найкращий підхід для старту QA в проєкті?
3.Які перешкоди можуть виникнути у забезпеченні якості для Agile Tester?
4.Що таке Definition of Done?
5.Коли можна вважати, що тестування закінчене?
6.Що таке RCA в тестуванні? Чи потрібно його проводити?
7.Який підхід використовуєте для Test Cases Review?
8.Які існують види ризиків? Що таке Mitigation plan?
9.На основі чого треба складати стратегію для проведення тестування навантаження?
10.Як часто варто рев’ювити тестову документацію?
11.Як можна швидко зробити вибірку необхідних перевірок для смоук-тестування?
12.Як запланувати завантаженість команди тестувальників?
13.Яку цінність несе аналіз результатів тестування команді та проєкту загалом?
14.Як можна підкорегувати флоу розробки, щоб отримувати більш чисті результати на виході та зменшити кількість багів на проді?
15.Розкажіть про метрики якості, які застосовували. Навіщо вони потрібні?
16.Як провести естімейт завдання? Які є техніки оцінювання обсягу тестування?
17.Як можна порахувати покриттям тестами функціоналу?
18.Яка оптимальна кількість кроків у тестовому сценарії?
19.Як уникнути появи регресивних дефектів?
20.Що таке тестування зі зсувом вліво (Shift left testing)?
21.Як тестуватимете програму, якщо для продукту немає документації?
22.У чому сенс юніт-тестів?
23.Які мінуси повної автоматизації тестування?
24.Що таке ROI і як його рахувати?
25.Що таке CI/CD? Які є плюси та мінуси цього підходу?
26.TOP OWASP: які знаєте уразливості та методи захисту?
27.Що ви думаєте щодо BDD? Коли варто використовувати, а в яких буде тільки гірше? Якщо все ж вартує використовувати, то для UI чи API автоматизованого тестування?
28.Що таке сокети і як їх тестувати, вручну й автоматизовано? Для чого їх використовують?
29.Коли варто робити стрес-тестування на проєктах? Від чого відштовхуватись, коли будуєте сценарій для такого тестування? Що врахувати під час вибору інструменту?
30.Розкажіть про алгоритми шифрування трафіку.
31.Що таке NIC?
32.Для чого потрібен протокол RTP?
33.Що, на вашу думку, краще — SIP чи PRI?
34.Що таке NAT?

Практичні завдання

30.Сформулюйте негативні сценарії для POST-запиту, що створює нового користувача.
31.Як ви врегульовуєте конфліктні ситуації між QA та розробниками?
32.Є проєкт, на якому немає тестової документації, але проєкту вже рік. Мануальним QA бракує часу на тестування, вони дуже втомлені, є бажання звільнитися. Яке рішення щодо команди можна ухвалити?
33.Продайте мені тестування як клієнту, який не хоче його купувати. Коротко і структуровано опишіть вашу роботу на кожному з етапів розробки ПЗ, використовуючи професійні терміни (не лити воду).
34.У вас є онлайн-калькулятор. Ви вводите 1+1, а в результаті отримуєте 3. Розкажіть, як ви будете шукати причину проблеми.
35.Чи можуть бути такі види архітектур? Що може не вистачає для правильної роботи архітектур, наведених нижче?

Приклад 1


Приклад 2

Приклад 3


Приклад 4

Запитання при виконанні цього завдання:

  • Які запити виконуються за формою авторизації?
  • Який запит виконується, коли ми зберігаємо дані в базі даних?
  • Чи можна авторизуватись за допомогою GET-запиту і чи нормально так робити?
  • Який код відповіді ми отримуємо при падінні помилки на сервері, код при помилкових credentials на формі авторизації?
  • Чи можна замінити SSL-сертифікат шифруванням даних у пакеті від клієнта до сервера для протоколу HTTP, чи це буде рівноцінною заміною?

36.Є вебсторінка з полями e-mail, password та кнопкою submit. Припустимо, що після натискання кнопки submit сторінка перезавантажується та введені раніше дані зникають. Як перевірити, що дані відправлені до бази даних?
37.Яка мінімальна кількість тест-кейсів необхідна, щоб переконатись у коректній роботі цієї вебсторінки?
38.Як перевірити безпеку на вебсторінці (на вибір)?

Дякуємо за питання та рецензію Роману Поботіну, Андрію Заблоцькому, Віктору Максименку, Мар’яні Батюк, Ірині Литвин, Сергію Могилевському, Святославу Логіну, Роману Марінському, Олегу Заревичу, Олесі Паславській, Тарасу Лірку, Максиму Богуну, Вадиму Гуличу, Віталію Кашубі, Юрію Суравському, Світлані Франковій, Володимиру Арутіну, Станіславу Жупінасу, Людмилі Федчук, Іванні Черусі, Юлії Левченко, Владиславу Куліченку, Юрію Бояру.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось55
До обраногоВ обраному114
LinkedIn



56 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Досить структурована інформація щоб поверхнево пройтись по основним напрямкам. Зазвичай цього достатньо, щоб зрозуміти хто перед тобою. А далі глибше завжди можна довчити

Теорія Middle:

Назвіть послідовність виконання CI/CD процесу на проєкті.

Теорія Senior:

Що таке CI/CD? Які є плюси та мінуси цього підходу?

За вихід із джунів доведеться платити кров’ю.

Для синьора мало вопросов по сетям и протоколам. надо глубже копать, особенно если есть хоть какая-то взаимосвязь с эмбеддед
Мало вопросов по распределению задач и эстимейтам, часто синьор выполняет функцию лида.

Ой, емае! Намешали вопросов, и мухи и котлеты — все в одном смузи!

Дуже дякую за статтю. Питання кльові і велику частину з них чув реально на співбесіді. Автор, чи можете зробити такий само пост із відповідями? щоби вийшло щось типу jsehelper.blogspot.com/...​2016/01/blog-post_59.html
Якшо треба допомога — пишіть в приват з радістю допоможу з відповідями

1.Як ви подолаєте труднощі через відсутність належної документації для тестування?
— Зроблю запит щодо надання належної документації для тестування.
2.Який найкращий підхід для старту QA в проєкті?
— Запитати чи є в наявності належна документація для тестування.
3.Які перешкоди можуть виникнути у забезпеченні якості для Agile Tester?
— Відсутність належної документації для тестування.
4.Що таке Definition of Done?
— Це вказано у належному документі для тестування. Документ може відрізнятися від компанії до компанії, а от розділ, скоріш за все, — «Терміни».
5.Коли можна вважати, що тестування закінчене?
— Це вказано у належному документі для тестування (Тест Дизайн).
6.Що таке RCA в тестуванні? Чи потрібно його проводити?
— Це вказано у належному документі для тестування (розділ — «Терміни»). Проводити потрібно, але не завжди.
7.Який підхід використовуєте для Test Cases Review?
— Це вказано у належному документі для тестування (Tests Lifecycle).
8.Які існують види ризиків? Що таке Mitigation plan?
— Це вказано у належному документі для тестування (Шаблон Risks Analysis). І це теж.
9.На основі чого треба складати стратегію для проведення тестування навантаження?
— На основі належної документації для тестування.
10.Як часто варто рев’ювити тестову документацію?
— Це вказано у належному документі для тестування (Test Documentation Lifecycle).
11.Як можна швидко зробити вибірку необхідних перевірок для смоук-тестування?
— На основі належної документації для тестування.
12.Як запланувати завантаженість команди тестувальників?
— На основі належної документації для тестування (Test Plan).
13.Яку цінність несе аналіз результатів тестування команді та проєкту загалом?
— Покращує належну документацію для тестування.
14.Як можна підкорегувати флоу розробки, щоб отримувати більш чисті результати на виході та зменшити кількість багів на проді?
— Пошукати у належній документації для тестування: розділення відповідальності у командах, «чисті рехультати на виході». Задепрекейтити патерн ХХІУП (Дивитися розділ «Терміни»: «Хуяк-хуяк і у продакшн»).
15.Розкажіть про метрики якості, які застосовували. Навіщо вони потрібні?
Скільки у нас часу для цього запитання? Від цього відповідь буде сильно вар’юватися. Потрібні для прийняття управлінських (переважно) рішень. Деталі дивіться у належній документації для тестування/розробки/управління.
16.Як провести естімейт завдання? Які є техніки оцінювання обсягу тестування?
— На основі належної документації для тестування. Рекомендовані техніки також там вказані. Якщо хочеться повного аджайлу — у папугах (як тікети на імплементацію), це покращує командний дух за рахунок зниження відповідальності.
17.Як можна порахувати покриттям тестами функціоналу?
— На основі належної документації для тестування (Маппінг інпутів на тести).
18.Яка оптимальна кількість кроків у тестовому сценарії?
— 0 (теоретична і на практиці недосяжна кількість, але треба до неї йти).
19.Як уникнути появи регресивних дефектів?
— Не змінювати нічого.
20.Що таке тестування зі зсувом вліво (Shift left testing)?
— Це вказано у належному документі для тестування (розділ — «Терміни»).
21.Як тестуватимете програму, якщо для продукту немає документації?
— Програма і продукт у даному випадку одне й те саме? Відчуваю, що проблема полягає у відсутності належної документації для тестування. Зроблю запит на її отримання.
22.У чому сенс юніт-тестів?
— У нижчій вартості (час та гроші). І це також вказано у належному документі для тестування (Рівні тестування).
23.Які мінуси повної автоматизації тестування?
— У високій вартості (час та гроші). І це також вказано у належному документі для тестування (Рівні покриття тестування).
24.Що таке ROI і як його рахувати?
— Це вказано у належному документі для тестування (розділи — «Терміни», «Аналіз ефективності тестування»). Рахувати як загальне ROI. Принципова різниця щодо власне тестування мізерна. Можливо, правильне запитання: чи потрібно його рахувати і коли це робити і переставати робити.
25.Що таке CI/CD? Які є плюси та мінуси цього підходу?
— Це вказано у належному документі для тестування (розділ — «Терміни»). Плюси і мінуси у документі «CI/CD у нашій компанії».
26.TOP OWASP: які знаєте уразливості та методи захисту?
— Це власне там і вказано. Методи також часто наводяться.
27.Що ви думаєте щодо BDD? Коли варто використовувати, а в яких буде тільки гірше? Якщо все ж вартує використовувати, то для UI чи API автоматизованого тестування?
— Думаю, що це такий термін, про який не варто питати на рівні Senior. Варто використовувати коли технічний і/або управлінський рівень низький; але часто все одно буде гірше. Чому обмеження UI чи API? Якщо тільки такі варіанти — в залежності від моделей. Якщо «немає належної документації для тестування» і бажання її отримати, то частіше — UI, як потенційно ближчий до behavior-driven (ще раз: не факт).
28.Що таке сокети і як їх тестувати, вручну й автоматизовано? Для чого їх використовують?
— Це вказано у належному документі для тестування (розділ — «Терміни»). Тестувати в залежності від того, що ж таке сокети (термін широкий і належить як до hardware, так і до software, так і до загальних понять). Використовують відповідно до документації і конкретного типу сокетів, наприклад, для модульності апаратного забезпечення.
29.Коли варто робити стрес-тестування на проєктах? Від чого відштовхуватись, коли будуєте сценарій для такого тестування? Що врахувати під час вибору інструменту?
— Можливо, воно вже присутнє. Через відсутність належної документації для тестування. Відштовхуватися від належної документації для тестування. Врахувати: 1) задоволення вимог до такого тестування (з коробки чи можливість сконфігурувати, додати функціонал); 2) політику закупок; 3) політику роботи із відкритим програмним забезпеченням; 4) можливість створення такого інструменту силами самої компанії чи замовлення в іншої організації (включаючи проектне залучення тимчасового персоналу); 5) ризики; 6) терміни; 7) бюджет; 8) досвід роботи з такими технологіями; 9) майбутній супровід; 10) використання не тільки для даної активності.
30.Розкажіть про алгоритми шифрування трафіку.
— Ми точно не встигнемо в рамках співбесіди.
31.Що таке NIC?
— en.wikipedia.org/wiki/NIC
32.Для чого потрібен протокол RTP?
— en.wikipedia.org/wiki/RTP
33.Що, на вашу думку, краще — SIP чи PRI?
— Я не знаю. Немає досвіду.
34.Що таке NAT?
— en.wikipedia.org/wiki/Nat

Мабуть, співбесіду я би не пройшов. Хоча, мабуть це вказано у належному документі для тестування.

Спасибо за статью!

Возможно стоит также упомянуть несколько вопросов на темы Test Plan/Test Strategy, Cloud, XPath и algorithmic thinking.

О, прекрасний тест план, усі питають про нього, а коли просиш поділитись досвідом написання то кажуть — ой, я ніколи то не писав на жодному проекті

Бо их пишут только взрослые дяди/тёти, которые понимают нахиба воно надо. Остальные только знают, что такие документы существуют.

Ну тоді таких два з половиною чоловічка на всіх)))

омг, кони-люди намешали в вопросы. И паттерны, и РЕСТ, и как делается авторизация на сервере (whaaat?), что такое ROI (что ..ять?), .... Это точно собеседование QA или просто спихнули все, что знали? У QA ценится настойчивость, скурпулезность, внимание к деталям, способность адекватно эстимейтить стори и 20% ключевых знаний из списка выше, все остальное, это желание галеры уменьшить рейт («видишь, ты не знаешь, что такое ROI, минуc 500$»)

Просто QA должен знать продукт как продакт оунер и пользователь, разбираться в технологиях досконально (как девелопер), а еще знать уметь проверять безопасность, производительность, UI/UX. Плюс еще — думать наперед, какие задачи и процессы приносят деньги бизнесу (и сколько), а какие — нет. И еще много всего.
И все это желательно на минимальную ЗП. И еще и с отношением остальной команды в стиле «тю, что этот тестер вообще может — только кликать».

скрупулезность (извините)

Web

76.Що таке клієнт-серверна архітектура?

Мені здається, що клієнт-серверна архітектура не має прямого відношення до Web. Клієнт та сервер можуть використовувати будь-який протокол.

TestNG/JUnit

63.Для чого потрібні TestNG/JUnit?
64.Які анотації використовують у TestNG/JUnit?
65.Які assertions є в TestNG/JUnit?
66.Як виконувати тести паралельно в TestNG/JUnit?

Паралельне виконання тестів — випадок не на кожен день.
А ось я обов’язково запитав би, а які вимоги до тестів існують? Це набагато цікавіше питання.

Паралельне виконання тестів — випадок не на кожен день.
А ось я обов’язково запитав би, а які вимоги до тестів існують? Це набагато цікавіше питання.

це ж питання про тест-раннери, а вимоги до тестів то обширне і загальне питання

Як ви вважаєте, таке питання має бути у цьому списку?

має, але ваше питання не відноситься до тест-раннерів, хоча його варто внести, звісно

44.Яка різниця між String, Stringbuffer та Stringbuilder?

Насправді StringBuilder та StringBuffer

45.Різниця між final, finally і finalize?

Опа, мене якраз недавно про це запитували) видно, хтось уже користується цим списком)

Моя подруга долго искала должность Junior PM.
Как ее только не мурыжили.

И спрашивали о docker/kubernetes.
И как работают криптокошельки.
И виды архитектуры.

И это все на одном собеседовании.

О ТЗ я вообще молчу. Одна известная контора давала ТЗ на две недели. На зп в $400 баксов.
Сначала нужно было протестировать сайт. Большой интернет-магаз. Вот просто взять и протестировать. Все протестировать, включая нагрузочное.

Потом те, кто прошел первый тур, получают второе тестовое, оно проще. Там нужно написать несколько писем клиентам, но одно из заданий было такое: клиент приходит с идеей проекта, ты должен прикинуть технологии и состав команды. Собственно подруга ко мне обратились за помощью, потому что там не так и просто было, несколько разных баз, сохранение документов, веб-скраппинг и тд. Я проконсультировал и примерно расписал что куда и в каком составе нужно иметь, примерные технологии, без излишеств, чтобы не виден был почерк девелопера.

Получаем письмо «ваши навыки недостаточно подходят для позиции Trainee/Junior PM».

На другие позиции теперь тоже придётся делать.

Стаття класна, але кілька моментів не дуже зрозумів.

58.Чи можете ви назвати 10 інтерфейсів у Selenium?

а чому не 5 або 15?)
не розумію сенсу питання

39.Що таке Appium?

певно не зовсім підходяще питання для категорії Selenium (хоч і Appium дуже схожий)

40.Що таке Electron-based applications? Як використовувати Selenium i Appium для їхнього тестування?

також не з категорії веб-автоматизації

Крім цього, я б додав також категорію питань по build tools — Maven/Gradle для Java, наприклад.

Дякую за статтю!

31.Як ви врегульовуєте конфліктні ситуації між QA та розробниками?

спочатку орнув, потім заплакав

До речі, у мене недавно це питання двічі запитували на співбесідах.

майже на всіх співбесідах питали)))

Ну, в мене і співбесід-то було всього три, тож не ризикнув писати «майже на всіх».

шляхом армреслінгу :) компромісний варіант між мордобоєм і подавленням агресії

Правильна відповідь — тимбілдингом?

їхати три дні полем п,ять днів лісом, приїхати в гори, на третій день в рамках тімбілдінгового альпінізму — порізати стропи учасникам конфлікту?)))

Мене теж питали. Недавно бачила прикольний кейс, коли жінка принципово розмовляла російською плюс ще досить грубо відписувала, але людина в сапорті досить вічливо відповідала та не звертала на грубості, що в кінці-кінців призвело до позитивних змін в поведімці покупця. Висновок, що треба мати велику терпимість та шукати підхід до людей. QA та Support мають бути дуже сильними духом людьми та стресостійкими=)

Тааак, це доволі стандартне запитання, як і відповідь:
коли відповіді немає у ТЗ, завжди є БА або ПМ для вирішення проблемки))
але як то кажуть. хто перший того й чоботи)))

Але було на практиці такий момент короче:
був баг/фіча де ми з розробником трохи сперечалися чи варто воно для виправлення.
після чого я запитав ПМа типу чи треба правити — він сказав так
перекидую повідомлення розробнику, а він каже що також спілкувався і сказали не правити
і короче знов вперлися в стінку
а потім зрозуміли що питали різних ПМів проєкту))))
і орнули дико з цього і прийняли рішення ПМа, який вище за позицією (на той момент тімліда)

Дооолго будете искать кандидатов с таким чек-листом.

а тоді на практиці — взяли гівно по всім фронтам -бо він на всі питання відповів і все порішав, а нормального чувака відшили бо він не зміг, наприклад, відповісти на це

Продайте мені тестування як клієнту, який не хоче його купувати.

))))))))))))

ну а чё, норм, каждый QA обязать быть еще и сэйлзом. У всех же так.

Ну странно что в AQA на джуна половина по java вопросов

Бо більшість AQA дійсно використовують цю мову, близько 40% якщо вірити DOU. Та і питання тут здебільшого з UI автоматизації.

та ну хз это вроде вообщем а не по UI

.Яка ієрархія Collections?
43.Яка різниця між Thread class та Runnable interface?
44.Яка різниця між String, Stringbuffer та Stringbuilder?
45.Різниця між final, finally і finalize?

а где же тогда хоть одни вопросик по остальным 60% языков?)

Напевне, з’їли миші. Тобто, на прохання надати питання ніхто не надіслав питання не по Java

Ну в c# такие слова тоже есть, правда смысла такое спрашивать на собесе не вижу.

Тендеція останнього року: для QA Automation в топ компанії з ЗП в Україні до $9000 іде повноцінне кодінг інтерв"ю. Як до нього готуватися — dou.ua/...​rticles/google-interview

Для джунів: якщо ви не можете відповісти на 10-20% питань з цього переліку — не страшно, пробувати все рівно треба! І краще не писати, що ви джуни, хай роботодавець сам ламає над цим голову.
Мідли і сенйори і так знають, що опис в вакансії буде на 30%-50% не релевантний реальні роботі потім.

А як зараз вирішується проблема, коли є крутий автоматизатор, але стек відрізняється? Дають час хоча б на мінімальне знайомство з новою мовою/синтаксисом? Чи шукають як і девів — під конкретний стек?

напевно в більшості шукають під стек
або якщо не критично, то хоча б тих, хто хоче свічнутись

Автоматизаторам все ж це легше зробити, ніж тим, хто працює з бекендом. В розробці з цим значно важче.

Коли пайтон був не дуже популярним, то була одна вакансія, де джавістам пропонували до 3 місяців, щоб вивчити. Але зараз такої розкоші мабуть не має.

З практики велика частина кандидатів на рівень мідл-сініор не завжди можуть відповісти на питання які в рубриці Джун на QA та AQA.

зато на ліда не питають таке xD

питали — сказав я не памятаю вже того всього)))

Це і не дивно, бо велика кількість питань вивчаються виключно на початкових курсах для QA і ніде і ніколи в роботі не використовуються.

ЗП от $400 до $600 по результатам собеседования. И да, еще тестовое на 3 дня.

Уберите это и не позорьтесь

Комп’ютерні мережі
104.Розкажіть про алгоритми шифрування трафіку.
105.Що таке NIC?
106.Для чого потрібен протокол RTP?
107.Що, на вашу думку, краще — SIP чи PRI?
108.Що таке NAT?

Джун мог об этом что-то слышать, если изучал в институте. И то, ответ скорее всего будет «слышал, могу расшифровать».
Вот только зачем это спрашивать и не спрашивать про TCP/IP?

Если это вопросы для того чтобы показать какое говно кандидат, а я крутой, то гнать таких интервьюеров подальше от собеседований.

Це напша помилка, питання були для блоку Senior. Уже перенесли. І ще раз: ніхто не каже, що треба знати всі відповіді на всі питання, це тільки орієнтир (але реальний, те, що зараз запитують на співбесідах).

Лучше, но все-равно я бы вообще удалил.
Хочу услышать аргументацию от рецензентов, зачем включать эти вопросы пусть даже в раздел Senior, но вот полностью проигнорировать базовые вопросы сетей?

Мне кажется что тут авторства Остера Г. не хватает (кто помнит такого тот не джун) ))

Вимагаємо зарплатне опитування!

17 січня опублікуємо зарплати розробників.

Ого, довго ви аналізуєте цього року.

Але дуже дякую за відповідь!

Підписатись на коментарі