; ; ; 在平台开发或发布设备的过程中,随时都可以使用测试工具包。CETK 可用于测试系统整体的稳定性,也可用于测试开发中的驱动程序的稳定性。
; ; ; 使用 CETK 之前,需要向平台添加对 CETK 的支持。可以使用以下两种方法:通过从 Platform Builder 目录添加 CETK 组件来向平台添加 CETK 支持,或者在运行 CETK 测试之前将文件复制到平台中。
; ; ; CETK 要求目标设备与开发工作站所在的网络之间通过以太网连接。不能通过用于调试的以太网连接来运行 CETK 测试。请注意,可以在已作为调试映像生成的 Windows CE .NET 操作系统上运行 CETK 测试。在这种情况下,平台中需要包括完整的网络驱动程序,而不是用于调试的以太网驱动程序。
注意:要使用 CETK,请不要通过小型内核配置生成平台,因为 CETK 无法在通过小型内核配置生成的平台上运行。
在 Platform Builder 中向平台添加 CETK 测试
注意:在目录中包括 CETK 组件并不会向操作系统映像添加任何其他文件。某些 CETK 所需的文件将放置在生成发行版文件夹中,包括 clientside.exe 文件。
由于操作系统映像中不包括 CETK 组件,因此必须下载并运行名为 clientside.exe 的客户端 CETK 应用程序。
在操作系统映像中运行 CETK 客户端软件 (clientside.exe)
请注意,Run Programs 对话框将列出在平台的生成发行版文件夹中找到的所有可执行代码。此列表可能包括不属于有效操作系统映像 [nk.bin] 的应用程序。
现在可以在开发工作站上运行 CETK 工具了。
在开发工作站上运行 CETK 工具
在开发工作站上,Clientside.exe 文件位于与目标设备的 CPU 名称相对应的目录中,即 %_WINCEROOT%/Others/Wcetk 目录。
例如,键入 clientside /n=machine1 /p=5555 可以运行 Clientside.exe 可执行文件并连接到使用端口号 5555 的 machine1,还可以编辑 Clientside.exe 文件所在目录中的 Wcetk.txt 文件。如果在生成平台之前向平台添加了 CETK 支持,则 Platform Builder 将在发行版目录中为平台创建一个 Wcetk.txt 文件。
还可以修改目标设备上的以下注册表项:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/CETT。如果找不到命令行和 Wcetk.txt 文件,Clientside.exe 将从此注册表项中读取设置。如果使用 Windows CE .NET Platform Builder 生成自定义的操作系统映像,则可以通过编辑平台的 product.reg 文件来修改目标设备的注册表,包括 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/CETT 注册表项。生成操作系统映像时,Product.reg 文件的信息被内置到操作系统中。另外,也可以在目标设备运行时使用远程注册表编辑器工具来修改目标设备的注册表。
所有的工作都将在 CETK 的 PC 端或主机端完成。所有测试都存储在 PC 端,即控制设备的地方。主机端用户界面为用户测试设备提供了简单、灵活的环境,并提供了很多功能帮助您管理单个驱动程序或整个设备的测试。
Test Suite Editor 对话框可用于创建和管理 CETK 的测试套件。测试套件是选出的要进行的测试,存储在 CETK 中,可应用到 CETK 窗口中的任何目标设备。
Test Suite Editor 可用于创建包含要运行的测试的测试套件。可以将测试套件应用到目标设备上,以便自动选择在 Test Suite Editor(测试套件编辑器)中选定的测试,而不必在目标设备上逐一选择测试。
用户还可以更改用于测试的默认命令行,以更改测试的运行方式和测试的内容。每个测试通常都包含很多其他选项,用于添加更多功能测试。
CETK 的设备端称为 Clientside.exe。Clientside.exe 是一个很小的应用程序,负责调用主机以建立连接、检测设备、启动测试并向主机返回结果。
Tux 是一种用于在 Windows CE .NET 设备上编写和执行测试代码的标准方法。Tux 模型的主要组件是可执行文件 tux.exe,该文件负责启动和控制 tux.dll 文件。
CETK 为用户提供了生成自定义测试的所有必要文件和说明,使用 User Test Wizard(可以从主机用户界面访问该向导),可以将这些测试添加到 CETK 中。
Tux 客户端(即 tux.exe)是 Tux 的主要组件。它可以独立运行,也可以与 CETK 结合使用。Tux 客户端是一个控制台应用程序,它采用下面的语法。
tux [-b] [-e] [-s 文件名 | -d 测试 DLL] [-c 参数] [-r 初始化向量] [-x 测试事例] [-l] [-t 地址] [-h] [-k 地址] [-o] [-f 文件名] [-a]
下表显示了各种 Tux 参数。
参数 | 说明 |
---|---|
-b | 加载每个 Tux DLL 后断开。 |
-e | 禁用异常处理。 |
-s 文件名 | 指定要加载/执行的 Tux 套件文件。 |
-d 测试 DLL | 指定要加载/执行的 Tux 测试 DLL。 |
-c 参数 | 要传递给 Tux DLL 的命令行。 |
-r 初始化向量 | 指定起始随机初始化向量。 |
-x 测试事例 | 指定要运行的测试事例。 |
-l | Tux DLL 中所有测试事例的列表。 |
-t 地址 | 指定运行 Tux 服务器的计算机。使用不带参数的 -t 指定本地服务器。 |
-h | 生成 Tux 参数列表。 |
Tux 还可以使用名为 Kato 的 .dll 日志记录文件,该文件用于提供通用日志记录接口。Kato 日志记录引擎 (Kato) 是一个面向对象的 32 位客户端/服务器日志记录引擎,允许应用程序记录到单个接口,并将其输出路由到用户定义的多个输出设备上。Kato 是完全线程安全和进程安全的。Kato 为基于 Windows 的桌面操作系统提供了 ANSI 和 UNICODE 接口。
CETK 自动将 Kato 用作日志记录的方法,以便所有 CETK 测试的结果都相似,从而更加便于理解。
要查看已运行的任何测试的结果,请在该测试上单击右键,然后单击 View Result。将打开选定测试的最新结果。首先显示的信息是测试摘要。每个测试实际上是一个测试套件;每个套件中的某些测试可能会通过,而其他测试可能会失败。如果套件中的任意一个测试失败,CETK 将使整个测试套件失败。例如,如果在只包含 IPV4 的设备上运行 Winsock 测试,测试将显示为失败;如果查看结果,将看到 2 个测试通过,2 个测试失败。这 2 个失败的测试是由于设备中不包含 IPV6,因此在这种情况下,失败是可以预见的。要使 Winsock 测试完全通过,需要安装 IPV4 和 IPV6。
由于 CETK 中的每个测试都是一个测试套件,因此套件中可能有些测试会失败,有些测试会通过。图 1 显示了 Winsock 测试结果。该 Winsock 测试套件包含四个测试。在此方案中,两个测试通过,两个测试失败。如果选择失败的测试,测试列表下方的窗口将显示该测试的结果。结果将说明所测试的内容以及可能返回的结果。它还提供了测试源,以便进一步研究失败原因。测试源位于 Platform Builder 的最后一张 CD 的 CETK_Sources 文件夹中。也可以从 Web 上下载这些测试,如 Shared Source for the Windows CE .NET 4.1 Test Kit(英文)一文中所述。