Перейти к основному содержимому

Дополнительные модули для тестировщика

Тестировщику Аналитику
Теория данных (раздел 3)

Типичный курс QA включает не только тест-дизайн и автоматизацию, но и Git, HTTP, базовые алгоритмы, soft skills и английский. Здесь — карта: что уже есть в энциклопедии, в каком порядке читать и где практиковаться. Эта карта поможет вам сориентироваться в материалах энциклопедии, выстроить пошаговый план обучения QA и найти лучшие площадки для практики.

  1. Читайте основы тестирования. Введение в QA, жизненный цикл ПО (STLC), виды и уровни тестирования, техники тест-дизайна (эквивалентное разделение, граничные значения, QA-матрицы). Задача - научиться правильно искать баги и оформлять тест-кейсы и баг-репорты.
  2. Сети и протоколы (HTTP). Изучайте такой фундамент, как модель OSI, структура HTTP-запросов и ответов, методы (GET, POST, PUT, DELETE), коды ответов сервера, основы REST API. Нужно понимать, как клиент общается с сервером, и уметь тестировать API.
  3. Познакомьтесь с системами контроля версий - что такое Git, основные команды (clone, add, commit, push, pull), работа с ветками (branch, checkout, merge) и разрешение конфликтов. Нужно уметь сохранять свой код автоматизации и работать в команде.
  4. Запомните базовые алгоритмы и изучайте программирование. Переменные, циклы, условия, структуры данных (массивы, списки, словари), базовые алгоритмы сортировки и поиска. Нужно развить алгоритмическое мышление для написания автотестов.
  5. Автоматизация тестирования - следующий этап, тогда уже предстанут выбор языка (Python/Java/JavaScript), основы Selenium WebDriver или Playwright, паттерн Page Object Model (POM), запуск тестов. Всё это чтобы автоматизировать рутинные проверки UI и API.
  6. Soft Skills и Английский язык для таких целей, как развитие коммуникации, работа в команде (Agile/Scrum), прохождение собеседований. IT-терминология и подтяжка технического английского позволят успешно пройти интервью и комфортно работать на проекте.

Как устроен маршрут QA

Блок курсаГде в энциклопедииКомментарий
Основы QA, документы, тест-дизайнОсновыДокументация тестировщикаТехники проектирования тестовЯдро профессии
Ручное веб-тестированиеРучное тестирование веб-приложенийDevTools, Network, smoke
API, HTTP, PostmanТестирование и анализ API · раздел интеграцииcurl, DevTools, pytest
SQL для проверки данныхSQL для тестировщика · SQL10 шаблонов + углубление
Автоматизация и пирамидаАвтоматизация тестирования · Инструменты для ручного и автоматизированного тестированияСтратегия + каталог инструментов
Практикум PythonПодготовка среды и создание первого тестаПроверка надежности под нагрузкойpytest, API, Selenium, нагрузка
Практикум JavaПрактикум Java — JUnit и REST Assured · JUnit в каталогеJUnit 5, REST Assured
Практикум JavaScriptПрактикум JavaScript — Playwright и Jest · Jest в каталогеPlaywright, Postman-скрипты
Мобильное тестированиеОсобенности тестирования мобильных приложенийAppium, Espresso, XCUITest, Maestro
Gitсм. раздел нижеМинимум для QA в команде
Бонус-модулиэтот материалАлгоритмы, soft skills, английский
Про статьи 1271–1273

Самовосстанавливающиеся тесты, Инструменты с низким кодом для тестирования и Тестирование нейроморфных системуглублённые темы (self-healing, low-code, нейроморфные системы), а не базовые бонус-модули курса. Их можно читать после основного маршрута.


Git — минимум для тестировщика

Для тестировщика (как ручного, так и автоматизатора) Git необходим, чтобы забирать актуальный код разработчиков, фиксировать свои автотесты или обновлять тестовые артефакты в репозитории проекта:

  • Подготовка и получение проекта
  • Работа с ветками (Branches)
  • Сохранение изменений
  • Синхронизация с сервером (GitHub, GitLab, Bitbucket)

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

QA-инженер работает с Git так же, как разработчик — хранит автотесты, коллекции Postman, чек-листы в Markdown, конфиги CI.

Задача QAКоманда / действиеГде подробнее
Склонировать репозиторий с тестамиgit cloneКак работать с Git
Создать ветку под задачуgit checkout -b feature/QA-123-login-testsВетвление
Зафиксировать измененияgit addgit commitКак работать с Git
Отправить на reviewgit push → Pull RequestВетвление и слияние в Git
Подтянуть свежий maingit pull / git fetch + mergeКак работать с Git
Не коммитить секреты.gitignore, env-файлыФайл .gitignore

Шпаргалка на каждый день12 команд Git.

Запуск тестов в пайплайне после push — DevOps и CI/CD.


HTTP — что должен знать QA

HTTP — язык общения браузера, мобильного клиента и Postman с сервером. Без него сложно читать Network в DevTools и оформлять баг-репорты.

Для тестировщика HTTP — это главный инструмент понимания того, как веб-приложения общаются между собой. Без этих знаний невозможно тестировать REST API, разбираться в логах или находить причины багов на стыке фронтенда и бэкенда. Вы должны четко понимать, из чего состоят сообщения, которыми обмениваются клиент (браузер/Postman) и сервер, наизусть знать группы кодов и самые популярные статусы, чтобы мгновенно понимать, в чем проблема.

ТемаМинимумСтатья
МетодыGET, POST, PUT/PATCH, DELETEТестирование и анализ API
Коды ответа2xx успех, 4xx клиент, 5xx серверРучное тестирование веб-приложений, Тестирование и анализ API
ЗаголовкиContent-Type, Authorization, CookieТестирование и анализ API
Тело запросаJSON, form-dataТестирование и анализ API
RESTресурсы, эндпоинты, идемпотентностьAPI - интерфейсы прикладного программирования
Инструментыcurl, Postman, DevTools NetworkТестирование и анализ API, Ручное тестирование веб-приложений, утилита curl, curl / fetch — примеры

Алгоритмы — для собеседований и логики

Для ручного QA алгоритмы не обязательны. Для автоматизатора и собеседований в крупные компании полезен базовый набор задач на массивы, строки и хеш-таблицы.

На собеседованиях на позицию QA (особенно в автоматизацию Automation QA) алгоритмы проверяют, чтобы оценить вашу логику, умение оптимизировать код и знание базовых структур данных. От тестировщика редко требуют решать задачи уровня Hard на LeetCode, но базу знать необходимо. Прежде чем писать алгоритмы, нужно понимать, где хранятся данные. Алгоритмы конечно писать с нуля в реальной автоматизации не придется (есть встроенные методы sort()), но на собеседовании могут попросить реализовать руками для проверки логики.

ПаттернПример задачиЗачем QA
Подсчёт частотСколько раз встречается символ в строкеПарсинг логов, группировка багов
Два указателяЕсть ли дубликат в отсортированном массивеПроверка уникальности id
Хеш-таблица (dict / Map)Найти пару чисел с заданной суммойБыстрый поиск в тестовых данных
Стек / очередьПроверка скобочной последовательностиВалидация JSON, XML
Бинарный поискНайти элемент в отсортированном спискеПоиск в больших логах

Практика


Soft skills — часть работы QA

В работе тестировщика soft skills (гибкие навыки) важны не меньше, чем знание кода или тест-дизайна. QA находится на стыке всех участников проекта: он общается с разработчиками, менеджерами, дизайнерами и бизнесом. Главная задача тестировщика — не просто найти баг, а сделать так, чтобы его исправили, не разрушив при этом рабочую атмосферу.

Никто не любит, когда говорят, что их работа выполнена плохо. Разработчики могут болезненно реагировать на баги. Не говорите «Ты написал кривой код» или «Твоя фича не работает». Говорите фактами: «В приложении падает ошибка при вводе спецсимволов», «Поведение системы отличается от требований». Если вы нашли баг или неудобную логику, не просто фиксируйте проблему, а мягко предложите вариант улучшения. Разработчики ценят QA, которые думают о продукте, а не просто ставят крестики в чек-листах.

Тестировщик много общается — уточняет требования, спорит о severity, пишет понятные баг-репорты, участвует в ретро.

Понимайте, что коллеги могут быть уставшими или поджимать дедлайны. Прежде чем бежать со статусом «Блокирующий баг», оцените реальную критичность проблемы.

НавыкПроявление в QAМатериал
Ясная письменная речьБаг-репорт, тест-кейсДокументация тестировщика
Уточняющие вопросыАнализ ТЗ до тестированияАналитика
Обратная связь без конфликтаОбсуждение "баг или фича"Soft skills в IT
Работа в Agile-командеDaily, ретро, приоритетыScrum
Коммуникация со стейкхолдерамиПриёмка, UAT spec127 аналитики

Английский — для документации и карьеры

Идеальный C1 не нужен для старта. Достаточно читать документацию и понимать термины в Jira, Confluence, Stack Overflow.

Вся актуальная техническая документация, описания библиотек для автотестов (Selenium, Playwright) и интерфейсы баг-трекеров (Jira) создаются на английском. Без него карьерный рост до позиций Middle/Senior или переход в зарубежную компанию невозможны.

  • Письменный английский - база, которая нужна с первого дня работы даже на локальном рынке.
  • Устный английский нужен для работы в международных командах или на аутсорс-проектах.
УровеньЧто делатьМатериал
Старт50 базовых терминов QA и HTTPАнглийский в IT
ЧтениеДокументация pytest, Selenium, PostmanПрактикум чтения
СобеседованиеОписать последний проект 2–3 минутыКарьера в IT

Типичные термины в работе — test case, regression, assertion, endpoint, payload, staging, flaky test, severity, priority.


Три языка для автотестов — как выбрать

ЯзыкКогда выбираютПрактикумФреймворки
PythonСтарт в автоматизации, ML/данные рядомПодготовка среды и создание первого тестаПроверка надежности под нагрузкойpytest, Playwright, requests
JavaEnterprise, Android, банки, REST Assured в стекеПрактикум Java — JUnit и REST AssuredJUnit 5, TestNG, Selenium, REST Assured
JavaScriptФронтенд-команда, React/Vue, Postman-скриптыПрактикум JavaScript — Playwright и JestJest, Playwright, Cypress

Выбор языка для автоматизации (Automation QA) зависит от ваших целей, бэкграунда и рынка, на котором вы планируете искать работу. Главное правило — учите не язык, а автоматизацию (паттерны, архитектуру, работу с API и базами данных), так как эти концепции одинаковы везде.

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

Если вы планируете тестировать современные веб-приложения (SPA на React, Vue, Angular) и хотите работать на одном языке с фронтенд-разработчиками, выбирайте JS/TS.

Java — это тяжелая артиллерия. На этом языке написаны банковские системы, ритейл-гиганты и масштабные государственные сервисы. Подойдёт тем, кто нацелен на стабильную карьеру в банках, финтехе или крупных международных корпорациях, и готов к долгому обучению.

Один язык для старта достаточен. Паттерны (Arrange–Act–Assert, Page Object, фикстуры) переносятся между языками. Углублённый Playwright (архитектура, Allure, портфолио) — Playwright.


Чек-лист готовности к junior QA

Junior QA (младший специалист по тестированию) — это стартовая позиция в сфере обеспечения качества программного обеспечения, на которой специалист выполняет базовые задачи под руководством опытных коллег. Главная цель джуниора — учиться, нарабатывать опыт и разгружать команду от рутинных проверок.

В дальнейшем можно развиваться дальше как ручной тестировщик (Manual QA), уйти в автоматизацию (Automation QA), нагрузочное тестирование или со временем вырасти в QA Lead / Project Manager. До Middle QA обычно переход занимает от 1 до 2 лет активной работы.


Навигация по разделу "Тестирование"