Направление

Подготовка к собеседованию — Автоматизатор тестирования (AQA)

Колода из 326+ карточек с вопросами для собеседования по направлению «Автоматизатор тестирования (AQA)» — по темам и уровню сложности, с повторениями по вашим оценкам. Посмотрите несколько карточек ниже, затем выберите доступ, чтобы учить всё направление по расписанию в стиле Anki (SM-2).

326 карточек15 тем
Посмотреть цены и начать

Новым подписчикам месяца или года может быть доступно 7 дней бесплатно. Условия и сумму подтвердит страница оплаты.

С чего начать

Нужны основы ручного тестирования и умение читать код. Общий Python предшествует автоматизации; в примерах также есть Java, TestNG и Selenide. Направление охватывает разные инструменты, а не один язык от начала до конца.

Первый проход: Теория тестирования → Техники тест-дизайна. Начните с базовых вопросов в этих модулях, затем продолжайте по плану. К сложным и senior-вопросам возвращайтесь по требованиям вакансии; все карточки доступны с самого начала.

Общие темы могут входить в несколько направлений и сохраняют одну историю повторений. План ниже отмечает общие основы и профильные модули; выбирайте глубину под свою вакансию.

Что внутри

Все темы направления, сгруппированные так, как вы будете их учить.

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

15 карточек

Профильный модуль

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

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

11 карточек

Профильный модуль

Тест-дизайн

Баг-репорты и процессы

11 карточек

Профильный модуль

Баги и процессы

HTTP, API и клиент-сервер

13 карточек

Профильный модуль

HTTP и API

Веб, мобильное и безопасность

9 карточек

Профильный модуль

Веб, мобильное и безопасность

Python

122 карточки

Общие основы

Ядро языкаМодель данных и внутренностиКонкурентность и asyncStdlib, типизация и тесты

Базы данных

42 карточки

Общие основы

Основы SQL

Selenium и Playwright

11 карточек

Профильный модуль

Selenium и Playwright

Паттерны и фреймворки автоматизации

12 карточек

Профильный модуль

Паттерны автоматизации

DevOps и инфраструктура

35 карточек

Общие основы

Docker, CI/CD и Linux

Практические кейсы и задачи

10 карточек

Профильный модуль

Кейсы и задачи

Поведенческое интервью

35 карточек

Общие основы

Поведенческое интервью

Примеры вопросов

Несколько карточек из колоды — откройте ответ, затем выберите доступ, чтобы учить весь набор по расписанию.

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

Короткий ответ: Верификация отвечает на вопрос «делаем ли мы продукт правильно» — соответствует ли он спецификации и требованиям. Валидация отвечает «делаем ли мы правильный продукт» — решает ли он реальную задачу пользователя. Verification — про соответствие документам, validation — про соответствие ожиданиям.

Подробно:

  1. Верификация — проверка соответствия артефакта его спецификации. Часто статическая: ревью требований, инспекция кода, сверка с ТЗ. Отвечает: «построили ли по чертежу?».
  2. Валидация — проверка, что готовая система закрывает потребность пользователя. Обычно динамическая: реальное выполнение, приёмочное тестирование, демо заказчику. Отвечает: «а нужен ли был этот чертёж?».
  3. Порядок — верификация раньше и дешевле, валидация ближе к релизу.
Критерий Верификация Валидация
Вопрос делаем правильно? делаем правильное?
Эталон спецификация нужды пользователя
Тип чаще статическая чаще динамическая
Пример ревью, инспекция приёмочный тест, демо

⚠️ Частая ошибка: сыпать примерами («ревью — это верификация») без двух чеканных формулировок «делаем ли правильно» / «делаем ли правильное». Именно их слушает интервьюер.

Когда достаточно лёгкого списка проверок вместо полноценных тест-кейсов?

Короткий ответ: Полноценный тест-кейс с предусловиями, шагами и ожидаемым результатом нужен там, где важна воспроизводимость и трассируемость: аудит, комплаенс, сложные многошаговые флоу. Лёгкий чек-лист достаточен для регрессии по стабильным фичам и exploratory-сессий, где важнее скорость.

Подробно:

  1. Тест-кейс — формальный документ, любой может повторить шаг в шаг; дорого писать и поддерживать.
  2. Чек-лист — список того, что проверить, без детальных шагов; быстро составить, гибко использовать.
  3. Критерий выбора — цена поддержки против требований к строгости и аудируемости.
Тест-кейс Лёгкий список проверок
Детализация шаги + ожидаемый результат пункты «что проверить»
Когда аудит, комплаенс, сложные флоу регрессия по стабильному, exploratory
Цена высокая низкая
Повторяемость точная зависит от инженера

⚠️ Частая ошибка: тянуть тяжёлые формальные тест-кейсы туда, где хватает списка проверок, и утонуть в поддержке документации вместо реального тестирования. Интервьюер хочет услышать обоснование выбора при нехватке времени.

Опишите жизненный цикл бага: какие статусы проходит дефект?

Короткий ответ: New → Assigned → In Progress → Fixed → Retest → Closed. Это основной поток, но у него есть важные ветвления: Reopened (баг вернулся после фикса), Rejected (не баг), Duplicate (уже заведён), Deferred (отложен). Ключ в ответе — назвать не только линию, но и ветки, и кто выполняет каждый переход.

Подробно:

  1. New — тестировщик завёл баг.
  2. Assigned → In Progress — лид назначил разработчика, тот взял в работу.
  3. Fixed — разработчик починил и передал на проверку.
  4. Retest → Closed — тестировщик перепроверил на новом билде и закрыл.
  5. Ветки — Reopened (тестировщик), Rejected/Duplicate (разработчик или лид), Deferred (PM отложил на потом).
 New ──► Assigned ──► In Progress ──► Fixed ──► Retest ──► Closed
 (QA)     (лид)         (dev)         (dev)     (QA)       (QA)
           │                                      │ не прошёл
           ▼                                      ▼
 Rejected / Duplicate (dev, лид)           Reopened ──► снова в работу
 Deferred (PM отложил)

⚠️ Частая ошибка: назвать только прямую линию New→Closed и забыть про ветки Reopened/Rejected/Duplicate/Deferred — именно они показывают, что вы работали с реальным трекером.

Опишите клиент-серверную архитектуру. Почему нельзя полагаться на валидацию только на клиенте?

Короткий ответ: Клиент (браузер, мобильное приложение) отправляет запрос, сервер обрабатывает его и возвращает ответ — модель request/response поверх HTTP. Полагаться на клиентскую валидацию нельзя, потому что клиент полностью под контролем пользователя: форму можно обойти через curl, Postman или DevTools и отправить на сервер любые данные. Поэтому сервер обязан валидировать сам, а QA проверяет оба слоя независимо.

Подробно:

  1. Клиент — рисует UI, делает первичную валидацию для удобства (быстрый фидбек, без лишнего трафика), хранит токен.
  2. Сервер — источник правды: проверяет права, валидирует тело, пишет в БД. Это единственный слой, которому можно доверять.
  3. Что делает QA — не только кликает по UI, но и бьёт прямо в API в обход клиента: отправляет пустые/невалидные поля, чужой id, инъекции — и смотрит, что сервер их отбил (400/403), а не сохранил.
  КЛИЕНТ                         СЕРВЕР
 ┌────────┐   request  (HTTP)  ┌─────────┐
 │  UI    │ ─────────────────► │  API    │
 │ ✔ UX-  │                    │ ✔ обяза-│
 │ валид. │ ◄───────────────── │ тельная │──► БД
 └────────┘   response         │ валид.  │
     ▲  можно обойти:          └─────────┘
     └── curl / Postman / DevTools

⚠️ Частая ошибка: считать, что раз кнопка «Отправить» блокируется на форме, невалидные данные до сервера не дойдут. UI обходится за секунду — надёжная система проверяет всё на сервере.

Что такое кроссбраузерное тестирование и как выбрать матрицу браузеров?

Короткий ответ: Кроссбраузерное тестирование — проверка, что приложение одинаково работает в разных браузерах, версиях и ОС. Матрицу строят не «все браузеры», а от аналитики трафика аудитории и риска: полный перебор браузер × ОС × разрешение нереален, поэтому его сокращают приоритизацией и pairwise-подходом.

Подробно:

  1. Отталкиваться от данных — аналитика (GA и т.п.) показывает реальные доли браузеров/ОС/устройств у вашей аудитории.
  2. Приоритет по покрытию и риску — сначала комбинации, покрывающие большинство пользователей и критичные потоки (оплата, регистрация).
  3. Сокращать перебор — pairwise/попарное тестирование даёт покрытие пар без комбинаторного взрыва.
Браузер Доля аудитории Приоритет
Chrome (Win) 58% P0
Safari (iOS) 22% P0
Chrome (Android) 12% P1
Firefox / Edge 6% P2
IE / прочие 2% не тестируем

⚠️ Частая ошибка: не суметь обосновать выбор матрицы («проверил, где было под рукой»). Интервьюер ждёт логику «данные аудитории + риск + pairwise», а не список любимых браузеров.

Чем отличаются изменяемые (mutable) и неизменяемые (immutable) типы?

Короткий ответ: Изменяемый объект можно менять на месте (list, dict, set), неизменяемый — нельзя (int, str, tuple). Перепривязка переменной и изменение объекта — разные действия.

items = [1, 2]
alias = items
items.append(3)
assert alias is items and alias == [1, 2, 3]

text = "hello"
original = text
text += " world"
assert original == "hello"  # исходная строка не изменилась

Подробно:

  • id() идентифицирует объект и постоянен в течение его жизни. То, что это адрес памяти, — деталь реализации CPython.
  • В кортеже нельзя заменить элементы, но вложенный список может изменяться. Неизменяемость не означает автоматически глубокую неизменяемость или потокобезопасность.
  • Ключ словаря и элемент множества должны быть хешируемыми: хеш остаётся стабильным, а равные объекты имеют равные хеши. Кортеж со списком нехешируем. Изменяемый экземпляр пользовательского класса может хешироваться по идентичности: хешируемость не синоним неизменяемости.
  • Функция получает ссылки на объекты. Мутация аргумента может быть видна вызывающему коду; перепривязка локального параметра не перепривязывает переменную снаружи.

Источники: Хешируемость Python, идентичность объектов.

Готовы лучше запоминать?

Посмотрите пример, выберите направление и настройте регулярную практику под свою подготовку.

Вопросы об этом направлении

Как готовиться к собеседованию на «Автоматизатор тестирования (AQA)»?

Учите концепции, которые придётся объяснять, а не только те, что умеете кодить. Направление «Автоматизатор тестирования (AQA)» в RecallDeck даёт 326+ отобранных вопросов и возвращает каждый по расписанию в стиле Anki (SM-2), основанному на ваших оценках — чтобы тренировать вспоминание и объяснение. Дополняйте повторения кодингом и пробными собеседованиями.

Какие темы охватывает направление «Автоматизатор тестирования (AQA)»?

Направление «Автоматизатор тестирования (AQA)» разбито на ключевые области, которые реально проверяют на таких собеседованиях, — по темам и уровню сложности (Concept, Junior, Middle, Senior). Полный план и примеры вопросов можно посмотреть выше до входа.

Помогает ли интервальное повторение в подготовке к «Автоматизатор тестирования (AQA)»?

Да. Активное вспоминание и честная самооценка помогают закреплять знания. RecallDeck назначает повторения карт по направлению «Автоматизатор тестирования (AQA)» на основе ваших оценок: знакомые карты возвращаются реже, а сложные получают больше практики.

Можно попробовать направление «Автоматизатор тестирования (AQA)» до оплаты?

Новым подписчикам месячного или годового тарифа может быть доступен пробный период семь дней со всем направлением «Автоматизатор тестирования (AQA)» и всеми функциями. Право на него и сумму подтвердит страница оплаты; при повторной подписке списание может быть сразу. Отмените подписку онлайн до конца пробного периода, чтобы избежать первого списания. У вечного доступа пробного периода нет.

Другие направления