Тестирование приложения D2009 с помощью Test Complete 7.0

Мы пытаемся использовать Test Complete 7 для тестирования приложения, скомпилированного в Delphi 2009 (недавно перенесенного из D2006). Теоретически это должно быть очень просто - вы компилируете свое приложение с отладочной информацией, а затем используете утилиту стриппера, чтобы выделить отладочную информацию в отдельный файл * .tds. После этого TC должен иметь доступ ко всем необходимым свойствам и методам. На практике мы обнаруживаем, что: а) может быть довольно сложно заставить многие свойства и методы вообще появиться б) если они действительно появляются и у них есть параметры / индексы, тогда указанный список параметров / индексов может не иметь никакого отношения к фактическому список в нашем коде c) методы и свойства, которые кажутся непонятными, не работают / не возвращают ничего, кроме полной ерунды.

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

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

Кстати, в небольшом тестовом приложении мы не сталкиваемся с такими проблемами.


person Steve    schedule 02.07.2009    source источник
comment
Вы ранее использовали Test Complete 6 против скомпилированной версии Delphi 2006? Если так, то, вероятно, AQ придется что-то исправить. В противном случае вы можете предложить это в качестве шага по устранению неполадок для своей команды. Что-то могло сломаться между Test Complete 6-7 или Delphi 2006 в Delphi 2009. Переход на Unicode, вероятно, является самым большим изменением.   -  person Ryan VanIderstine    schedule 06.07.2009
comment
Раньше мы использовали Test Complete 5, но все было иначе. Вам пришлось добавить несколько модулей, чтобы приложение «открылось». В настоящее время мы работаем с AQ, но они, похоже, не знают, в чем проблема.   -  person Steve    schedule 06.07.2009


Ответы (3)


Я отвечаю на свой вопрос, так как мы нашли проблему. Добавление Generics в исполняемый файл, похоже, создает отладочную информацию, с которой Test Complete не справляется. Еще не уверен, что Delphi испортила отладочную информацию или Test Complete не читает ее должным образом.

person Steve    schedule 29.07.2009
comment
Спасибо за обновление, мы перенесли некоторые из наших модулей продукта в D2009 и решили пока не использовать Test Complete 6, так как мы также столкнулись с некоторыми проблемами. - person Ryan VanIderstine; 29.07.2009
comment
Мы перешли с Test Complete 5.0 на 7.0, потому что Automated сообщил нам, что только Test Complete 7.0 полностью поддерживает D2009. - person Steve; 29.07.2009

Если проблема не проявляется в небольшом тестовом приложении, вы можете выполнить «двоичный поиск»:

Добавьте дополнительные модули (и вызовы методов в этих модулях) большого приложения в тестовое приложение и проверьте, появляется ли проблема.

Если да, удалите некоторые блоки, пока проблема не исчезнет.

Если нет, добавьте дополнительные блоки и повторите попытку, пока проблема не появится.

После нескольких итераций вы должны найти единицы / операции, которые вызывают проблему.

person mjn    schedule 02.07.2009

Просто предложения:

Используете ли вы в своем большом проекте что-нибудь, что может изменить или иным образом «сделать недействительными» отладочную информацию? Возможно, Madexcept (разве Madexcept не объединяет отладочную информацию в сам exe, что может сделать любую другую сгенерированную отладочную информацию неверной?)

Используете ли вы для своего тестового приложения те же настройки компилятора, что и для основного приложения? Возможно, вы используете сторонний компонент в основном приложении, которого, естественно, нет в вашем тестовом приложении?

person robsoft    schedule 03.07.2009
comment
Все предложения хорошие, но все продуманы. Ничто не касается исполняемого файла, и, хотя у нас есть сторонние компоненты, мы пытались включить их в тестовое приложение, но не можем понять, почему они все равно будут иметь значение. Это простые компоненты .. - person Steve; 04.07.2009