Чему вы научитесь
- Анализировать и тестировать API, работающие по протоколам HTTP и gRPC.
- Понимать устройство API, клиент-серверное взаимодействие, ресурсы, эндпоинты, HTTP-запросы и ответы.
- Работать с gRPC-сервисами, Protocol Buffers, proto-контрактами и сгенерированным Go-кодом.
- Писать HTTP- и gRPC-автотесты на Go с использованием стандартного пакета testing.
- Применять Resty для отправки HTTP-запросов, работы с авторизацией, файлами, параметрами и телами запросов.
- Использовать Testify для проверок результатов выполнения автотестов.
- Генерировать реалистичные тестовые данные с помощью gofakeit.
- Проектировать переиспользуемые API-клиенты и отделять тестовые сценарии от транспортного слоя.
- Разрабатывать поддерживаемую инфраструктуру API-автотестов с использованием Axiom.
- Применять Builders, Fixtures, Resources и Toolsets для подготовки данных, состояния и зависимостей тестов.
- Разрабатывать базовые, протокольные и доменные Assertions для HTTP- и gRPC-проверок.
- Организовывать автотесты с помощью Runners, Suites, Cases, Metadata, Tags и Plugins.
- Проектировать независимые и детерминированные тестовые сценарии, безопасные для повторного и параллельного запуска.
- Проверять позитивные и негативные сценарии с упором на бизнес-логику и корректную диагностику ошибок.
- Настраивать повторный запуск нестабильных тестов и параллельное выполнение для ускорения тестового прогона.
- Работать с Allure: формировать подробные отчёты с шагами, логами, вложениями и информацией об окружении.
- Настраивать запуск API-автотестов в CI/CD и публиковать сформированные Allure-отчёты.
- Работать с выделенным тестовым сервером, запускать его локально и использовать в автоматизированных проверках.
- Применять переменные окружения и конфигурацию для управления параметрами тестового проекта.
- Использовать командную строку и основные инструменты для работы с HTTP- и gRPC-сервисами.
- Применять лучшие практики проектирования тестовой инфраструктуры и понимать, какую проблему решает каждый архитектурный слой.
О курсе
Для кого этот курс
Начальные требования
- Базовые знания Go. Понимание синтаксиса языка, умение работать с переменными, функциями, структурами, методами, указателями, интерфейсами, коллекциями и обработкой ошибок. Также важно понимать устройство пакетов и основы работы с Go Modules. Экспертный уровень не требуется, но язык в курсе не изучается с нуля.
- Базовое понимание программирования. Умение читать код, использовать условия и циклы, разбивать логику на функции, работать со структурами данных и подключать внешние библиотеки. Это поможет увереннее разбираться в архитектуре тестовой инфраструктуры.
- Общее понимание тестирования. Желательно знать, что такое тестовый сценарий, предусловия, ожидаемый результат, позитивные и негативные проверки. Опыт ручного тестирования API будет полезен, но глубокие знания HTTP и gRPC до начала курса не требуются — необходимые концепции разбираются в программе.
- Уверенная работа с компьютером и окружением разработки. Потребуется устанавливать программы и зависимости, работать с терминалом, запускать команды, пользоваться IDE — например, GoLand или VS Code, — редактировать конфигурационные файлы и работать с браузером.
- Готовность активно писать код. Курс построен вокруг одного накопительного проекта. Вам предстоит запускать тестовый сервер, писать HTTP- и gRPC-автотесты, изменять инфраструктуру, выполнять практические задания, анализировать ошибки и самостоятельно применять изученные подходы.
Преподаватели курса
Как проходит обучение
Каждый урок состоит из нескольких ключевых элементов:
- Теория и инженерные разборы. Подробные текстовые материалы с последовательным объяснением терминов, архитектурных решений и причин их появления. В уроках используются схемы, примеры кода, команды запуска, скриншоты и ссылки на дополнительную документацию.
- Практика внутри уроков. Все действия подробно разбираются непосредственно в тексте: от запуска тестового сервера и первых HTTP- и gRPC-запросов до проектирования клиентов, фикстур, проверок, отчётности, параллельного запуска и CI/CD. Вы сможете проходить материал в собственном темпе и возвращаться к любому этапу реализации.
- Тесты с автоматической проверкой. Квизы помогают закрепить определения, принципы работы инструментов и архитектурные решения. Они проверяют не только запоминание терминов, но и понимание того, зачем используется каждый подход.
- Практические задания. После изучения материала вам предстоит самостоятельно дополнять проект, писать автотесты и применять изученные компоненты. Задания продолжают развитие общей инфраструктуры и постепенно усложняются вместе с курсом.
- Личная проверка решений. Все практические задания проверяются преподавателем. Вы получите обратную связь по выполнению условий, найденным ошибкам, структуре решения и применению изученных подходов.
- Поддержка преподавателя. При возникновении вопросов по материалам, заданиям, тестовому серверу или техническим проблемам можно обратиться за помощью в комментариях и обсуждениях курса.
Курс построен вокруг одного накопительного проекта. Вы будете последовательно развивать его от первых API-запросов до полноценной инфраструктуры HTTP- и gRPC-автотестов с тестовыми данными, клиентами, фикстурами, доменными проверками, Allure-отчётностью, параллельным запуском и CI/CD.
Что вы получите
- Фундаментальное понимание автоматизации тестирования API на Go. Вы разберётесь не только в отправке HTTP-запросов и вызове gRPC-методов, но и в проектировании всей тестовой инфраструктуры: от транспорта и API-клиентов до тестовых данных, проверок, отчётности и CI/CD.
- Системные знания, которые не зависят от одной библиотеки. Курс построен вокруг инженерных принципов: разделения ответственности, управления зависимостями и состоянием, переиспользования компонентов, диагностики ошибок и безопасного параллельного запуска.
- Практический опыт работы с HTTP и gRPC. Вы будете тестировать API через два интерфейса, работать с позитивными и негативными сценариями, связанными данными, бизнес-правилами, ошибками и подготовкой состояния.
- Полноценный проект. По итогам курса у вас останется оформленный проект API-автотестов на Go с транспортным слоем, переиспользуемыми клиентами, Builders, Resources, Fixtures, Toolset, доменными Assertions, Allure-отчётностью и автоматизированным запуском.
- Опыт построения архитектуры с нуля. Вы последовательно пройдёте путь от простых тестов до масштабируемой инфраструктуры и поймёте, какую проблему решает каждый её слой.
- Материал по Axiom от автора фреймворка. Вы изучите причины появления его архитектурных сущностей, принятые решения, ограничения и практику применения на больших наборах тестов.
- Отработку знаний на практике. Практические задания продолжают развитие проекта и требуют самостоятельно применять изученные подходы, писать тесты, изменять инфраструктуру и анализировать результаты запусков.
- Личную проверку и обратную связь. Все практические задания проверяются преподавателем. Вы получите разбор ошибок, рекомендации по улучшению решения и доступ к эталонным вариантам реализации.
- Проект для портфолио и дальнейшего развития. Финальный репозиторий можно использовать как демонстрацию практических навыков, основу для собственных проектов или отправную точку при создании тестовой инфраструктуры в рабочей команде.