Этот курс — погружение в профессию QA Automation Engineer Мы будем работать с современными и востребованными технологиями, такими как HTTPX, Pydantic, Allure, Allure TestOPS и Pytest. Без воды, только практическая информация, которую вы сможете сразу применить в реальных проектах. О чем этот курс? Мы разберем автоматизацию API-тестирования на атомы. Наша цель — не просто научиться отправлять запросы к API и проверять коды ответа, а создать полноценный фреймворк автотестов, который можно использовать в боевых проектах. Что вас ждет в курсе? ✅ Практика, практика и еще раз практика: Вы не просто изучите, как отправлять HTTP-запросы, а напишете полное покрытие сервера API автотестами с учетом всех нюансов. Большую часть API тестов вы будете писать самостоятельно в рамках домашних заданий. Работа с production like сервером: тестируем API, анализируем серверные логи, смотрим, как работает сервер «изнутри». ✅ Пошаговое обучение – от базовых концепций API до построения production ready тестового фреймворка. ✅ Глубокий разбор инструментов – изучаем широкий спектр инструментов, не ограничиваясь простым форматом: вот инструмент, вот документация, разберитесь сами. Мы глубоко погружаемся в каждый инструмент, рассматриваем альтернативы, сравниваем их, анализируем плюсы и минусы, а также выделяем риски и преимущества. ✅ Глубокое понимание API — мы не просто тестируем API, а разбираем его работу «под микроскопом»: от HTTP-протокола до анализа логов серверов. Поработаем с загрузкой файлов Разберем самые сложные и нетривиальные случаи в тестировании и работе с API Как читать Swagger-документацию и тестировать API через неё Как устроена аутентификация, авторизация, идентификация Что такое JWT-токены и как с ними работать Как API обрабатывает запросы на уровне кода Изучим клиент-серверную архитектуру Разберём, что такое REST API, и обсудим принципы RESTful-архитектуры Поработаем с протоколами HTTP, gRPC, WebSocket и TCP/IP ✅ Глубокая проработка CI/CD — не только запустим тесты вручную, а настроим их на CI/CD. Вы научитесь правильно организовывать тестовый фреймворк и запускать его в автоматическом режиме. ✅ Разработка API-клиента и фреймворка с нуля — вместо того, чтобы выполнять сырые запросы прямо в тестах, мы создадим гибкий API-клиент, который можно переиспользовать во всем проекте. Покроем работу с фикстурами, логированием, отчетами, JSON Schema, параллельным запуском тестов и настройками проекта. ✅ Визуализация покрытия API тестами — вы получите уникальный инструмент swagger-coverage-tool, который отслеживает, какие части API покрыты тестами, и показывает это в интерактивном отчёте. Покрытие считается не по "статус-кодам", а по каждому параметру и полю ответа. Такой подход позволяет визуально понимать, насколько качественно протестирован API. Этого нет ни в одном другом курсе — инструмент разработан эксклюзивно для участников и используется в продвинутых проектах. ✅ Процесс автоматизации тестирования — детально разберём, как должен выглядеть эталонный процесс автоматизации тестирования в команде — от начала разработки до запуска тестов в CI/CD. Программа курса: Приветствие и инструкции Знакомимся Советы по изучению материала Инструкции по отправке заданий на проверку Введение в профессию QA Automation Engineer Основы тестирования программного обеспечения Основные виды тестирования Техники тест-дизайна Артефакты тестирования и тестовая документация Введение в автоматизацию тестирования Основные инструменты автоматизации тестирования Настройка окружения Установка и настройка окружения Python Установка и настройка PyCharm Система контроля версий Git Начало работы с Git Публикация проекта на GitHub Работа с GitHub Desktop Основы работы с API Установка и настройка локального сервера Форматы представления данных Знакомство с API Знакомство с HTTP протоколом Знакомство с gRPC протоколом Знакомство с WebSocket протоколом Знакомство с TCP/IP протоколами Работа с аутентификацией Основы работы с HTTPX Введение в HTTPX Практикуемся в работе с HTTPX Знакомство с API клиентами Практикуемся в реализации API клиентов Практикуемся в использовании API клиентов Основы работы с Pydantic Знакомство с Pydantic Применяем Pydantic в API клиентах Валидация JSON schema Знакомство с Faker Управление автотестами c Pytest Введение в Pytest Написание API автотестов используя Pytest Маркировки Pytest Pytest skip, skipif, xfail Фикстуры Pytest Плагины Pytest Параметризация Pytest Перезапуски автотестов в Pytest Практика написания API автотестов Рефакторинг и подготовка к написанию API автотестов Практикуемся в написании API автотестов. Часть 1 Практикуемся в написании API автотестов. Часть 2 Практикуемся в написании API автотестов. Часть 3 Практикуемся в чтении и разборе ошибок API автотестов Создание Allure отчета Знакомство с Allure Интеграция Allure в автотесты Добавление Allure шагов в автотесты cURL в Allure-отчете: упрощаем анализ API-тестов Знакомство с Allure TestOPS Улучшение автотестов Настройки автотестов с Pydantic Параллельный запуск автотестов Добавляем логирование для API автотестов Добавляем информацию о переменных окружения в Allure отчет Улучшение работы с API клиентами с помощью Enum для URI Работа с CI/CD Введение в CI/CD CI/CD системы Подготовка проекта к запуску на CI Запуск автотестов на CI CI/CD и автотесты: Стратегия автоматизации тестирования Покрытие API тестами: как проверить, что мы тестируем всё? Что такое покрытие API и зачем его измерять Инструмент для измерения тестового покрытия API Практикуемся в интеграции покрытия в API тесты Резюме Итоговый проект Рекомендации по составлению резюме Рекомендации по прохождению собеседований