Coverage
Нарушаю долгое молчание небольшим подведением итогов того, чем занимался на работе.
В прошлом квартале сфокусировались на внедрение сбора метрики покрытия: code coverage и покрытие API методов автотестами по Swagger документации (назовем его Swagger-coverage, для простоты).
Мы планировали внедрить сбор и code coverage и Swagger-coverage во всех сервисах критического пути. Но удалось сделать только добавить Swagger-coverage во все сервисы.
Как это работает:
1. берем актуальное описание API в Swagger документации;
2. в http-клиент для API-тестов добавляем handler, который логирует, какие эндпоинты вызываются в тестах, с какими параметрами и какие статус коды приходят;
3. сравниваем фактически вызванные эндпоинты с исходной схемой и строим отчет, в котором видно что покрыто, а что не покрыто (скрин 1).
Текущие показатели этой метрики видно на графике. Разброс от 22 до 92%
После вендрения хотели добавлять Quality Gates и фейлить билд если покрытие стало ниже чем было до этого. Но в результате обсуждение с архитекторами и разработчиками решили, что сделаем пока уведомление в корпоративный мессенджер в канал команды-владельца сервиса о том, что покрытие снизилось.
Как считаете приемлемо, что у сервиса крит пути в API-тестах хоть как-то вызывается 22% эндпоинтов, а остальные не вызываются? Или надо наращивать покрытие?
Post #259
690


- 👍 1