Складчик
- #1
[Stepik] Автоматизация тестирования Backend с Python (Никита Филонов)
- Ссылка на картинку
Чему вы научитесь
- Проектировать и реализовывать стабильные, быстрые и детерминированные автотесты для backend-систем, работающих в микросервисной архитектуре.
- Строить изолированную тестовую инфраструктуру для backend-приложений с использованием Docker и Docker Compose, включая сервисы, базы данных, очереди и мок-зависимости.
- Разрабатывать изоляционные автотесты, которые запускаются поверх локального тестового стенда и воспроизводимо работают как локально, так и в CI/CD.
- Тестировать backend-приложения, использующие HTTP и gRPC протоколы, с акцентом на проверку бизнес-сценариев, а не отдельных запросов.
- Тестировать асинхронные event-driven сценарии с использованием Kafka без флейков и недетерминированного поведения.
- Проектировать и реализовывать собственные mock-сервисы для HTTP и gRPC, управляя поведением внешних интеграций на уровне сценариев.
- Работать с контрактами взаимодействия микросервисов и использовать их как основу для тестирования и мокирования.
- Разрабатывать сценарные API-клиенты для HTTP, gRPC и Kafka, применимые в автотестах, моках и инфраструктурных сценариях.
- Использовать сценарный подход для управления поведением системы и зависимостей в автотестах.
- Тестировать backend-системы через API, события Kafka и прямую работу с базой данных (PostgreSQL), осознанно выбирая подход в зависимости от сценария и архитектуры системы.
- Проектировать тесты так, чтобы они не зависели от порядка выполнения, состояния среды и внешних факторов.
- Организовывать детерминированную подготовку тестовых данных и управлять состоянием системы перед выполнением тестов.
- Интегрировать запуск тестового стенда и изоляционных автотестов в CI/CD пайплайн с автоматическим поднятием инфраструктуры, выполнением тестов и публикацией Allure-отчётов.
- Анализировать причины нестабильности автотестов и устранять флейки на архитектурном уровне, а не через ретраи и костыли.
- Проектировать тестовую систему так, чтобы автотесты выполнялись за миллисекунды, а асинхронные сценарии — за предсказуемое и контролируемое время.
Показать больше
Зарегистрируйтесь
, чтобы посмотреть скрытый контент.