4

我们正在尝试使用 Test Complete 7 来测试在 Delphi 2009 中编译的应用程序(最近从 D2006 移植)。从理论上讲,这应该很容易 - 您使用调试信息编译您的应用程序,然后使用剥离器实用程序将调试信息剥离到单独的 *.tds 文件中。然后 TC 应该可以访问它需要的所有属性和方法。在实践中,我们发现:a) 很难让许多属性和方法出现 b) 如果它们确实出现并且它们具有参数/索引,那么指示的参数/索引列表可能与实际无关在我们的代码中列出 c) 看似不正常的方法和属性不起作用/返回除了完全垃圾之外的任何内容。

有没有其他人有过这种情况的经验,你有没有遇到任何问题,如果你能够解决它们,你做了什么?

自动化 QA 正在为我们研究这个问题,但我们似乎没有取得太大进展,而且看起来他们解决这个问题的唯一方法是如果我们向他们发送我们的应用程序的源代码,这是我们不情愿的出于各种原因,从实际到合法。

顺便说一句,在一个小型测试应用程序上,我们没有遇到同样的问题。

4

3 回答 3

4

我正在回答我自己的问题,因为我们已经发现了问题。将泛型添加到可执行文件似乎会创建调试信息,Test Complete 无法处理。尚不确定是 Delphi 弄乱了调试信息,还是 Test Complete 没有正确读取它。

于 2009-07-29T09:08:55.377 回答
3

如果问题没有出现在小型测试应用程序中,您可以进行“二分搜索”:

将大应用程序的更多单元(以及这些单元中的方法调用)添加到测试应用程序中,并检查是否出现问题。

如果是,请移除一些单元,直到问题消失。

如果不是,请添加更多单元并再次测试,直到出现问题。

经过一些迭代后,您应该找到导致问题的单元/操作。

于 2009-07-02T15:37:49.850 回答
1

只是建议:

在您的大项目中,您是否使用了任何可能改变或以其他方式“无效”调试信息的东西?Madexcept 也许(Madexcept 不会将调试信息捆绑到 exe 本身中,这可能会导致任何其他生成的调试信息不​​正确?)

您是否为您的测试应用程序使用与主应用程序相同的编译器设置?也许您在主应用程序中使用了第三方组件,而该第三方组件自然不会出现在您的测试应用程序中?

于 2009-07-03T11:46:09.350 回答