Учебник QA-инженер для начинающих
Полный путь в профессию тестировщика: от того, зачем нужно QA, до тест-дизайна, баг-репортов и первого оффера.
Курс «QA-инженер: тестирование с нуля» состоит из 6 разделов и 17 уроков: Профессия QA, Виды и уровни тестирования, Тест-дизайн, Артефакты тестировщика, Инструменты и Практика и вход в профессию. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Профессия QA
- Зачем нужно тестирование
Цена ошибки на разных этапах разработки, легендарные баги на сотни миллионов долларов и главная мысль профессии: тестирование даёт информацию, а не гарантии.
- QA, QC и тестирование: в чём разница
QA — это процесс, QC — проверка продукта, тестирование — действие внутри него. Таблица различий, верификация и валидация, разбор ответа на собеседовании.
- QA в жизненном цикле разработки
Waterfall и V-модель против Agile, роль тестировщика по дням спринта, shift-left тестирование требований и рабочие договорённости с разработчиком и аналитиком.
- Зачем нужно тестирование
2 Виды и уровни тестирования
- Функциональное и нефункциональное
Чем функциональное тестирование отличается от нефункционального: производительность, безопасность, юзабилити, совместимость — с конкретными проверками и примерами требований.
- Уровни: unit, интеграционное, системное, приёмочное
Четыре уровня тестирования и пирамида тестирования: кто пишет каждый уровень, какие дефекты на нём ловятся и почему перевёрнутая пирамида убивает доверие к автотестам.
- Ручное и автоматизированное тестирование
Что автоматизировать, а что нельзя и не нужно: критерии выбора кандидатов, расчёт окупаемости автотестов и разбор мифа о том, что автоматизация заменит ручных тестировщиков.
- Функциональное и нефункциональное
3 Тест-дизайн
- Классы эквивалентности и граничные значения
Как из бесконечного числа проверок оставить шесть осмысленных: классы эквивалентности и граничные значения на примере поля «возраст 18–65».
- Попарное тестирование (pairwise)
Попарное тестирование: как укротить комбинаторный взрыв, свести 216 комбинаций к 12 тестам и не потерять при этом почти ни одного бага.
- Таблицы решений и состояния
Таблица решений для запутанной бизнес-логики и диаграмма состояний заказа как источник тест-кейсов: как находить дыры в требованиях ещё до кода.
- Классы эквивалентности и граничные значения
4 Артефакты тестировщика
- Тест-кейсы и чек-листы
Структура тест-кейса: предусловия, шаги, ожидаемый результат. Когда чек-лист выгоднее кейса, примеры хороших и плохих формулировок, жизнь кейсов в TMS.
- Баг-репорт: как написать, чтобы починили
Анатомия баг-репорта: шаги воспроизведения, фактический и ожидаемый результат, окружение, severity против priority. Разбор плохого и хорошего репорта.
- Тест-план и стратегия
Тест-план: что тестируем и что не тестируем, критерии входа и выхода, риски и митигации. Зачем план нужен даже в Agile и чем он отличается от стратегии.
- Тест-кейсы и чек-листы
5 Инструменты
- Баг-трекеры и системы управления тестами
Жизненный цикл бага в Jira: статусы, резолюции, связи задач, Severity против Priority. TestRail и Zephyr для тест-кейсов и прогонов.
- Тестирование API в Postman
Зачем тестировать API отдельно от интерфейса: HTTP-методы и коды ответов, коллекции, окружения и переменные Postman, автоматические проверки во вкладке Tests.
- DevTools и логи: где искать причину
Вкладки Network и Console в DevTools: как прочитать запрос и ответ, отличить баг фронтенда от бага бэкенда, приложить HAR и request id к баг-репорту.
- Баг-трекеры и системы управления тестами
6 Практика и вход в профессию
- Сквозной пример: тестируем форму регистрации
Полный цикл работы тестировщика на одном примере: анализ требований, чек-лист, классы эквивалентности и границы, негативные сценарии и оформление бага.
- Как войти в профессию QA
Дорожная карта входа в QA: что учить и в каком порядке, как собрать пет-проект и портфолио, типовые вопросы на собеседовании джуна и куда расти дальше.
- Сквозной пример: тестируем форму регистрации