QA Automation Mastery

Профессиональный путь в автоматизацию: Вторник и Четверг

📚 Ресурсный стек

🎯 Теория Тестирования

  • SDLC / STLC
  • Техники тест-дизайна
  • Жизненный цикл бага

💻 Технический стек

  • Python / Java / JS
  • HTTP / JSON / DOM
  • CSS / XPath

🤖 Automation Tools

  • Playwright / Selenium
  • Postman / Requests
  • POM Architecture

⚙️ DevOps & Infra

  • Git / GitHub
  • Pytest / Allure
  • GitHub Actions / Docker

🗓️ Образовательный календарь

Week TUESDAY: Theory THURSDAY: Practice
01
Вторник
Что такое QA? SDLC, STLC, жизненный цикл бага.
📖 Основы QA
QA vs QC
QA — предотвращение дефектов; QC — поиск дефектов в продукте.
SDLC
Цикл разработки: Анализ -> Дизайн -> Код -> Тест -> Поддержка.
Bug Life Cycle
New -> Open -> Fixed -> Ready for Test -> Closed.
Четверг
Установка Jira/Trello. Поиск багов в любом сайте.
Задание: Найти 5 багов на сайте и завести их в Trello.
02
Вторник
Виды тестирования (Smoke, Regression, Functional).
📖 Виды тестов
Smoke Test
Проверка критического пути: работает ли приложение вообще?
Регрессия
Проверка, что новое не сломало старое.
Функционал
Проверка соответствия требованиям (что делает система).
Четверг
Составление чек-листа для формы регистрации.
Задание: Описать 10 проверок для формы (вкл. негативные).
03
Вторник
Техники тест-дизайна: Граничные значения, Эквивалентность.
📖 Тест-дизайн
Эквивалентность
Группировка данных с одинаковым поведением.
Граничные значения
Проверка краев классов (напр. 0, 1, 10, 11).
Цель техник
Минимизация тестов при максимальном покрытии.
Четверг
Написание тест-кейсов для поля «Возраст».
Задание: Описать кейсы для возраста 18-65 лет.
04
Вторник
Техники: Pairwise, Decision Table.
📖 Pairwise Guide
Pairwise
Тестирование всех пар значений параметров.
Decision Table
Таблица "Условие -> Действие".
Когда применять?
При огромном количестве комбинаций настроек.
Четверг
Применение Pairwise для теста конфигуратора.
Задание: Таблица Pairwise для Цвет/Размер/Материал.
05
Вторник
Основы Web: HTTP методы, Коды ответов.
📖 HTTP Docs
GET vs POST
GET - запрос данных, POST - отправка данных в теле.
404 vs 500
404 - не найдено, 500 - ошибка сервера.
Что такое JSON?
Формат данных { "key": "value" }.
Четверг
Работа в DevTools браузера (Network).
Задание: Анализ Payload запроса при отправке формы.
06
Вторник
HTML/CSS: Теги, атрибуты, структура DOM.
📖 HTML Guide
Что такое DOM?
Объектная модель документа (дерево элементов).
div vs span
div - блочный, span - строчный.
ID атрибут
Уникальный маркер элемента на странице.
Четверг
Верстка простой страницы «О себе».
Задание: Создать HTML-файл с form, list и h1.
07
Вторник
Локаторы: CSS-селекторы.
📖 CSS Selectors
Селектор класса
Точка .className
Селектор ID
Решетка #elementId
Вложенность
Пробел между тегами: div p (параграф внутри div).
Четверг
Поиск элементов на Amazon/Ozon через CSS.
Задание: Найти CSS-селекторы кнопки "Купить" и поиска.
08
Вторник
Локаторы: XPath (абсолютные и относительные).
📖 XPath Guide
Относительный путь
Начинается с //. Более стабилен при изменении верстки.
contains()
Поиск по частичному совпадению текста/атрибута.
Абсолютный путь
Путь от корня /html/body... Хрупкий путь.
Четверг
Написание сложных XPath для динамических элементов.
ДЗ: Найти элемент через //div[contains(text(), 'Оплата')].
09
Вторник
Установка Python, IDE, переменные, типы.
📖 Python Start
Динамическая типизация
Тип переменной определяется в момент присвоения.
int vs float
Целое число vs Число с плавающей точкой.
f-строки
Форматирование: f"Hello {name}".
Четверг
Решение 5-10 простых задач на Stepik.
Задание: Программа-приветствие с вводом имени.
10
Вторник
Условные операторы (if, elif, else), логика.
📖 Python Logic
if-elif-else
Цепочка проверок: если первое ложно, идем к следующему.
and / or
Логическое И (оба истинны) / ИЛИ (хотя бы один истинн).
Четверг
Программа «Калькулятор» или «Проверка пароля».
Задание: Валидатор пароля (длина 8+, наличие цифр).
... Остальные недели 11-32 следуют по тому же паттерну с вопросами и ДЗ...
32
Вторник
CI/CD: GitHub Actions (YAML).
📖 GH Actions
YAML
Формат конфига для описания шагов автоматизации.
Workflow
Процесс запуска тестов по событию (push/pr).
Четверг
Автозапуск тестов при пуше в GitHub.
Задание: Создать .github/workflows/main.yml.

📊 Career Roadmap

Level Focus Stack Outcome
Beginner Theory + Core Language Python/Java + Git Simple scripts & Bug reporting
Junior UI + API Automation Playwright + Postman Automated feature tests
Middle Architecture + CI/CD POM + Docker + Jenkins Framework from scratch
Advanced Performance + Security JMeter + K6 + OWASP Load & Security testing
🧠
Вторник: Фокус на теорию. Не переходите к практике, пока не ответите на все вопросы в Quiz.
⌨️
Четверг: Только код. Никаких видео. Ошибка в консоли — ваш лучший учитель.
🚀
GitHub: С 28-й недели всё ДЗ должно превращаться в коммит. Это ваше портфолио.