Кажется, что с каждым обновлением в Visual Studio 2017 время выполнения меняется.В настоящее время у нас более 6000 тестов, из которых от 15 до 20% - это модульные тесты, а остальные - интеграционные тесты.
Узким местом, похоже, был сам сервер CI, работающий на одной машине.От 70% до 80% тестов являются асинхронными, и анализ показал, что нет операций блокирования ввода-вывода.Помимо ввода-вывода, мы не используем базы данных, поэтому мы используем кеширование.
Сейчас мы находимся в процессе миграции на Jenkins и используем его плагин Parallel Test Executor для распараллеливания тестов между несколькими узлами вместо одногомашина.Первоначальное тестирование показало, что время выполнения 6000+ тестов варьируется от 10 до 15 минут по сравнению со старым КИ, который занимал 2 часа или иногда останавливался.