Автоматизация тестирования API с Go

8 участников

О чём курс

О чём курс

Тестовый фреймворк формирует поддерживаемую и масштабируемую инфраструктуру 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).

Программа обучения

  1. Приветствие и инструкции:
  • Правила работы с курсом и коммуникации
  • Знакомимся
  • Советы по изучению материала
  • Инструкции по отправке заданий на проверку
  • Поддержка от преподавателя и вопросы
  1. Создание проекта:
  • Создаём Go module
  • Публикуем проект на GitHub
  • Выбираем IDE для курса
  • Устанавливаем Go
  1. Разбираемся в API:
  • Разбираемся, что такое API
  • Разбираемся, как работает HTTP API
  • Разбираемся, как работает gRPC API
  1. Тестовый стенд:
  • Подготавливаем тестовый стенд
  • Запускаем тестовый стенд
  • Проверяем работоспособность тестового стенда
  • Разбираем архитектуру тестового стенда
  • Разбираем HTTP-контракт
  • Разбираем gRPC-контракт
  • Разбираем авторизацию тестового стенда
  1. Первые API-тесты:
  • Введение в API-автотесты на Go
  • Подключаем библиотеки для первых API-тестов
  • Пишем первые HTTP API-тесты
  • Пишем первые gRPC API-тесты
  • Разбираем Go-тесты. Часть 1: фикстуры
  • Разбираем Go-тесты. Часть 2: жизненный цикл
  • Разбираем Go-тесты. Часть 3: перезапуски
  • Разбираем Go-тесты. Часть 4: параллельность
  • Разбираем Go-тесты. Часть 5: метаданные
  • Разбираем Go-тесты. Часть 6: плагины
  1. Знакомимся с Axiom:
  • Что такое Axiom и зачем он нужен
  • Пишем первый тест с Axiom
  • Разбираем Runner, Case и Config
  • Группируем тесты в Suite
  • Добавляем Meta к тестам
  • Управляем зависимостями с помощью Fixtures, Resources
  • Собираем инструменты в Toolset
  • Управляем Retry, Parallel и Skip
  • Управляем жизненным циклом с помощью Hooks
  • Управляем контекстом выполнения тестов
  • Структурируем тесты с помощью Step, Setup и Teardown
  • Расширяем Axiom с помощью Plugins
  • Подводим итоги: какие проблемы решает Axiom
  • Параметризуем тесты с помощью Params
  1. Создаём модели и тестовые данные:
  • Создаём модели
  • Создаём генератор тестовых данных
  • Создаём Builders
  1. Создаём Runners и Suites:
  • Создаём Metadata
  • Меняем структуру тестов
  • Создаём корневой Runner
  • Создаём HTTP Runner и Suite
  • Создаём gRPC Runner и Suite
  • Обогащаем тесты Meta-информацией
  1. Создаём API клиенты:
  • Создаём Config
  • Создаём HTTP Transport
  • Создаём HTTP API клиенты
  • Переводим HTTP-тесты на API клиенты
  • Создаём gRPC Transport
  • Создаём gRPC API клиенты
  • Переводим gRPC-тесты на API клиенты
  1. Создаём Fixtures, Resources и Toolsets:
  • Создаём Resources
  • Создаём публичные HTTP Fixtures
  • Подготавливаем H
Складчина создана 9 сентября 2026 г.

Теги курса

Профессии
Инструменты

Другие материалы автора 5

НФ Никита Филонов Все материалы
942 ₽ 5 980 ₽