Автоматизация тестирования API с Go
О чём курс
О чём курс
Тестовый фреймворк формирует поддерживаемую и масштабируемую инфраструктуру API-автотестов на Go, охватывая путь от отправки базовых запросов по протоколам HTTP и gRPC до выстраивания многоуровневой архитектуры, управления тестовыми данными, безопасного параллельного запуска и интеграции в CI/CD.
Практическая часть строится на решении реальных инженерных проблем, возникающих при росте кодовой базы: изоляции состояния, исключении дублирования, разделении слоёв и настройке наглядной отчётности с помощью Allure Report.
Что изучается
В рамках курса рассматриваются следующие темы и инструменты:
- Протоколы клиент-серверного взаимодействия и форматы данных: HTTP, gRPC и Protobuf.
- Инструменты разработки автотестов: стандартный пакет testing, библиотеки Resty, Testify и gofakeit.
- Возможности и архитектура фреймворка Axiom: Runner, Suite, Case, управление метаданными, хуки жизненного цикла и плагины.
- Проектирование архитектуры: построение отдельных транспортов, создание API-клиентов, использование Resources, Fixtures и Toolset.
- Валидация и диагностика: написание протокольных и доменных Assertions, логирование, запуск тестов по тегам, повторные прогоны и параллелизация.
Для кого
Курс предназначен для широкого круга специалистов в сфере обеспечения качества и разработки:
- QA Automation-инженеров, работающих с Python, Java, TypeScript и желающих перейти на Go.
- Ручных тестировщиков с опытом тестирования API и базовыми навыками Go, стремящихся освоить автоматизацию.
- Go-разработчиков, которым необходимо писать надежные компонентные, интеграционные и изоляционные тесты для своих микросервисов.
- SDET и QA-лидов, проектирующих архитектуру фреймворков и стандарты автоматизации в командах.
Требования к участникам
Для комфортного прохождения программы требуются:
- Базовое знание синтаксиса Go: переменные, функции, структуры, методы, указатели, интерфейсы, обработка ошибок и Go Modules.
- Общее понимание программирования и опыт использования сторонних библиотек.
- Представление о процессах тестирования: тестовые сценарии, предусловия, позитивные и негативные проверки.
- Навыки работы с терминалом и редакторами кода (например, VS Code или GoLand).
Программа обучения
- Приветствие и инструкции:
- Правила работы с курсом и коммуникации
- Знакомимся
- Советы по изучению материала
- Инструкции по отправке заданий на проверку
- Поддержка от преподавателя и вопросы
- Создание проекта:
- Создаём Go module
- Публикуем проект на GitHub
- Выбираем IDE для курса
- Устанавливаем Go
- Разбираемся в API:
- Разбираемся, что такое API
- Разбираемся, как работает HTTP API
- Разбираемся, как работает gRPC API
- Тестовый стенд:
- Подготавливаем тестовый стенд
- Запускаем тестовый стенд
- Проверяем работоспособность тестового стенда
- Разбираем архитектуру тестового стенда
- Разбираем HTTP-контракт
- Разбираем gRPC-контракт
- Разбираем авторизацию тестового стенда
- Первые API-тесты:
- Введение в API-автотесты на Go
- Подключаем библиотеки для первых API-тестов
- Пишем первые HTTP API-тесты
- Пишем первые gRPC API-тесты
- Разбираем Go-тесты. Часть 1: фикстуры
- Разбираем Go-тесты. Часть 2: жизненный цикл
- Разбираем Go-тесты. Часть 3: перезапуски
- Разбираем Go-тесты. Часть 4: параллельность
- Разбираем Go-тесты. Часть 5: метаданные
- Разбираем Go-тесты. Часть 6: плагины
- Знакомимся с Axiom:
- Что такое Axiom и зачем он нужен
- Пишем первый тест с Axiom
- Разбираем Runner, Case и Config
- Группируем тесты в Suite
- Добавляем Meta к тестам
- Управляем зависимостями с помощью Fixtures, Resources
- Собираем инструменты в Toolset
- Управляем Retry, Parallel и Skip
- Управляем жизненным циклом с помощью Hooks
- Управляем контекстом выполнения тестов
- Структурируем тесты с помощью Step, Setup и Teardown
- Расширяем Axiom с помощью Plugins
- Подводим итоги: какие проблемы решает Axiom
- Параметризуем тесты с помощью Params
- Создаём модели и тестовые данные:
- Создаём модели
- Создаём генератор тестовых данных
- Создаём Builders
- Создаём Runners и Suites:
- Создаём Metadata
- Меняем структуру тестов
- Создаём корневой Runner
- Создаём HTTP Runner и Suite
- Создаём gRPC Runner и Suite
- Обогащаем тесты Meta-информацией
- Создаём API клиенты:
- Создаём Config
- Создаём HTTP Transport
- Создаём HTTP API клиенты
- Переводим HTTP-тесты на API клиенты
- Создаём gRPC Transport
- Создаём gRPC API клиенты
- Переводим gRPC-тесты на API клиенты
- Создаём Fixtures, Resources и Toolsets:
- Создаём Resources
- Создаём публичные HTTP Fixtures
- Подготавливаем H
Теги курса
Другие материалы автора 5
НФ Никита Филонов Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.