План развития · карта «QA-инженер (тестировщик)»

Индивидуальный план развития: QA-инженер (тестировщик)

Выберите текущий и целевой грейд — останутся темы, которые нужно освоить, с проверяемыми критериями, практическими заданиями и оценкой трудоёмкости. План можно скопировать в документ компании, скачать таблицей или распечатать.

1 этап Основы тестирования

Основы тестирования Основа

Junior
  • Объясняет цель тестирования и отличает QA, QC и тестирование
  • Применяет принципы тестирования — раннее тестирование, скопление дефектов, парадокс пестицида
  • Описывает, на каких этапах жизненного цикла разработки участвует тестировщик

Практика. Описать процесс разработки в знакомой команде или учебном проекте и отметить, где тестирование начинается слишком поздно.

2 этап Виды и уровни тестирования

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

Junior
  • Различает виды тестирования и выбирает подходящие для задачи
  • Объясняет уровни тестирования и пирамиду и где какие проверки дешевле
  • Проводит smoke и регрессионное тестирование по релизу и исследовательскую сессию с заметками

Практика. Для знакомого приложения составить smoke-набор из 10 проверок и провести одну исследовательскую сессию на 45 минут с отчётом.

3 этап Тест-дизайн

Тест-дизайн Основа

Junior
  • Выделяет классы эквивалентности и граничные значения для полей ввода
  • Строит таблицу решений для правил и диаграмму переходов для объекта со статусами
  • Отвечает на «протестируйте карандаш» по структуре — требования, функции, нагрузка, безопасность

Практика. Для формы регистрации составить тесты по классам эквивалентности и границам, для заказа со статусами — диаграмму переходов.

Middle
  • Сокращает число комбинаций попарным тестированием и обосновывает покрытие

Практика. Составить pairwise-набор для настроек из 5–6 параметров и сравнить его размер с полным перебором.

4 этап Требования, тест-документация и баги

Требования, тест-документация и баги Основа

Junior
  • Находит в требованиях неполноту, противоречия и непроверяемые формулировки
  • Пишет тест-кейсы и чек-листы и выбирает, что уместнее
  • Оформляет баг-репорт, который воспроизводят без вопросов, и различает серьёзность и приоритет

Практика. Разобрать требования к одной функции, написать к ней чек-лист и пять баг-репортов по найденным дефектам.

Middle
  • Составляет тест-план — объём, подход, окружение, критерии начала и окончания, риски

Практика. Написать тест-план для релиза небольшой функции и согласовать его с разработкой.

5 этап Как устроен веб

Как работает интернет Основа

Junior
  • Рассказывает путь запроса от ввода адреса до отрисовки страницы — DNS, TCP, TLS, HTTP, разбор и отрисовка
  • Объясняет разницу между IP-адресом, доменом, URL и портом
  • Объясняет, чем TCP отличается от UDP и где применяется каждый

Практика. Открыть сайт с вкладкой Network в DevTools и письменно разобрать по таймингам один запрос — DNS, соединение, TLS, ожидание, загрузка.

HTTP и HTTPS Основа

Junior
  • Называет методы и коды ответа HTTP и выбирает подходящие для своего API
  • Читает запрос и ответ в curl и DevTools — заголовки, тело, коды
  • Объясняет разницу 401 и 403, 502 и 504

Практика. Описать API ассистента (5 эндпоинтов) с методами, кодами ошибок и примерами запросов в curl.

Middle
  • Настраивает кэширование ответов заголовками Cache-Control и ETag
  • Объясняет, что дают HTTP/2 и потоковая передача для ответов LLM

Практика. Включить потоковую выдачу ответа через SSE за nginx и проверить, что ответ не буферизуется.

DNS Основа

Junior
  • Объясняет, как браузер находит IP по домену и что такое TTL
  • Проверяет записи домена через dig или nslookup

Практика. Посмотреть A, CNAME, MX и TXT записи трёх известных сайтов и объяснить, что означает каждая.

Middle
  • Планирует смену DNS-записей с учётом TTL без простоя
  • Использует dns-prefetch и preconnect для сторонних доменов

Практика. Описать план переезда сайта на новый сервер через смену DNS без простоя с учётом TTL.

Тестирование веб-приложений Основа

Junior
  • Объясняет путь запроса от браузера до сервера и обратно
  • Определяет по вкладке Network, на чьей стороне ошибка — клиента или сервера
  • Проверяет cookies и хранилища браузера и понимает, что в них хранить нельзя

Практика. Протестировать форму входа знакомого сайта через DevTools — запросы, коды ответа, cookies, поведение при медленной сети.

6 этап Тестирование API

Тестирование API Основа

Junior
  • Тестирует REST API в Postman или аналоге — статусы, тело, заголовки, негативные случаи
  • Проверяет, что без токена и с чужим токеном доступ к данным закрыт

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

Middle
  • Автоматизирует проверки API коллекциями или кодом и встраивает их в CI

Практика. Перенести проверки в автотесты (pytest и requests или аналог) и запустить их в CI.

7 этап SQL и реляционные базы

SQL и реляционные базы Основа

Junior
  • Пишет запросы с фильтрами, сортировкой, JOIN и GROUP BY
  • Проектирует таблицы для пользователей, диалогов и сообщений с внешними ключами
  • Использует параметризованные запросы и объясняет, как они защищают от SQL-инъекций

Практика. Спроектировать схему БД для чат-ассистента (пользователи, диалоги, сообщения, оценки ответов) и написать 5 запросов для аналитики диалогов.

Middle
  • Находит медленный запрос через EXPLAIN и ускоряет его индексом
  • Объясняет транзакции и выбирает уровень изоляции для конкурентных обновлений
  • Хранит эмбеддинги в PostgreSQL с pgvector рядом с обычными данными

Практика. Добавить в схему pgvector-таблицу фрагментов документов с фильтром по правам доступа, замерить время поиска до и после индекса HNSW.

8 этап Инструменты

Основы Git Основа

Junior
  • Создаёт ветку, делает осмысленные коммиты и отправляет их в удалённый репозиторий
  • Объясняет разницу между merge и rebase и не переписывает опубликованную историю
  • Отменяет изменения через revert, reset и restore в подходящих ситуациях
  • Разрешает конфликт слияния и проверяет результат тестами

Практика. Провести учебный проект через 10 веток с pull request, специально создать и разрешить 3 конфликта, откатить один неудачный коммит через revert.

Командная строка Основа

Junior
  • Перемещается по файловой системе, создаёт, копирует и удаляет файлы без файлового менеджера
  • Находит строку в сотне файлов через grep и считает совпадения пайпом
  • Задаёт переменные окружения и объясняет, почему команда «не найдена» (PATH)
  • Заходит на сервер по SSH-ключу и смотрит логи сервиса через tail -f

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

Docker Основа

Junior
  • Пишет Dockerfile для Python-сервиса и запускает его с переменными окружения
  • Поднимает сервис вместе с PostgreSQL через docker compose
  • Объясняет разницу между образом и контейнером, томом и bind mount

Практика. Упаковать FastAPI-сервис с RAG в контейнер, поднять вместе с PostgreSQL и pgvector через compose.

Middle
  • Уменьшает образ multi-stage сборкой и кэшем слоёв зависимостей
  • Настраивает корректную остановку (SIGTERM) и healthcheck
  • Не допускает секретов в образе и запускает контейнер не от root

Практика. Уменьшить образ сервиса минимум вдвое, добавить healthcheck и graceful shutdown, проверить, что незавершённые запросы к модели дорабатывают при остановке.

9 этап Автоматизация

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

Junior
  • Пишет юнит-тесты на бизнес-логику с понятными сценариями
  • Подменяет зависимости там, где это уместно

Практика. Покрыть юнит-тестами сервис расчёта стоимости заказа со скидками, включая граничные случаи.

Middle
  • Пишет интеграционные тесты с настоящей базой и брокером в Testcontainers
  • Тестирует API сервиса и обработку ошибок
  • Вводит контрактные тесты между сервисами

Практика. Написать интеграционные тесты репозитория и обработчика сообщений на Testcontainers с PostgreSQL и Kafka.

Senior
  • Выстраивает стратегию тестирования сервиса — что и каким уровнем покрывать, как держать тесты быстрыми и стабильными

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

Юнит-тесты и тесты компонентов Основа

Junior
  • Пишет юнит-тесты на Vitest для чистых функций
  • Пишет тест компонента через Testing Library, находя элементы по роли и подписи

Практика. Покрыть тестами утилиты и 3 компонента учебного проекта.

Middle
  • Подменяет сеть через MSW и тестирует асинхронное поведение
  • Покрывает тестами ключевые сценарии компонентов, а не детали реализации

Практика. Написать тесты формы оформления заказа с подменой API через MSW — успех, ошибка сервера, валидация.

Сквозные тесты — Playwright Основа

Middle
  • Пишет сквозные тесты ключевых сценариев на Playwright без фиксированных задержек
  • Запускает их в CI с трассировкой упавших тестов

Практика. Покрыть Playwright 3 ключевых сценария (вход, поиск, оформление заказа) и запустить в CI в двух браузерах.

Senior
  • Определяет, какие сценарии покрывать сквозными тестами, и борется с нестабильными тестами

Практика. Провести аудит набора e2e-тестов — убрать дублирующие, починить нестабильные, сократить время прогона.

10 этап HR-собеседование

Рассказ о себе и самооценка Основа

Junior
  • Рассказывает о себе за две минуты — опыт, сильные стороны, почему эта роль
  • Подкрепляет сильные стороны примерами, а слабую сторону называет честно вместе с тем, что с ней делает
  • Рассказывает о проекте по STAR и задаёт работодателю содержательные вопросы

Практика. Записать на видео рассказ о себе и историю проекта, пересмотреть и сократить до двух минут каждую.

Мотивация, карьера и зарплата Основа

Junior
  • Объясняет уход и выбор компании через то, к чему стремится, без критики прошлого работодателя
  • Спокойно отвечает о смене профессии, перерыве в работе и отсутствии коммерческого опыта, опираясь на факты
  • Называет зарплатные ожидания вилкой, основанной на данных рынка

Практика. Собрать по вакансиям рыночную вилку для своей роли и отрепетировать ответы о мотивации и зарплате с другом в роли рекрутера.

← Карта «QA-инженер (тестировщик)»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования