О разделе
Длинные листинги (от ~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
Добро пожаловать в тестирование
Вступление для новичков в QA — кто такой тестировщик, как устроена работа и маршрут первых двух недель.
Основы тестирования программного обеспечения
Что такое тестирование, чем оно отличается от QA, цепочка ошибка→дефект→сбой, верификация и валидация, виды проверок и роли в команде.
Подготовка среды и создание первого теста
Юнит-тест представляет собой автоматизированную проверку отдельной единицы программного кода.
Проверка взаимодействия компонентов
Практическое занятие и реализация интеграционного теста.
Проверка пользовательского сценария
Практическое занятие и реализация ручного тестирования.
Проверка надежности под нагрузкой
Практическое занятие и реализация нагрузочного тестирования.
Практикум Java — JUnit и REST Assured
Первый автотест на Java для QA: JUnit 5, REST Assured и проверка HTTP API без браузера.
Практикум JavaScript — Playwright и Jest
Первый автотест на JavaScript для QA: Jest для unit-проверок и Playwright для E2E в браузере.
Классификация видов тестирования
Тестирование разных признаков - доступ к коду, модульное, интеграционное, системное, приёмочное и прочие.
Жизненный цикл тестирования
Основные фазы - планирование и контроль, анализ и проектирование, реализация и выполнение, оценка критериев, отчетность.
Артефакты качества в проекте
Что такое артефакты, каким целям и принципам они служат.
End-to-End и системное тестирование
Системное тестирование, в чём суть и чем отличается E2E.
Автоматизация тестирования
Использование программных средств для выполнения проверок без вмешательства человека.
Последовательность этапов тестирования
Порядок тестирования, как правильно проектировать стратегию реализации контроля качества.
Объекты и уровни тестирования
Тестирование программного обеспечения предполагает верификацию поведения отдельных компонентов и системы в целом при контролируемых и воспроизводимых условиях.
Инструменты для ручного и автоматизированного тестирования
Locust — это инструмент для нагрузочного тестирования, который устанавливается как обычная библиотека Python. Для корректной работы необходимо наличие среды выполнения Python версии 3.7 или новее.
Selenium
Специальный инструмент для автоматизированного тестирования.
Playwright
Playwright для QA и SDET — архитектура UI-автотестов, локаторы, SPA/React, Page Object, pytest, Allure, CI и карьера.
Документация тестировщика
Тестовая документация — планы, кейсы, чек-листы, отчёты и баг-репорты в работе QA.
Юнит-тестирование
Верификация отдельных единиц кода - отдельных функций, методов, классов или структур.
Интеграционное тестирование
Проверка корректности взаимодействия отдельных компонентов системы после их соединения.
Нагрузочное и стресс-тестирование производительности
Специализированные методы верификации, направленные на оценку устойчивости, пропускной способности и предсказуемости поведения системы.
Тестирование информационной безопасности
Процесс выявления, анализа и документирования уязвимостей ПО.
Особенности тестирования мобильных приложений
Процесс проверки ПО, предназначенного для работы на мобильных устройствах.
Мутационное тестирование
Целенаправленное внесение изменений в код программы с последующей проверкой способности тестов обнаружить изменения.
Покрытие кода и метрики полноты тестирования
Критерии, позволяющие оценить, насколько полно проведено тестирование.
Техники проектирования тестов
Тест-дизайн — как выбрать проверки, которые ловят дефекты при ограниченном времени.
Самовосстанавливающиеся тесты
Самовосстанавливающиеся тесты адаптируются к изменениям интерфейса и API, снижая стоимость поддержки автотестов.
Инструменты с низким кодом для тестирования
Low-code и No-code платформы представляют собой класс программного обеспечения, позволяющий создавать приложения и автоматизировать процессы через визуальные интерфейсы и конфигурацию параметров.
Тестирование нейроморфных систем
Специализированный подход к проверке нейроморфных чипов — нишевый материал, не входит в базовый маршрут QA.
Дополнительные модули для тестировщика
Git, HTTP, алгоритмы, soft skills и английский — маршрут бонус-модулей для QA и ссылки на языковые практикумы Java, JavaScript и Python.
Ручное тестирование веб-приложений
Чек-листы и практический порядок проверки сайта глазами пользователя — формы, сессии, сеть, кроссбраузерность и типичные баги.
SQL для тестировщика
Десять типовых SQL-запросов для проверки данных после API и UI — мост к разделу SQL энциклопедии.
White-box — тестирование потоков управления и данных
Black-box проверяет поведение снаружи. Этого хватает для API и UI. Но внутри модуля может быть 12 веток if, и один сценарий не покрывает опасную комбинацию.
Unit, Integration, UI, E2E, TDD и BDD
Как связаны уровни тестирования и практики TDD/BDD, когда что выбирать и как внедрять в проекте.
Основы тестирования веб-приложений — маршрут для QA
Полная карта тем веб-тестирования — браузер, HTTP, backend, формы, SPA, нефункциональные проверки и ссылки на материалы энциклопедии.
Тестирование и анализ API
API testing. Как исследовать API и проверять - подходы, порядок.
Тестирование программного обеспечения — итоги
Краткое резюме раздела "Тестирование" — ключевые темы, связи между статьями и куда идти дальше.
Тестирование программного обеспечения — чек-лист
Чек-лист раздела «Тестирование программного обеспечения» — вопросы для самопроверки.
Тестирование программного обеспечения — о разделе
Маршрут изучения раздела "Тестирование" — от основ QA до API, автоматизации и нагрузки в энциклопедии Вселенная IT
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Тестирование ПО — Основы бизнеса для IT-специалиста, Программные платформы, Корпоративное ПО, Платформенные решения в бизнесе, Аутентификация и авторизация, Основы интеграционного взаимодействия — о разделе.