Домой » Тестирование » Разновидности тестирования микросервисов

Разновидности тестирования микросервисов

Tecтирование микросервисовКратко о микросервисах

Микросервисная архитектура представляет собой совокупность мелких сервисов, которые вместе представляют собой готовое приложение или решают определённую глобальную задачу. Каждый микросервис в приложении отвечает за какой-то определённый функционал. Главное преимущество — они могут независимо друг от друга деплоиться и тестироваться. Микросервисы могут располагаться на различных серверах и операционных системах, могут быть написаны на разных языках программирования. Фактически разработчики определённого микросервиса могут и не знать, что делают остальные микросервисы, также им не важно, что в итоге будет делать готовое приложение.

Какие виды тестирования бывают

Unit тестирование

Количество unit — тестов является наибольшим среди всех остальных. Принципы и подходы ничем не отличаются от unit — тестирования обычных приложений. Стек используемых технологий зависит от языка, на котором написан данный микросервис.

Тестирование контрактов

Контрактное тестирование подразумевает отношение к микросервису, как к чёрному ящику. Сервисы вызываются независимо друг от друга и при этом проверяются их ответы. Любые зависимости должны помочь сервису функционировать, но не должны взаимодействовать с другими сервисами. Это позволит избежать любого сложного поведения, которое может быть вызвано влиянием другого сервиса, и сконцентрироваться лишь на тесте.

«Контракт» — это служебный вызов сервиса, при тестировании проверяется ответ или другой результат, которые зависят от входных данных. Каждый потребитель должен получать один и тот же результат от сервисы, даже если его внутренняя реализация изменяется. Каждый сервис должен быть способен к гибкому изменению функционала, но ранее реализованный функционал не должен меняться и тянуть за собой изменение вызывающего сервиса.

Интеграционное тестирование

Ранее мы тестировали каждый отдельный микросервис независимо от других. При интеграционном тестирование проверяется корректность взаимодействия различных микросервисов друг с другом. Это один из самых критичных тестов всей архитектуры. При положительном исходе тестирования мы можем быть уверены, что вся архитектура спроектирована верно и все независимые микросервисы функционируют как единое целое в соответствии с ожиданиями.

End-to-end тестирование

Данное тестирование позволяет проверить корректность взаимодействия микросервисов и других служб, например, базы данных. При end-to-end тестировании проверяется способность всего приложения удовлетворить всем запросам конечного пользователя. В этом нам может помочь автоматизированное тестирование, порой будет полезно использовать BDD.

UI или функциональное тестирование

Это завершающий вид тестирования. Проверяется почти тоже самое, что и при end-to-end тестировании, но только с использованием UI. Может проводиться мануальными тестировщиками или с помощью автотестов.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*