Отслеживание тестовой производительности за несколько прогонов - PullRequest
0 голосов
/ 04 сентября 2018

Я планирую расширить свой существующий CI, который использует testng в качестве среды тестирования. У меня есть набор тестов, производительность которых (время, затрачиваемое на каждый тест), я хотел бы отслеживать производительность каждого теста и изменения каждого теста с течением времени. Например, после 5 прогонов пакета я мог видеть, работает ли мой тест лучше или хуже.

Я знаю, что testng по умолчанию выводит отчеты xml, которые содержат атрибут time . На данный момент я не вижу ничего в документации testng, которая бы конкретно решала эту проблему.

В настоящий момент я думаю, что единственным способом будет извлечь соответствующую информацию (имя метода / класса и время) и скомпилировать ее в отдельный файл, о котором будет сообщено позже. Какие лучше встроенные решения вы знаете?

<testsuite name="PerformanceTests" tests="1" failures="0" timestamp="26 Apr 2018 17:05:51 GMT" **time="356.232"** errors="0">
  <testcase name="testModifyFail" time="2.127" classname="PerformanceTests"/>
<testsuite/>

1 Ответ

0 голосов
/ 05 сентября 2018
  1. TestNG имеет возможность выводить результаты теста в формате JUnit
  2. Для Jenkins есть Performance Plugin , который может создавать статистику производительности и графики трендов и добавлять их в панель мониторинга. Теоретически вы можете даже пометить сборку как нестабильную или неудачную, если какой-либо показатель превышает допустимый порог.

Таким образом, вы можете настроить плагин производительности для чтения результатов из test-output/junitreports, и он должен помочь вам.

Ознакомьтесь с Как использовать плагин производительности Jenkins , чтобы узнать больше о концепции добавления результатов тестов производительности в конвейеры CI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...