Собеседование с 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 и т.д.?
CI
71. Что такое CI?
72. Как интегрируется автоматическое тестирование в CI?
73. Как настроить Job или Pipeline на знакомом вам CI-инструменте?
74. Какие инструменты для создания репорта после выполнения автоматических тестов вы знаете?
75. Какую информацию должен содержать отчет о выполнении автоматических тестов?
Интернет
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?
Компьютерные сети
104. Расскажите об алгоритмах шифрования трафика.
105. Что такое NIC?
106. Для чего требуется протокол RTP?
107. Что, по вашему мнению, лучше SIP или PRI?
108. Что такое NAT?
Мобильный
109. Какие мобильные платформы существуют?
110. Какие версии Android и iOS используются на рынке (минимальные и максимальные)?
111. Какие версии Android следует тестировать, если заказчик сказал поддерживать с версии 5.0?
112. Назовите типы мобильных приложений.
113. Каков формат файлов сборок приложений для Android и iOS?
114. Что такое ADB?
115. Как снять логи с AOS/IOS?
116. Что необходимо проверить при использовании сканера отпечатка/Face ID?
117. Как я могу запускать тесты Android без Appium?
118. Объясните концепцию дизайна Appium.
Практические задания
119. Написать чеклист для функционала корзины в интернет-магазине.
120. Написать тестовые наборы данных для поля ввода даты, которое отсеивает пользователей в возрасте до 18 лет.
121. Написать чеклист тестирования формы ввода данных платежной карты.
122. Протестировать «предмет» для различных видов тестирования. (Предмет — лифт, карандаш, калькулятор и т.д.)
123. Имеется Input поле, принимающее целые значения от 18 до 99 включительно. Следует протестировать с помощью техники тест-дизайна Boundary Values Analysis и Equivalence Partitioning.
124. Есть веб-страница с полями: e-mail, password и кнопкой submit. Необходимо привести примеры отрицательных тест-кейсов, по которым можно проверить эту страницу.
125. Привести примеры тест-кейсов для функционала, находящегося на нескольких страницах проекта (например, поле поиска).
126. Как протестировать процесс оплаты в интернет-магазине?
127. Как протестировать сломанный тостер?
128. Объясните 7-летнему ребенку, что такое база данных.
129. Определите количество функциональных тест-кейсов, чтобы проверить Login форму.
130. Есть форма регистрации в веб-приложении с полями (first name, last name, username, password, repeat password) и кнопкой Register. Какие проверки нужно провести?
131. Поле username должно быть обязательным, но оно не обязательно. Приведите пример баг-репорта, созданного для этой ошибки.
132. Как вы провели smoke-testing для приложения типа Telegram?
133. Как будет выглядеть баг-репорт, если, к примеру, не работает электрический чайник?
134. Есть таблица books с полями: name, price, page_count. Нужно выбрать все имена книг, в которых price более 10 единиц и количество страниц от 20 до 100.
135. У вас есть функционал калькулятора, доступный через веббраузер по ссылке . Он имеет только функцию делить, так сказать, MVP-версию. Диапазоны для вписывания в числитель и делитель от 0,1 до 99,9. Вывод значения происходит автоматически, потому что front-end реализован на React JS. Как вы будете тестировать этот функционал? Какие виды тестирования примените? Какие техники тест-дизайна используете?
![](https://s.dou.ua/storage-files/image_42837275621641813620057.jpg)
136. Задание на работу по SQL.
- Извлечь номер телефона и адрес пользователя Muzik.
- Вытащить данные о пользователях, имеющих сумму заказа более 2000.
- Подсчитать количество заказов в таблице и общую сумму заказов.
![](https://s.dou.ua/storage-files/image_32539010131641813620126.jpg)
137. Ваша компания разрабатывает программное обеспечение для медицинских систем, и вы тестируете компонент, управляющий дефибриллятором сердца. Вы заметили, что одно решение в тестовом модуле состоит из 34 независимых атомарных условий. Какой метод тестирования белого ящика следует выбрать для этого и почему?
138. Оздоровительная программа для сотрудников связана с оплатой медицинского страхования и имеет следующие правила:
- Сотрудники, потребляющие 17 единиц или менее алкоголя в неделю, получают $28 скидки на оплату.
- Для сотрудников, которые заполнят «Оценку риска для здоровья», оплата уменьшается на $23.
- Сотрудники, участвующие в ежегодном контроле за состоянием здоровья в компании: получат скидку на $50 за то, что имеют индекс массы тела (ИМТ) 25,5 или менее, и $19 скидки при ИМТ ниже 30. Некурящие получают дополнительную скидку на $46. Курильщики, присоединившиеся к курсу отказа от курения, получают скидку в $24. Курильщики, не присоединившиеся к курсу отказа от курения, оплачивают дополнительно $75.
139. Используя технику классов эквивалентности, сколько тестов следует написать, чтобы покрыть вышеупомянутые условия на 100%?
140. Какое минимальное количество тестов необходимо для покрытия следующих условий автогражданки:
- Лица до 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 и 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? Зачем их используют?
Интернет
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 и как им пользоваться?
Мобильный
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 для petrovich.ru.
93. Протестировать функционал банкомата с помощью техники State Transition Diagram.
95. Написать предельные значения для ввода в форму оплаты товара на сайте.
96. Есть метод POST, который регистрирует нового пользователя на сайте, есть тело запроса, содержащее данные о почте, телефоне, имени пользователя и адресе проживания. Какие кейсы для проверки можете привести?
97. На что следует акцентировать внимание при автоматизации методов API? Что следует проверять?
98. Вы тестируете логин-форму, вводите логин и пароль, нажимаете кнопку логин и ничего не происходит. Ваши действия?
99. В течение 5 минут найдите и опишите дефекты, которые вы видите:
![](https://s.dou.ua/storage-files/image_34952022221641814799146.png)
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. Сформулируйте негативные сценарии для POST-запроса, создающего нового пользователя.
31. Как вы регулируете конфликтные ситуации между QA и разработчиками?
32. Есть проект, на котором нет тестовой документации, но проекту уже год. Мануальным QA не хватает времени на тестирование, они очень устали, есть желание уволиться. Какое решение по команде можно принять?
33. Продайте мне тестирование как клиенту, не желающему его покупать. Кратко и структурированно опишите вашу работу на каждом из этапов разработки ПО, используя профессиональные термины (не лить воду).
34. У вас есть онлайн-калькулятор. Вы вводите 1+1 и получаете 3. Расскажите, как вы будете искать причину проблемы.
35. Могут быть такие виды архитектур? Что может быть недостаточно для правильной работы архитектур, приведенных ниже?
![](https://s.dou.ua/storage-files/image_29898653431641815114984.jpg)
![](https://s.dou.ua/storage-files/image_47968154521641815114974.jpg)
![](https://s.dou.ua/storage-files/image_99311361141641815114989.jpg)
![](https://s.dou.ua/storage-files/image_7783384651641815114990.jpg)
Вопросы при выполнении этой задачи:
- Какие запросы выполняются по форме авторизации?
- Какой запрос выполняется при сохранении данных в базе данных?
- Можно ли авторизироваться с помощью GET-запроса и нормально ли так поступать?
- Какой код ответа мы получаем при падении ошибки на сервере, код при ошибочных credentials на форме авторизации?
- Можно ли заменить SSL-сертификат шифрованием данных в пакете от клиента к серверу для протокола HTTP и будет ли это равноценной заменой?
36. Есть веб-страница с полями e-mail, password и кнопкой submit. Предположим, что после нажатия кнопки submit страница перезагружается и ранее введенные данные исчезают. Как проверить, что данные отправлены в базу данных?
37. Какое минимальное количество тест-кейсов необходимо, чтобы убедиться в корректной работе этой веб-страницы?
38. Как проверить безопасность на веб-странице (по выбору)?
Оригинал статьи: https://dou.ua/lenta/articles/interview-qa/