Как проверить причину, по которой набор тестов работает намного медленнее в одной среде - PullRequest
2 голосов
/ 16 ноября 2010

Мы настроили teamCity, на котором мы запускаем наши сборки для тестирования. Проблема в том, что есть пара тестовых случаев (речь идет об одном конкретном классе, имеющем 5-15 методов тестирования), который занимает почти 45 минут, когда мы запускаем TeamCity.

Я пытался проверить те же случаи на локальной машине, и они занимают не более 6-7 минут.

Не могли бы вы, ребята, предложить мне лучшие практики, которые могут помочь мне выяснить, что может быть возможной причиной этих тестовых случаев? Прямо сейчас я помещаю записи журнала везде, где есть временные метки. Есть ли что-нибудь еще, что я могу сделать?

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Я бы посмотрел, есть ли разница между двумя средами:

  • Это одна и та же операционная система и файловая система?
  • Какова нагрузка на процессор компьютера??
  • Какова нагрузка ввода / вывода машины?
  • Что-то появляется в системном журнале, например, таймаут (сеть или аутентификация) может привести к крайне снижению производительности
  • Используют ли тестовые примеры внешние ресурсы (например, базы данных, сеть), которые могут иметь разные пути доступа по сравнению с тем, где находится медленный компьютер?
  • Производит ли TeamCity подробные отчеты после каждого теста, что может быть медленным?Возможно, это не фактическое выполнение тестового набора, а другая операция, которая выполняется между тестами или после тестов.
  • Выполняет ли среда TeamCity какие-либо функции настройки или демонтажа, которые не выполняются локально?Например, создание тестовой базы данных или сокращение существующей тестовой базы данных?
  • Является ли медленная машина кластерным сервером сборки, который должен связываться по проводам между главным и подчиненными устройствами?Тестирование выполняется на главном или подчиненном устройстве?

Кроме того, вы выполняете тестовые примеры локально, также в TeamCity?

0 голосов
/ 16 ноября 2010

Я использовал YJP (yourkit java profiler) для профилирования приложений раньше.Я думаю, что это бесплатно в течение первых 15 дней или около того, прежде чем они заставят вас купить лицензию.

...