Перейти к содержимому

Фотография

Вопрос о памяти


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 kazachis4e

kazachis4e

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 31 августа 2011 - 13:00

Всем привет.
Заметил одну странную штуку: если запускать тестируемое приложение руками - оно занимает одно число оперативной памяти (скажем 21мб), а если запускать из под TesComplete8.20(demo) - то размер только что запущенного приложения больше (28мб). Приложения из под ТС запускал из TestedApps. Все бы ничего, 7мб сильно жизнь не портят, однако дело дошло до того, что при длительном тестировании приложения тесткомплитом (порядка 3х часов в моем случае) - память, занимаемая процессом, становится все больше и больше и приложение виснет на отметке 700мб. Ок, утечка памяти в приложение - дело одно, но возникает вопрос: а может ли быть нечто подобное из-за ТестКомплита? Скорее всего это точно не только из-за ТС, однако проверить это - весьма объемная задача, учитывая что запущенное руками приложение занимает меньше памяти и наработать в приложении до такой степени, чтоб оно в итоге стало занимать 600мб - нужно очень много человекочасов. В итоге вопрос состоит вот в чем: мог ли ТС усугубить размер приложения, ну и самое главное - нормально ли это? Может он как-то неявно вызывает какие-то методы? Вообщем вопрос очень важный для меня, учитывая баг с утечкой памяти в приложении.
PS: такая разницы в размере приложения касается не только данного приложения (где утечка памяти), но и, например, стандартного калькулятора. Возможно косяк находится на моей машине, так что было бы не плохо если б кто-нидь проверил это у себя, времени это много не займет.
  • 0

#2 luk

luk

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Даниленко Артем Сергеевич

Отправлено 31 августа 2011 - 15:24

Всем привет.
Заметил одну странную штуку: если запускать тестируемое приложение руками - оно занимает одно число оперативной памяти (скажем 21мб), а если запускать из под TesComplete8.20(demo) - то размер только что запущенного приложения больше (28мб). Приложения из под ТС запускал из TestedApps. Все бы ничего, 7мб сильно жизнь не портят, однако дело дошло до того, что при длительном тестировании приложения тесткомплитом (порядка 3х часов в моем случае) - память, занимаемая процессом, становится все больше и больше и приложение виснет на отметке 700мб. Ок, утечка памяти в приложение - дело одно, но возникает вопрос: а может ли быть нечто подобное из-за ТестКомплита? Скорее всего это точно не только из-за ТС, однако проверить это - весьма объемная задача, учитывая что запущенное руками приложение занимает меньше памяти и наработать в приложении до такой степени, чтоб оно в итоге стало занимать 600мб - нужно очень много человекочасов. В итоге вопрос состоит вот в чем: мог ли ТС усугубить размер приложения, ну и самое главное - нормально ли это? Может он как-то неявно вызывает какие-то методы? Вообщем вопрос очень важный для меня, учитывая баг с утечкой памяти в приложении.
PS: такая разницы в размере приложения касается не только данного приложения (где утечка памяти), но и, например, стандартного калькулятора. Возможно косяк находится на моей машине, так что было бы не плохо если б кто-нидь проверил это у себя, времени это много не займет.


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

Но возможно я не прав.
  • 0

#3 kazachis4e

kazachis4e

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 02 сентября 2011 - 07:25

Сейчас потестил приложение руками - стабильно занимает не больше 45 метров, утечек не наблюдается, однако по прежнему если прогонять автотесты - память постепенно заполняется и приложение виснет. Попробовал не много прогнать тесты на другом приложении на другом компе (не много, да зависания не доходило, ибо тесты еще в процессе написания) - тоже самое, память увеличивается только при тестировании с помощью TC. Уж не знаю что думать, сейчас буду пробовать найти что-нидь на форумах поддержки офф сайта.
  • 0

#4 kazachis4e

kazachis4e

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 02 сентября 2011 - 10:11

Появился один маленький вопрос: а что такое нативная память? Погуглив, я пока пришел только к одному выводу - это некоторая области памяти, используемая для хранения метаинформации. Хотелось бы узнать более побробно что это такое, и как на нее влияет TestComplete. Попробовал немного разобраться в AQTime - там этот термин используется очень часто. В итоге есть подозрение что TC, сканируя например какой либо объект (например при вызове функции типа FindAllChildren) заставляет всю метаинформацию о найденных/просканенных объектах/свойствах собираться в этой самой нативной памяти. При ручном тестировании конечно же пользователь всего этого не делает с приложением. Но опять же это все догадки. Буду благодарен если кто из знающих людей что-нибудь скажет по этому поводу.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных