Почему TestComplete такой медленный?

Мы используем TestComplete из AQTime для тестирования графического интерфейса на клиенте с нашим клиент-серверным приложением. Он скомпилирован с помощью Delphi 2007. Исходный код клиента составляет около 1,4 миллиона строк исходного кода. Аппаратное обеспечение представляет собой двухъядерный процессор Intel с частотой 2,13 МГц, 2 ГБ оперативной памяти с использованием Windows XP Pro.

Я компилирую приложение со всеми параметрами отладки, а также добавляю ссылки в TCOpenApp, tcOpenAppClasses, tcPublicInfo, tcDUnitSupport, как описано в документации, чтобы сделать его открытым приложением. Размер полученного exe-файла составляет около 50 МБ.

Теперь при запуске testcript он работает, но работает очень-очень медленно. ЦП работает на 100%, и изменение тестового сценария немного неприятно из-за медлительности. Я отключил все эффекты рабочего стола, такие как закругленные углы окон. Нет фона рабочего стола.

Кто-нибудь еще с таким же опытом или даже с решением?


person Roland Bengtsson    schedule 23.04.2009    source источник


Ответы (2)


Вероятно, ваша проблема заключается в том, что вы скомпилировали отладочную информацию и используете модули tcXXX, в результате чего создается огромное количество объектов.

Стенограмма с досок сообщений AutomatedQA

Скомпилировали в режиме отладки? У нас есть приложение, которое при компиляции в режиме отладки работает медленно при использовании с TC. Это из-за огромного количества объектов в нем. Если мы компилируем без отладки, но с активаторами TC, все в порядке.

и этот может помочь

Пару участков, где можно увеличить скорость.

Если вы просто используете запись и воспроизведение, попробуйте заменить вызовы .Keys ("xxx") на .wText = "xxx". Функция Keys будет использовать задержку в мс между нажатиями клавиш, в то время как wText просто принудительно перезаписывает текст внутри.

Второе предложение (которое вы, вероятно, уже рассматривали) - это Инструменты-> Свойства проекта по умолчанию-> Проект-> Воспроизведение, устанавливая задержки на 100 мс, 5 мс и 5 мс, чтобы свести паузы к минимуму.

Что касается свойств объекта, да, TC загружает их все. Вы можете принудительно обновить процесс в вашем приложении, чтобы данные были доступны без задержки загрузки при вызове. Это может помочь уменьшить появление задержки.


Изменить:

  • Мы также оценивали TestComplete и также столкнулись с проблемами производительности. Мне было бы очень интересно узнать, как вы их наконец решили.
  • Тем не менее, я думаю, что это продукт с большим потенциалом, и он действительно может помочь вам в организации всех ваших модульных, интеграционных и графических тестов.
person Lieven Keersmaekers    schedule 23.04.2009
comment
Спасибо за информацию! Я постараюсь удалить отладочную информацию, а также изменить другие вещи, которые вы найдете. Здорово! - person Roland Bengtsson; 23.04.2009

Теперь при запуске testcript он работает, но работает очень-очень медленно. ЦП работает на 100%, и изменение тестового сценария немного неприятно из-за медлительности. Я отключил все эффекты рабочего стола, такие как закругленные углы окон. Нет фона рабочего стола.

Кто-нибудь еще с таким же опытом или даже с решением?

Я рекомендую вам попробовать изменить TCP-порты, которые TestComplete использует для удаленных подключений. Их можно изменить в диалоговом окне параметров Network Suite. Например, вы можете установить 6100-6102 порта. Это помогает? Похожая проблема описывалась в TC 9.20, использующем high 98% cpu Тема форума SmartBear.

person heisenberg    schedule 18.04.2013