Обложка канала

Протестировал

Фильтрованный контент о тестировании и качестве ПО.

Протестировал

7 лет назад
Открыть в
Интересная статья о выявлении регрессии в результатах тестов на производительность в проекте Skia. Если у вас большое количество тестов на производительность и много поддерживаемых платформ, то количество измерений получается огромным (в Skia для каждого коммита 40,000 измерений). Оценивать такие результаты вручную затруднительно. Можно сделать границы значений для каждого теста (как в chromium), но такое решение не всегда будет работать и вы будете получать ложно-положительные срабатывания. Автор предлагает такое решение:

- собрать все серии результатов для фиксированного набора коммитов (в Skia это обычно 100-250 изменений)
- нормализовать серии результатов для каждого теста, чтобы среднее значение стало равно 0 и стандартное отклонение 1.0
- сгруппировать нормализованные серии результатов с помощью knn (метод k ближайших соседей)
- для каждой группы вычислить коэффициент регрессии и сравнивать значение коэффициента с каким-то эмпирическим числом, специфичным для проекта и тем самым автоматически выявлять регрессии.

https://bitworking.org/news/2014/11/detecting-benchmark-regressions

Если вы знаете другие способы автоматической оценки результатов - поделитесь или в чате @sqaunderhood_chat