Найти тему

Использование техник автоматизации инфраструктуры автотестировщиками при проверке работоспособности приложений с микросервисной архитектурой

В этой статье мы продолжим знакомство с микросервисной архитектурой разработки приложений и повторим основные этапы разработки и тестирования приложений с применением автотестов.

За последнее время произошли значительные изменения техник автоматизации инфраструктуры, упростившие операции построения, разворачивания и функционирования приложений с микросервисной архитектурой.

За счет чего произошли такие изменения? В соответствии с уровнями тестирования, микросервис автоматически разворачивается в тестовом окружении своего уровня:

  • тест компиляции приложения, т.е. перевод программного кода из текстового формата в машинный исполняемый код, затем модульное и функциональное тестирование проводятся на тестовом окружении на компьютере разработчика приложения. Это логично: где программа написана, там же проверяется компиляция и функциональность программного модуля;
  • приемочное тестирование модуля производится на виртуальной машине разработчика по удаленному доступу к компьютеру. При этом модуль разворачивается в виртуальной среде. Если внутренняя приемка модуля состоялась, далее переходим к интеграционному тестированию;
  • интеграционное тестирование происходит в специальной среде для тестирования интеграции, где модуль так же разворачивается автоматически;
  • пользовательское приемочное тестирование происходит при автоматическом развертывании микросервиса в промежуточной среде, чтобы основные пользователи могли протестировать его функции до того, как микросервис попадет в производственную среду;
  • тестирование производительности производится после автоматического разворачивания микросервиса в специальном окружении для тестирования производительности;
  • автоматическое развертывание в производственной среде.
Изображение создано нейросетью PlaygroundAI
Изображение создано нейросетью PlaygroundAI

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

Непрерывная доставка Continuous Delivery обеспечивает возможность непрерывного развертывания в любой момент времени. Выполняется эта операция нажатием одной кнопки, т.к. все операции автоматизированы. В современной архитектуре микросервисных приложений могут проводиться сотни развертываний сервисов в день. Автоматическая доставка и развертывание существенно экономят время команде разработчиков и тестировщиков.

Непрерывная интеграция Continuous Integration является еще одной техникой автоматизации инфраструктуры, при которой каждый разработчик, работающий над отдельным микросервисом, выкладывает свой модуль в интеграционную среду один или несколько раз в день. Каждый раз, когда обновленный модуль попадает в тестовую среду, запускаются автотесты для проверки интеграции его с другими модулями. Непрерывная интеграция позволяет быстро обнаружить и исправить ошибки. В этом ее большое преимущество перед ранее применявшимся подходом. Теперь проверка интеграции превратилась в рутинную операцию благодаря автоматизации всего процесса.

Подпишитесь, чтобы узнать больше о работе тестировщика в продуктовой компании, о значимых для тестировщика процессах.