Анонс сборника для подготовки к собеседованиям.
Друзья, я собрал в один большой сборник вопросы по различным темам с подробными ответами для подготовки к собеседованиям на позицию QA.
Сборник содержит, как опубликованные ранее вопросы с ответами, которые шли отдельными постами для подписчиков моего Boosty, так и новые дополнительные вопросы.
Итого получилось 111 вопросов с ответами более чем на 140 страницах. Все в одном месте, структурировано и удобно.
Материалы подойдут, как для подготовки к собеседованяим, так и для проведения интверью на позиции Junior/Junior + и Middle QA.
Сборник содержит, как опубликованные ранее вопросы с ответами, которые шли отдельными постами для подписчиков моего Boosty, так и новые дополнительные вопросы.
Итого получилось 111 вопросов с ответами более чем на 140 страницах. Все в одном месте, структурировано и удобно.
Материалы подойдут, как для подготовки к собеседованяим, так и для проведения интверью на позиции Junior/Junior + и Middle QA.
Ознакомиться с примерами вопросов и ответов к ним можно в демо-фрагменте:
Содержание:
Теория тестирования
- Какие существуют основные принципы тестирования ПО?
- В чем разница между верификацией и валидацией?
- Чем отличается Quality Assurance (QA) от Quality Control (QC) и от собственно тестирования?
- Какие существуют уровни тестирования и что проверяется на каждом уровне?
- Что такое функциональное и нефункциональное тестирование, чем они отличаются?
- Что такое smoke-тестирование и sanity-тестирование, и чем они отличаются?
- Что такое регрессионное тестирование и чем оно отличается от повторного тестирования (re-test)?
- Чем отличаются серьезность (Severity) и приоритет (Priority) дефекта?
- Какая информация должна быть указана в хорошем баг-репорте?
- Опишите жизненный цикл дефекта (статусы, через которые проходит баг).
- В чем разница между тестированием «черного ящика» и «белого ящика»?
- Что такое статическое тестирование и чем оно отличается от динамического?
- Какие основные техники тест-дизайна вы знаете, и когда их применять?
- В чем разница между тест-кейсом и чек-листом?
- Что такое исследовательское тестирование и чем оно отличается от сценарного (скриптового) тестирования?
- Что такое тест-план и тестовая стратегия, чем они отличаются и что включает каждый?
API-тестирование
- Что такое API и зачем оно нужно?
- В чем разница между REST и SOAP?
- Какие HTTP-методы вы знаете и для чего они используются?
- Как вы тестируете API (подход к тестированию)?
- Какие инструменты вы используете для API-тестирования?
- Как вы обрабатываете ошибки в API-тестировании?
- Что такое JSON и XML? Чем эти форматы отличаются и какой чаще применяется в API?
- Чем отличается метод PUT от POST?
- Какие основные коды ответа HTTP вы знаете и что они означают?
- Чем отличается тестирование API от тестирования UI?
- Что такое Swagger (OpenAPI) и как он помогает в тестировании API?
- В чем разница между ручным и автоматизированным тестированием API?
- Как вы проверяете безопасность API?
- Как вы проверяете производительность API?
- Как тестировать API, которое требует авторизации? Какие виды аутентификации и авторизации API вы знаете?
- Что такое мок или заглушка API, и зачем она используется в тестировании?
- Чем GraphQL отличается от REST и какие особенности нужно учитывать при тестировании GraphQL API?
- Что такое версионирование API и почему оно важно?
Веб-тестирование
- Что такое UI-тестирование веб-приложений и какие аспекты при этом проверяются?
- Что такое кроссбраузерное тестирование и зачем оно необходимо?
- Для чего нужны инструменты разработчика (Chrome DevTools и аналоги) и как тестировщик их использует?
- Что такое валидация веб-форм и какие бывают виды валидации?
- В чем разница между аутентификацией и авторизацией?
- Как протестировать функциональность входа в систему (login) и управление сессией пользователя?
- Как бы вы протестировали веб-форму регистрации нового пользователя?
- Что такое HTTP и HTTPS? В чем их отличие и почему важно использование HTTPS?
- Что такое cookie (куки) в веб-приложениях и чем cookie отличаются от сессии?
- Что такое кэш браузера и как он влияет на тестирование веб-приложений?
- Чем отличаются Local Storage и Session Storage, и как они используются в веб-приложениях?
- Что такое архитектура «клиент-сервер» в веб-приложениях?
- Каковы роли основных технологий фронтенда – HTML, CSS и JavaScript – в работе веб-страницы?
- Что такое адаптивное (responsive) тестирование веб-приложения и что при этом проверяется?
- Что такое XSS (Cross-Site Scripting) и как выявить такую уязвимость при тестировании веб-приложения?
- Как протестировать загрузку файлов на веб-сайте?
SQL и базы данных
- Что такое SQL и как его используют тестировщики ПО?
- Каковы основные виды SQL-команд (DML, DDL, DCL, DQL) и для чего они предназначены?
- В чем разница между реляционной базой данных и NoSQL базой данных (например, PostgreSQL vs MongoDB)?
- Почему для хранения данных используют базы данных, а не текстовые файлы или таблицы Excel?
- Что такое свойства ACID и почему они важны для реляционных баз данных?
- Что такое первичный ключ и внешний ключ в базе данных? Зачем они нужны?
- Что такое нормализация баз данных и зачем она применяется?
- Что такое индекс в базе данных и как он влияет на производительность запросов?
- В чем разница между операторами GROUP BY и HAVING в SQL?
- Какие существуют типы JOIN в SQL и в чем различия между INNER JOIN и LEFT/RIGHT JOIN?
- В чем разница между операторами DELETE и TRUNCATE?
- Что такое подзапрос в SQL и когда его имеет смысл использовать?
- Какие существуют ограничения (constraints) в базах данных и зачем они нужны?
- Что такое SQL-инъекция и как ее можно обнаружить при тестировании?
- Чем отличается JOIN от UNION в SQL и когда применять каждый?
Мобильное тестирование
- Какие особенности нужно учитывать при тестировании мобильных приложений на Android и iOS?
- Что такое Android Debug Bridge (ADB) и как его использовать в тестировании мобильных приложений?
- Какие инструменты применяются для тестирования iOS-приложений? Нужно ли знание Xcode и симуляторов?
- Чем отличается эмулятор от симулятора, и как их правильно использовать в мобильном тестировании?
- На что обратить внимание при тестировании пользовательского интерфейса (UI) и опыта (UX) мобильного приложения?
- Что такое «пользовательские сценарии» в тестировании и как их использовать при проверке мобильного приложения?
- Как протестировать поведение приложения, когда оно работает в фоновом режиме или при переключении между приложениями?
- Как протестировать push-уведомления в мобильном приложении?
- Что нужно проверить при тестировании мобильного приложения в части работы с правами доступа (permissions)?
- Насколько часто мобильному тестировщику приходится работать с API и как вы тестировали бы взаимодействие приложения с сервером (API)?
- Почему важно тестировать приложение на реальных устройствах, если есть эмуляторы и симуляторы?
- Как проводить тестирование установки и обновления мобильного приложения?
- Какие бывают виды мобильных приложений и как отличается их тестирование? (Нативные, веб-приложения, гибридные)
- Как проводить тестирование мобильного приложения при разных условиях сети?
- Как проверить поведение приложения при внешних прерываниях (например, входящий звонок или сообщение)?
- Что включает в себя тестирование локализации мобильного приложения?
Автоматизация тестирования (на Python)
- Что такое Selenium WebDriver и как он используется для автоматизации тестирования UI?
- Что такое Playwright и в чем его отличия от Selenium?
- Что такое Pytest и какие преимущества он дает при автоматизации тестирования на Python?
- Какова структура типичного автоматизированного теста? (Этапы написания автотеста)
- Какие принципы и лучшие практики вы знаете при написании автотестов?
- Что такое Page Object Model и зачем он используется в UI-автотестах?
- Как реализовать ожидание элементов (Waits) в тестах и чем отличаются неявное и явное ожидание в Selenium?
- Чем отличается автоматизированное тестирование UI от тестирования API?
- Какие виды тестов или сценарии стоит автоматизировать в первую очередь, а какие лучше оставить для ручного тестирования?
- Что такое объектно-ориентированное программирование (ООП) и какие основные принципы ООП вы можете назвать?
- Что такое локаторы в UI-автоматизации? Какие существуют виды локаторов?
- Что такое CI/CD и как автоматизация тестирования вписывается в эту практику?
- Что делать, если UI-тест упал? Какие шаги предпринять для отладки причины сбоя?
- Что такое исключение Stale Element Reference в Selenium WebDriver и как его избежать?
- Что такое headless-режим браузера и зачем его применять в тестировании?
Git и CI/CD
- Что такое Git и зачем он нужен QA-инженеру?
- Какие основные команды Git вы знаете и для чего они используются?
- Что такое ветка (branch) в Git и как вы используете ветки в своей работе?
- Что такое слияние (merge) и как разрешать конфликты слияния в Git?
- Что такое Pull Request (Merge Request) и какова роль QA в этом процессе?
- Что такое CI/CD? Расшифруйте понятия Continuous Integration и Continuous Delivery/Deployment.
- Зачем нужен процесс CI/CD с точки зрения обеспечения качества?
- С какими инструментами для CI/CD вы знакомы или работали? (например, Jenkins, GitLab CI)
- Что такое pipeline (конвейер) в контексте CI/CD и какие этапы он может включать?
- Что такое job (задача) в CI/CD конвейере?
- Приходилось ли вам анализировать результаты CI/CD пайплайна? Что вы делаете, если автотесты падают в пайплайне?
- Что такое Docker и для чего он применяется?
- Как тестировщики могут использовать Docker в своей работе?
- Приходилось ли вам работать с Docker? Если да, расскажите о своём опыте.
- Чем отличается git pull от git fetch и когда какую команду стоит использовать?
Приобретайте сборник, готовьтесь к интервью и получайте оффер!
анонс