Menu Close

Що таке Senior

Що таке Senior

Ми в Merge знаємо, як важко опановувати нову професію. Тому підбираємо найкращі практики, щоб дати IT-світу нових спеціалістів із якісними знаннями.

Junior, middle, senior designer: як їх відрізняти?

Де закінчується початківець і де починається junior? Якими скілами має володіти middle? Як дорости до senior? Давай розбиратися, who is who.

Початківець vs junior

Початківцев у IT-галузі називають trainee. По суті, від junior їх відрізняє тільки відсутність комерційних проєктів у портфоліо. Але це доволі вагомий фактор для прийома на роботу.

Якщо ти щойно пройшов початкові IT-курси, ти — trainee. Це значить, що наврядчи ти зможеш одразу потрапити на роботу до компанії. Проте, можна брати проєкти на фрілансі, практикуватися і вдосконалювати навички або ж потрапити на стажування. Буває і таке, що на позицію junior беруть початківця без комерційного досвіду, проте для цього треба мати гарні навички і добре впоратися з тестовим завданням.

На етапі junior ти вже вважаєшся повноцінним айтішником. Тебе вводять у курс справ, дають задачі для самостійного вирішення. Проте ти також можеш мати ментора-сіньйора, який доглядатиме за тим, як ти розвиваєшся, реагуєш на критику та вирішуєш проблеми. Тут уже починають відігравати роль твої soft skills: наскільки сильно ти хочеш розвиватися і вчитися, наскільки ти цікавишся професією і прагнеш самостійно вирішувати задачі, скільки в тобі енергії та стресостійкості.

Middle

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

Як визначити, що ти middle:

  • маєш 2-4 роки досвіду роботи;
  • у твоєму портфоліо є приклади робіт з різних проєктів;
  • можеш самостійно працювати в команді;
  • ініціюєш власні способи вирішення проблем.

Senior

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

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

Хочеш перейти на новий рівень? Приходь в Merge Academy! Окрім курсів для початківців ми робимо освітні програми для тих, хто вже має досвід. А попереду у нас ще багато нових програм. То ж слідкуй за новинами і не забудь підписатися на розсилку 😉

Співбесіда з 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 на знайомому вам
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. Поясніть для дитини, що таке база даних.
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 штук). Залежно від замовленої кількості олівців різниться ціна:

10 грн за шт.
9 грн за шт.
8 грн за шт.

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

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

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. Чи можуть бути такі види архітектур? Що може не вистачає для правильної роботи архітектур, наведених нижче?

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

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

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

До обраного В обраному 106

Схожі статті

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

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

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

56 коментарів

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

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

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

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

Дуже дякую за статтю. Питання кльові і велику частину з них чув реально на співбесіді. Автор, чи можете зробити такий само пост із відповідями? щоби вийшло щось типу 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

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