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

Dmitry N

Регистрация: 13 янв 2005
Offline Активность: 12 фев 2013 10:48
*****

Мои сообщения

В теме: Testing java applet

02 августа 2012 - 06:06

Приветствую.

SmartBear TestComplete. Позволяет автоматизировать тестирование приложений на практически всех распространённых фрейморках, включая веб (IE, FF, Chrome) и Java (и апплеты, конечно).

В теме: Чем тестировать утечки памяти в Delphi-приложениях?

02 августа 2012 - 06:01

Приветствую.

TestComplete не может не лезть внутрь памяти тестируемого приложения, так как это фактически единственный способ реализовать настолько полное распознавание объектов внутри приложения. С точки зрения профилирования памяти "на глазок", это действительно может представлять проблему, так как не всегда понятно кто потребляет память: приложение или TestComplete.

Как в данной ситуации может помочь AQtime?

1. Если есть утечка памяти, то, скорее всего, она существует всё время работы программы. Тот факт, что становится она заметной только при длительной работе, говорит о том что утечка небольшая, но постоянная. Для AQtime'а самого факта наличия утечки уже достаточно, чтобы её обнаружить. Ему не требуется, чтобы её размер составлял многие мегабайты. Надо просто руками под AQtime'ом прогнать цикл теста один раз и проанализировать результаты.

2. AQtime достаточно гибкий инструмент и он позволяет настроить профилирование так, чтобы из результатов были исключены вся работа с памятью, производимая модулями TestComplete'а. Или наоборот, чтобы профилировалась только работа модулей тестируемого приложения. Учитывая, что в TestComplete существует тесная интеграция с AQtime'ом, вы можете гонять свои долгие тесты в TestComplete'е, профилируя при этом тестируемое приложение AQtime'ом.

В теме: [TestComplete] Тестирование Qt-приложений

23 июня 2012 - 12:49

Причина в некорректной схеме Name Mapping. TestComplete не может в процессе выполнения теста найти объект, соответствующий имени 'NameMapping.Sys.phereoshop.wndQWidget.FrameLessWidget.FrameLessWidget1.FrameLessWidget'. Надо открыть это имя в редакторе Name Mapping и посмотреть по каким свойствам оно маппирует объект. Затем надо найти объект в Object Browser и проверить значения этих свойств. Если видно, что значения не совпадают, надо модифицировать набор свойств или их значения, используемые для маппирования нужного объекта.

В теме: Как получить часть пути объекта?

23 июня 2012 - 12:45

Ой-ой-ой! TAG модель может сначала казаться более простой, особенно для простых приложений с малым количеством объектов, но впоследствии можно с ней намучатся. Не зря SmartBear от неё отказывается потихонечку.

В теме: Можно ли написать запрос в БД с использованием переменных

23 июня 2012 - 12:42

Параметры в своём запросе вы обозначаете двоеточием - ':'. Этот формат поддерживается не всеми БД. Например, его поддерживает Oracle, а если у вас MySQL, то надо использовать знак вопроса (?). В случае SQL Server надо использовать символ at - '@'.
FindQry.SQL = 'Select Count(*) as counter FROM @tab WHERE @fiel = @variab';



Далее, судя по коду, параметры tab и field (в коде, кстати, неправильно написано) являются просто названиями, а не значением:
FindQry.SQL = 'Select Count(*) as counter FROM ' + tab + ' WHERE ' + field + ' = @variab';



Да и вообще непонятно зачем вам передавать параметры в этот запрос, если можно просто сформировать нужный запрос в виде строки:
FindQry.SQL = 'Select Count(*) as counter FROM ' + tab + ' WHERE ' + field + ' = ' + variab;