如何测试 ActiveX 部件

为了测试一个部件,需要创建一个客户应用程序。部件为客户端提供对象,这就使得让它们自己测试自己变得十分困难。

测试工程应该调用部件所提供的每个对象的所有属性、方法,以及事件,测试所有参数的有效值和无效值。

例如,只简单地调用一次 Widget 对象的 Spin 方法是不够的,应该进行一系列调用来测试所有参数的有效值和无效值。尤其要注意最大和最小有效值,因为这些边界条件往往就是问题所在。

既要测试功能,又要测试错误情况。在出错时,比如接受到了意外的输入值,也要确保部件能运转良好。尤其重要的是,要保证在进程内部件的事件过程中涵盖了所有出错情况,因为这样的错误对于使用部件的客户应用程序来说可能是致命的。

提示 测试工程还可以用来测试已编译的部件,这在“如何测试已编译的部件”中介绍。

使测试工程一般化以便有更好的适应能力

可以通过使测试工程一般化来改善测试的过程。例如,如果为 Spin 方法的每个参数创建一个文本框,同时创建一个调用该方法的按钮,那么可以使用自动测试工具来维护和运行综合的测试过程。这会使测试属性与方法的组合更加容易。

把部件作为应用程序的一部分来测试

如果部件是作为应用程序的一部分创建的,那么可以用应用程序自身作为测试程序。理论上讲,对应用程序的完整测试可以发现其部件的任何错误。

实际情况却并非如此。应用程序即使强调测试,仍旧不能测试它使用的部件的所有接口。

为了测试部件的某一特定特性,不得不指出哪些应用程序的动作必须测试,这时为建立测试情况也有很多工作要做。一个好办法是,建立一个综合的测试程序,直接测试每个对象接口的每个元素。

如果每个部件都被单独测试过了,那么测试含有这些部件的应用程序将会提供更高的质量保证。

创建测试工程

测试工程必须是 Exe 工程。除测试回调情况外,测试工程是标准的 Exe 工程。要测试回调情况,使用 ActiveX 的 Exe 工程,它可以包含实现回调方法的公共类。关于回调的讨论在“建立代码部件”的“异步的回调与事件”中。

建立测试工程的方法取决于测试的是进程内部件还是进程外部件。其原因在“测试和调试 ActiveX 部件”中解释。

下列相关主题提供了详细的过程:

注意 ActiveX 文档没有浏览器或其它活动文档容器时,ActiveX 文档不能被调试。详细信息请参阅“建立 ActiveX 文档”。

详细信息 有关测试和调试的主题的列表请参阅“测试和调试 ActiveX 部件”。