Топ вопросов на собеседовании QA с ответами

Общие вопросы

В чем разница между QA и тестировщиком?
QA охватывает весь процесс разработки продукта, включая планирование, контроль и улучшение процессов, чтобы предотвратить дефекты. Тестирование же сосредоточено на выявлении дефектов в уже созданном продукте.
Что такое SDLC?

SDLC (Software Development Life Cycle) — жизненный цикл программного обеспечения.

Ключевые этапы: Планирование, Анализ, Дизайн, Реализация, Тестирование, Поддержка.

В чем разница между аутентификацией и авторизацией?

Аутентификация — это процесс подтверждения личности пользователя.
Она отвечает на вопрос: "Является ли пользователь тем за кого себя выдает?"

Авторизация — это процесс предоставления или отказа в доступе на основании прав и привилегий пользователя.
Она отвечает на вопрос: "Что пользователю разрешено делать?"

Начнете тестирование с позитивного или негативного сценария?
С позитивного , так как это целевой сценарий использования системы пользователем, корректность которого важно проверить в первую очередь.

Работа в команде

Вы получили задачу на тестирование, будете с кем-либо коммуницировать по ней?
В первую очередь необходимо изучить требования и задать сопутствующие вопросы аналитику. При возникновении вопросов по реализации можно уточнить детали у разработчика фичи.

Техники тест-дизайна

Виды тестирования

Что такое регрессионное тестирование?
Регрессионное тестированиеэто тип тестирования, направленный на подтверждение того, что недавно внесенные изменения в код не повлияли негативно на существующий функционал системы.
В чем отличие регресса от ретеста?
Регресс: проверяет, что изменения не вызвали новые дефекты в других частях системы.
Ретест: проверяет, что исправленный дефект действительно был устранен.

Уровни тестирования

Расскажите про уровни тестирования по критериям: скорость, количество тестов.

Тут уместно вспомнить про пирамиду тестирования.

Уровень тестирования Скорость Количество тестов
Модульное тестирование Высокая Большое
Интеграционное тестирование Средняя Среднее
Системное тестирование Низкая Минимальное

Тестовая документация

Чем отличаются поля severity от priority в баг репорте?

Severity (Серьезность): оценивает техническое влияние бага на функциональность системы.

Priority (Приоритет): оценивает срочность и критичность исправления бага с точки зрения бизнеса.

Приведите пример бага с высоким priority и низким severity.

Опечатка в названии компании на главной странице.

HTTP протокол

Назовите HTTP коды ответов и в каких случаях они возвращаются.
Код Описание
100-199 Информационные
200-299 Успешно
300-399 Перенаправление
400-499 Ошибка клиента
500-599 Ошибка сервера
Подробнее про статус коды.
Запрос с методом GET может иметь тело?

Да. На уровне протокола это никак не ограничено и зависит только от того, как разработчик реализовал эндпоинт.

Человек не может знать всё, в том числе интервьюер может заблуждаться. Аргументируйте ответ, если уверены в его правильности.
Назовите идемпотентные и неидемпотентные методы.

Идемпотентные методы — это методы, вызов которых повторно с одним и тем же набором данных приведет к одному и тому же результату, без побочных эффектов для сервера.

Неидемпотентные методы влияют на состояние сервера, например, они могут изменять данные в базе данных.

Идемпотентность Методы
Идемпотентные GET, HEAD, PUT, DELETE, OPTIONS, TRACE
Неидемпотентные POST, PATCH
Чем отличается HTTP от HTTPS?

HTTP (HyperText Transfer Protocol): Данные передаются в открытом виде, без шифрования. Любой, кто перехватит трафик между браузером и сервером, потенциально может прочитать передаваемую информацию.

HTTPS (HyperText Transfer Protocol Secure): Данные шифруются с использованием SSL/TLS (Secure Sockets Layer / Transport Layer Security). Требует наличия SSL/TLS-сертификата, подтверждающего подлинность ресурса.

Форматы данных

Опишите данные в JSON формате (имя Котофей, возраст 5).
{
    "name": "Котофей",
    "age": 5
}
Не стесняйтесь задавать вопросы, если сомневаетесь, что корректно описали JSON. Спросите интервьюера можно ли использовать онлайн валидатор для проверки (в поиске json validator). Валидатор подскажет, в каком месте была нарушена структура.
Где описывается структура при передаче данных в формате XML?

В XSD схеме (XML Schema Definition) — файле с форматом .xsd. Схема XSD определяет элементы и атрибуты, которые могут быть использованы в XML документе, типы данных и ограничения.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="cat">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="age" type="xs:int"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Не бойтесь говорить, что не работали с XML/XSD — преимущественно на современных проектах используется JSON. Просто будьте готовы ответить на вопрос, XML — это всего лишь еще один формат записи данных.

DevTools

Сервер хранит на клиенте cookie, как их посмотреть в браузере?
  1. Открыть DevTools
  2. Перейти на вкладку Application
  3. В левой панели выбрать Cookies
  4. Кликнуть на URL сайта
  5. Отобразится таблица с именами, значениями и другими атрибутами cookie
Как посмотреть тело запроса, передаваемого фронтом в браузере?
  1. Открыть DevTools
  2. Перейти на вкладку Network
  3. Отправить запрос на фронте
  4. Выбрать нужный запрос из списка
  5. Перейти на вкладку Payload
Где можно посмотреть ответ сервера в браузере?
  1. Открыть DevTools
  2. Перейти на вкладку Network
  3. Отправить запрос на фронте
  4. Выбрать нужный запрос из списка
  5. Перейти на вкладку Response

Архитектура

Плюсы и минусы монолитной и микросервисной архитектуры при тестировании.

Монолитвсе компоненты системы объединены в единое приложение.

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

Архитектура Плюсы Минусы
Монолит
  • Легче установить и настроить окружение для тестирования
  • Регресс сложно проводить из-за потенциального влияния доработки на любую область монолита
Микросервисы
  • Регресс легко проводить, так как компоненты изолированы
  • Сложность настройки и управления окружением
  • Сложность проведения интеграционного тестирования
  • Сложность выявления проблем