本章包含:

配置测试中的应用程序以获得覆盖率
应用程序覆盖工作流的第一步是为覆盖配置被测应用程序(AUT)。这包括生成一个静态覆盖率数据文件,该文件捕获关于源代码的信息,以及为 AUT 配置覆盖率代理。为此:
- 在构建机器上,按照 DTP 引擎文档(“代码覆盖引擎”部分)的描述生成一个静态覆盖文件。
- 使用 Parasoft 覆盖代理配置测试中的应用程序,如 DTP 引擎文档(“代码覆盖引擎”部分)中所述。
测试配置和执行
通过正确的配置,SOAtest 将在测试执行期间收集应用程序覆盖率。若要配置和执行应用程序覆盖率数据收集的 SOAtest:
- 配置一个 SOAtest 测试配置来收集应用程序覆盖率数据,如下所示:
- 打开想要收集应用程序覆盖率数据的测试配置。
- 打开 Execution> Application Coverage 选项卡。
- 启用 Collect application coverage 选项。
- 在 Coverage agent host下,指定覆盖率代理所在机器的主机名或 IP 地址。
- 在 Coverage agent port下,指定覆盖率代理的端口。默认为 8050。可以单击 Test Connection 检查设置是否正常工作。
- (可选)在 Coverage agent user Id下,您可以指定一个用户下,您可以指定一个用户 ID,以便覆盖率结果可以与特定的用户相关联。只有当覆盖率代理被配置为以多用户模式运行时,才应该指定用户 ID。有关更多详情,请查阅 DTP 引擎文档。
- 如果希望在覆盖率代理连接失败时报告测试失败,请选中 Report coverage agent connection failures as test failures。否则连接问题将报告给控制台,但不会导致测试失败。
- 选中 Retrieve coverage data,然后使用 Coverage data storage directory 指示要将动态覆盖率数据存储在何处。如果覆盖率代理运行在生成静态覆盖率的构建机器上,则不需要启用此选项(因为,在本例中,静态和运行时数据都可以直接从构建机器发布到 DTP)。
- 如果想要在 SOAtest 检索到 AUT 上的覆盖率数据时立即删除它,那么也要进行检查 Delete coverage data on retrieval。我们建议启用这个选项,以防止覆盖代理所在机器上的数据文件堆积。
- 应用测试配置更改。
- 配置 SOAtest localsettings 文件,其设置:
- 基于您希望如何关联覆盖结果的构建id (build.id)。如果想要将这些覆盖率结果与来自其他类型测试的结果合并(如同一应用程序的单元测试和手工测试),则它们必须使用相同的构建 id。这里的构建 id 集必须与收集静态和动态覆盖文件并上传覆盖数据时在 DTP 引擎上设置的构建 id 集相匹配。
- 项目 (dtp.project)。此值必须与当收集静态和动态覆盖文件并上传覆盖数据时将在 DTP 引擎上设置的 dtp.project 值相匹配。
- 使用前面配置的测试配置和 localsettings 文件在命令行模式下运行测试(如 Configuring, Collecting, and Reviewing Application Coverage中所述)。此测试应该是自动化过程的一部分。
确保在每个 cli 运行之前,从指定的 Coverage data storage directory 中删除任何现有的覆盖率文件。 |
上传测试结果到 DTP
为了使 DTP 将覆盖率结果与 SOAtest 测试结果联系起来,它需要关于执行了哪些测试以及测试执行结果的详细信息。确保 Parasoft> Preferences> DTP 下的 Enable reporting results to DTP 选项已启用。需要使用命令行选项的有效许可证。

创建一个合并的覆盖率报告并将其上传到 DTP
工作流的最后一步是让 DTP 引擎关联静态和动态覆盖数据,以确定当前测试集覆盖了哪些源代码。若要执行此处理并将结果上传到 Parasoft DTP:
- 请使用 DTP 引擎生成 coverage.xml 文件,并按照 DTP 引擎文档中的描述将其上传到 DTP。请记住,SOAtest 将动态覆盖率数据存储在 SOAtest 测试配置 Coverage data storage 字段中指定的位置。
在生成 coverage.xml 文件之前,请确保从 DTP 引擎设置的构建 id 和项目值与在 SOAtest localsettings 文件中设置的值相匹配。 |
审查 DTP 中的覆盖率
单击 DTP 中的覆盖率小部件以打开覆盖率浏览器并查看您的 SOAtest 测试所获得的应用程序覆盖率。按照 DTP 引擎文档中的描述创建覆盖率报告时,覆盖率浏览器将显示 SOAtest 和其他测试执行工具的合并的相关覆盖率。有关使用覆盖率资源管理器的详细信息,请查阅 DTP 文档(Report Center> Explorer Views> Coverage Explorer)。

测试面板显示了关于文件和相关覆盖率的详细信息。测试名称还链接到 DTP 中的测试资源管理器,以便您可以查看附加的测试和覆盖率信息。
