О разделе
Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.
Раздел для тех, кто проверяет, что программа работает так, как задумано — и умеет это доказать. Здесь и теория (виды тестов, жизненный цикл, тест-дизайн), и практика (Postman, pytest, Selenium, нагрузка).
Если вы только входите в профессию — не пытайтесь прочитать всё подряд. Ниже маршрут — сначала "что и зачем", потом "как проверять руками и в документах", затем инструменты и автоматизация.
Код и тест-кейсы от LLM без review — типичный нейрослоп; вставка "как сгенерировало" — вайб-кодинг. QA остаётся обязательным фильтром перед продом.
Для SQL-проверок и API-тестов с данными поставьте PostgreSQL локально (или в Docker) и держите учебную базу под рукой.
Установка — Первые шаги с SQL; запросы для QA — SQL для тестировщика; практика по СУБД — PostgreSQL — практическая работа; готовый compose.yaml для Postgres — стек №3 в галерее Compose.
Play ITЗагрузка интерактивного демо…
С чего начать
| Шаг | Материал | Содержание |
|---|---|---|
| 0 | Добро пожаловать в тестирование | Полный вход для новичка в QA, маршрут 2 недель |
| 1 | Основы тестирования | Что такое QA, баг/дефект, роли, виды проверок |
| 2 | Классификация видов тестирования | Black-box, уровни, функциональное и нефункциональное |
| 3 | Документация тестировщика | Чек-листы, кейсы, баг-репорты |
| 4 | Основы веб-тестирования — маршрут | Браузер, HTTP, backend, формы, NFR — карта тем |
| 5 | Ручное тестирование веба | Чек-лист UI, Network, сессии |
| 6 | Техники проектирования тестов | Эквивалентные классы, границы, таблицы решений |
| 7 | SQL для тестировщика | Проверка данных в БД |
| 8 | Тестирование и анализ API · curl / fetch — примеры · Fetch / axios — типовые запросы · Bash — health-check в shell · Практикум — API-тестер на Groovy | Postman, curl, DevTools; desktop-клиент на Groovy + JMeter для разработчиков JVM |
| 8a | GitHub Actions — CI/CD рецепты · DevOps | Запуск pytest / npm test в pipeline, badge в README |
| 9 | Подготовка среды и первый тест | Первый автотест на pytest (SDET) |
| 10 | Unit, Integration, UI, E2E, TDD и BDD | Карта уровней тестов и практик разработки |
| 11 | Тренируем TDD | Практика цикла Red-Green-Refactor (лабораторный кейс) |
После шагов 1–6 вы уже можете работать ручным QA на веб-проектах. Шаги 7–10 добавляют SQL, API, автоматизацию и системную карту уровней тестирования. Шаг 11 — закрепление TDD на учебной задаче.
На проектах внедрения ERP (в т.ч. 1С) к dev/test/prod часто добавляют контур master для регрессии перед релизом — см. Разработка и ОЭ ERP.
Полный маршрут курса QA
Маршрут по ролям
Ручной тестировщик / QA-аналитик
- Основы → Жизненный цикл → Артефакты качества → Документация
- Маршрут веб-тестирования → Тест-дизайн → Ручное веб-тестирование → E2E → API → SQL
- По продукту: Мобильные
Автоматизатор (SDET)
- База из таблицы выше
- Автоматизация → Playwright или Selenium → Unit → White-box: потоки управления и данных → Покрытие кода → Integration
- Карта уровней и подходов — чтобы не путать уровни тестов (Unit/Integration/UI/E2E) и практики (TDD/BDD)
- Практика по языку: Python Подготовка среды и создание первого теста → Проверка надежности под нагрузкой · Java Практикум Java — JUnit и REST Assured · JavaScript Практикум JavaScript — Playwright и Jest
- Бонус-модули — Git, HTTP, алгоритмы, soft skills, английский
Нагрузка и безопасность
- Нагрузочное и стресс-тестирование → практика Проверка надежности под нагрузкой
- Тестирование информационной безопасности
Качество автотестов (для любознательных)
- Мутационное тестирование — насколько unit-тесты реально ловят ошибки в коде
Как устроен раздел
| Блок | Статьи | Комментарий |
|---|---|---|
| Фундамент | 1, 111, 112, 116, 117 | Термины, процесс, уровни — читайте один раз, возвращайтесь при необходимости |
| Веб для QA | 132, 128 | Маршрут тем и ручные чек-листы |
| Процесс и документы | 113, 119 | Артефакты и документация |
| Тест-дизайн | 127 | Как выбирать, что проверять |
| Данные | 129 | SQL для QA |
| По типам тестов | 2, 114, 120–126, 130, 131 | API, E2E, unit, integration, perf, security, mobile; структурные тесты — White-box — тестирование потоков управления и данных (CFG, data flow); карта уровней и практик — Unit, Integration, UI, E2E, TDD и BDD; глубина unit — Мутационное тестирование |
| Инструменты | 118, 1181, 1182, 115 | Каталог, Selenium, Playwright, стратегия автоматизации |
| Практикум | 1011–1016 | Python, Java, JavaScript — автотесты и сценарии |
| Бонус-модули | Дополнительные модули для тестировщика | Git, HTTP, алгоритмы, soft skills, английский |
| Углубление | 1271–1273 | Self-healing, low-code, нейроморфные системы (опционально) |
| Лаборатория | TDD · Конвертер файлов — ручной QA | TDD вне 1011; ручной тест-дизайн на учебном консольном приложении |
| Итог | Чек-лист самопроверки | 50 вопросов — когда пройдёте основной маршрут |
Жизненный цикл тестирования — что делает команда QA на уровне процесса (планирование → отчёт). Последовательность этапов — в каком порядке проверять (unit → integration → system → UAT). Статьи дополняют друг друга, не дублируют.
- SQL для проверки данных в БД: SQL для тестировщика и раздел SQL; практика по СУБД — PostgreSQL, MySQL, SQLite, SQL Server
- HTTP и Postman глубже — Основы интеграции, утилита curl, curl / fetch — примеры, Fetch / axios — типовые запросы
- CI/CD и запуск тестов в пайплайне: DevOps, GitHub Actions — рецепты; установка зависимостей в job — Манифесты зависимостей
- Карьера и роли: Карьера в IT
- Стадия конструирования и V-модель (unit на этапе кода): Конструирование ПО
- Курс "экономика производства ПО" (COCOMO, ISO 25010, приёмка): 7-13
- Теория данных (транзакции, целостность, batch): Основы БД · конкурентный доступ · пакетная работа
- Базовая теория (глава 4) — что именно тестируете в коде:
| Вопрос QA | Теория |
|---|---|
| Что такое unit: функция, класс, модуль | Код — о разделе |
| White-box, ветвления, сложность | Алгоритмы — о разделе · цикломатическая сложность |
| Моки и зависимости | Зависимости — о разделе |
| TDD, рефакторинг после Green | Методы рефакторинга · карта уровней и TDD |
| Отладка найденного дефекта | Разработка и отладка — о разделе |
| DevTools, Network при веб-тестах | DevTools в браузере |
Частые ошибки при изучении
| Ошибка | Что делать |
|---|---|
| Сразу Selenium, без основ | Сначала шаги 1–4: без тест-дизайна автотесты превращаются в хрупкий скрипт |
| Только теория, без практики | После 119 напишите 3 кейса и 1 баг-репорт по любому сайту |
| Путаница "QA = только автотесты" | Ручная проверка, анализ требований и документы — ядро профессии; код — усиление |
Чтение 118 целиком | Это справочник; открывайте нужный инструмент по задаче |
Что попробовать сегодня
- Пройдите шаг 1 из таблицы "С чего начать".
- На любом сайте найдите одну ошибку или неудобство — оформите баг-репорт по шаблону из статьи.
- Откройте интерактивный каталог инструментов — сопоставьте уровни тестов с инструментами.
Навигация по разделу "Тестирование"
- Маршрут: О разделе · Резюме раздела · Карта уровней и практик (Unit / Integration / UI / E2E, TDD, BDD)
- Теория и процесс: Основы · Классификация · Жизненный цикл · Порядок этапов · Артефакты качества
- Уровни проверок: Unit · Integration · E2E, системное и UI · API · Тестовые дублёры · Покрытие кода · White-box · Мутационное тестирование
- Веб для QA: Маршрут веб-тестирования · Ручное веб
- Практика QA: Документация · Тест-дизайн · SQL
- Автоматизация: Стратегия и пирамида · Каталог инструментов · Selenium · Playwright
- Практикум: Подготовка среды и создание первого теста · Проверка взаимодействия компонентов · Проверка пользовательского сценария · Проверка надежности под нагрузкой · 1015 Java · 1016 JS
- Бонус и углубление: Дополнительные модули для тестировщика · Мобильное · Нагрузка · Безопасность · Самовосстанавливающиеся тесты · Инструменты с низким кодом для тестирования · Тестирование нейроморфных систем · Самопроверка
- Лаборатория: Тренируем TDD
Добро пожаловать в тестирование
Вводное руководство по профессии инженера по качеству с описанием обязанностей, структуры рабочего процесса и детального плана адаптации на старте карьеры.
Основы тестирования программного обеспечения
Фундаментальные принципы тестирования программного обеспечения с разбором терминологии, цепочки выявления дефектов, методов верификации и валидации, а также распределения ролей в команде.
Подготовка среды и создание первого теста
Юнит-тест представляет собой автоматизированную проверку отдельной единицы программного кода.
Проверка взаимодействия компонентов
Практическое занятие и реализация интеграционного теста.
Проверка пользовательского сценария
Практическое занятие и реализация ручного тестирования.
Проверка надежности под нагрузкой
Практическое занятие и реализация нагрузочного тестирования.
Практикум Java — JUnit и REST Assured
Первый автотест на Java для QA: JUnit 5, REST Assured и проверка HTTP API без браузера.
Практикум JavaScript — Playwright и Jest
Первый автотест на JavaScript для QA: Jest для unit-проверок и Playwright для E2E в браузере.
Классификация видов тестирования
Систематизация методов контроля качества программного обеспечения по уровню доступа к коду, стадии жизненного цикла и степени интеграции компонентов системы.
Жизненный цикл тестирования
Основные фазы - планирование и контроль, анализ и проектирование, реализация и выполнение, оценка критериев, отчетность.
Артефакты качества в проекте
Классификация артефактов обеспечения качества с описанием их целевого назначения, принципов формирования и роли в управлении жизненным циклом программного продукта.
End-to-End и системное тестирование
Сравнительный анализ системного и сквозного тестирования с разбором границ применимости, сценариев проверки пользовательских путей и методов валидации интеграционных потоков.
Автоматизация тестирования
Инструменты автоматизации тестирования - Selenium, Playwright, pytest, CI интеграция, пирамида тестов и стратегии снижения затрат на ручные проверки.
Последовательность этапов тестирования
Порядок тестирования, как правильно проектировать стратегию реализации контроля качества.
Объекты и уровни тестирования
Иерархия уровней контроля качества программного обеспечения с классификацией проверяемых объектов, распределением ответственности и стратегиями построения тестовых сценариев.
Инструменты для ручного и автоматизированного тестирования
Обзор инструментов ручного и автоматизированного контроля качества с описанием экосистемы нагрузочного тестирования, требований к окружению и практиками интеграции в рабочий процесс.
Selenium
Специальный инструмент для автоматизированного тестирования.
Playwright
Playwright для QA и SDET — архитектура UI-автотестов, локаторы, SPA/React, Page Object, pytest, Allure, CI и карьера.
Документация тестировщика
Структура и содержание тестовой документации с разбором типов артефактов, методик составления планов, кейсов, отчётов и дефектов для обеспечения прозрачности процесса.
Юнит-тестирование
Методология модульной верификации программного кода с проверкой функций, методов, классов и структурных элементов для обеспечения корректности работы изолированных компонентов.
Интеграционное тестирование
Методы контроля качества взаимодействия программных модулей с проверкой контрактов интерфейсов, потоков данных и согласованности работы объединённых компонентов системы.
Нагрузочное и стресс-тестирование производительности
Специализированные методы верификации, направленные на оценку устойчивости, пропускной способности и предсказуемости поведения системы.
Тестирование информационной безопасности
Методология верификации защищённости программных систем с выявлением уязвимостей, анализом векторов атак и документированием результатов для повышения устойчивости инфраструктуры.
Особенности тестирования мобильных приложений
Специфика контроля качества программного обеспечения для мобильных платформ с учётом ограничений аппаратного обеспечения, сенсорного ввода и особенностей жизненного цикла приложений.
Мутационное тестирование
Метод оценки полноты тестового покрытия через контролируемое внесение синтетических изменений в исходный код и анализ эффективности обнаружения внесённых модификаций.
Покрытие кода и метрики полноты тестирования
Система метрик полноты контроля качества программного обеспечения с анализом покрытия кода, ветвей исполнения и условных выражений для оценки надёжности продукта.
Техники проектирования тестов
Тест-дизайн — как выбрать проверки, которые ловят дефекты при ограниченном времени.
Самовосстанавливающиеся тесты
Самовосстанавливающиеся тесты адаптируются к изменениям интерфейса и API, снижая стоимость поддержки автотестов.
Инструменты с низким кодом для тестирования
Low-code и No-code платформы представляют собой класс программного обеспечения, позволяющий создавать приложения и автоматизировать процессы через визуальные интерфейсы и конфигурацию параметров.
Тестирование нейроморфных систем
Специализированный подход к проверке нейроморфных чипов — нишевый материал, не входит в базовый маршрут QA.
Дополнительные модули для тестировщика
Git, HTTP, алгоритмы, soft skills и английский — маршрут бонус-модулей для QA и ссылки на языковые практикумы Java, JavaScript и Python.
Ручное тестирование веб-приложений
Чек-листы и практический порядок проверки сайта глазами пользователя — формы, сессии, сеть, кроссбраузерность и типичные баги.
SQL для тестировщика
Практическое руководство по работе с реляционными базами данных для инженеров контроля качества с разбором типовых запросов, методов валидации и интеграции с UI-проверками.
White-box — тестирование потоков управления и данных
Методология белого ящика с анализом графов потока управления, проверкой внутренних ветвей исполнения и верификацией трансформации данных внутри программных модулей.
Unit, Integration, UI, E2E, TDD и BDD
Систематизация уровней верификации и практик разработки через тесты с рекомендациями по выбору методологии, интеграции в рабочий процесс и построению пирамиды проверок.
Основы тестирования веб-приложений — маршрут для QA
Полная карта тем веб-тестирования — браузер, HTTP, backend, формы, SPA, нефункциональные проверки и ссылки на материалы энциклопедии.
Тестирование и анализ API
Методология исследования и верификации программных интерфейсов с систематизацией подходов, инструментов анализа и последовательности проверок контрактов данных.
Тестирование программного обеспечения — итоги
Итоговое обобщение раздела контроля качества программного обеспечения с систематизацией ключевых тем, установлением связей между методологиями и формированием маршрута дальнейшего изучения.
Тестирование программного обеспечения — чек-лист
Диагностический перечень вопросов для оценки уровня освоения методологий контроля качества, выбора подходящих инструментов и построения индивидуальной траектории профессионального развития.
Тестирование программного обеспечения — о разделе
Навигационный маршрут по разделу контроля качества программного обеспечения с последовательным изучением основ, методов верификации интерфейсов, практик автоматизации и нагрузочного тестирования.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Тестирование ПО — Основы бизнеса для IT-специалиста, Программные платформы, Корпоративное ПО, Платформенные решения в бизнесе, Аутентификация и авторизация, Основы интеграционного взаимодействия — о разделе.