# Система под контролем: как автоматизировать интеграционные тесты

DevFeed: [Система под контролем: как автоматизировать интеграционные тесты](<https://devfeed.tech/articles/article-23625.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/525456/>)

Author: irrational (Badoo)

Published: 2020-10-29T13:21:54Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [C](<https://devfeed.tech/topics/c.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>)

Tags: [automatization](<https://devfeed.tech/tags/automatization.md>), [c](<https://devfeed.tech/tags/c.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [docker](<https://devfeed.tech/tags/docker.md>), [go](<https://devfeed.tech/tags/go.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [quality-control](<https://devfeed.tech/tags/quality-control.md>), [tag-622612a5798e](<https://devfeed.tech/tags/tag-622612a5798e.md>), [tag-e95ee8b94dca](<https://devfeed.tech/tags/tag-e95ee8b94dca.md>)

## AI overview

The article explains how a Badoo and Bumble backend team automated integration testing for a distributed system composed of C and Go services, Kafka, and Consul. It discusses the system's growing complexity, the risks of manual verification, and the motivation for building an integration-testing framework to detect service-integration errors before production.

## Source excerpt

Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд -- это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря которой люди находят друг друга. В этой статье я не буду концентрироваться на специфике наших сервисов, а расскажу, как мы реализовали автоматизированные интеграционные тесты в распределённой системе, поделюсь общими принципами и нюансами создания фреймворка для них. В тексте будут встречаться отсылки к реализации на Go, так как мы использовали именно этот язык, но понять основную мысль это не помешает. Читать далее