TestCon Moscow 2020

31 марта – 2 апреля

Москва

Биография

Шекхал увлечен тестированием программного обеспечения, он инженер-компьютерщик по профессии. Он занимается тестированием широкого профиля во всех областях – от ручного обеспечения качества, проектирования и архитектуры систем до оценки производительности и безопасности, а также автоматизации на различных языках.

Доклад

5 этапов автоматизации тестирования API

В рабочей среде, архитектура микросервиса запускается с некоторым числом (300+) синхронных и асинхронных точек API. Тестирование такой архитектуры в обычной среде с перекрестными зависимостями – процесс сложный, но крайне необходимый, чтобы убедиться, что все работает правильно. Обычно тестирование такой системы проходило бы активизируя конечную точку API с соответствующими параметрами запросов или нагрузкой, а затем задействовали бы код результата теста или текст сообщения ошибки для допустимых определений. Такой метод более сложный, так как CI и наличие источников открытого доступа данных означало бы, что зависимости будут динамичными при каждом запуске, что приводило бы к неточным результатам тестов.
В данной сессии, Шекхал продемонстрирует, как использовать новые технологии и разделить тестирование API на 5 этапов, чтобы повысить общую достоверность тестов. Этапы, которые обсудит Шекхал (без учета модульных и интеграционных тестов разработчиков):
Имитирующее тестирование методом «черного ящика».
Временное namespace API в вашем интерфейсе – с использованием Кubernetes и конфигурационного взаимодействия для проведения таких тестов.
Тесты после развертывания – обычно называемые «дымовым тестированием», чтобы проверить, что API в норме, и критическая функциональность работает в полностью интегрированной среде.
На данный момент тестирование должно быть достаточным, верно? Тестировщики должны быть достаточно довольны тем, что API делает то, что написано на коробке… но подождите, это еще не все…
Тесты стабильности среды – тесты, которые выполняются каждые несколько минут в интегрированном окружении и обеспечивают высокую доступность всех сервисов, при условии успешно завершенных развертываний. Здесь мы используем Gitlab для управления планированием.
Тесты Data Explorer – это тесты, которые выполняются периодически, но используют некоторое случайное распределение для генерации или извлечения случайных данных, с помощью которых можно запустить API. Я написал код, собирающий данные пользователей, которые работают против БД, чтобы определить наборы странных данных для использования их в качестве тестов.
Шекхал подробно опишет и расскажет об этих этапах и их выполнении, а также то, как это изменило бы способы тестирования и наш взгляд на API. Также он расскажет об инструментах, которые используются для достижения данной цели, рассмотреть их плюсы/минусы, и кейсы использования этого подхода.

Ключевые слова

🔑 Automation
🔑 API
🔑 Mocking