本章包含:

配置测试中的应用程序以获得覆盖率

应用程序覆盖工作流的第一步是为覆盖配置被测应用程序(AUT)。这包括生成一个静态覆盖率数据文件,该文件捕获关于源代码的信息,以及为 AUT 配置覆盖率代理。为此:

  1. 在构建机器上,按照 DTP 引擎文档(“代码覆盖引擎”部分)的描述生成一个静态覆盖文件。
  2. 使用 Parasoft 覆盖代理配置测试中的应用程序,如 DTP 引擎文档(“代码覆盖引擎”部分)中所述。

测试配置和执行

通过正确的配置,SOAtest 将在测试执行期间收集应用程序覆盖率。若要配置和执行应用程序覆盖率数据收集的 SOAtest:

  1. 配置一个 SOAtest 测试配置来收集应用程序覆盖率数据,如下所示:
    1. 打开想要收集应用程序覆盖率数据的测试配置。
    2. 打开 Execution> Application Coverage 选项卡。
    3. 启用 Collect application coverage 选项。
    4. Coverage agent host下,指定覆盖率代理所在机器的主机名或 IP 地址。
    5. Coverage agent port下,指定覆盖率代理的端口。默认为 8050。可以单击 Test Connection 检查设置是否正常工作。
    6. (可选)在 Coverage agent user Id 下,您可以指定一个用户 ID,以便覆盖率结果可以与特定的用户相关联。只有当覆盖率代理被配置为以多用户模式运行时,才应该指定用户 ID。有关更多详情,请查阅 DTP 引擎文档。
    7. 如果希望在覆盖率代理连接失败时报告测试失败,请选中 将覆盖率代理连接失败报告为测试失败。否则连接问题将报告给控制台,但不会导致测试失败。
    8. 选中 Retrieve coverage data,然后使用 Coverage data storage directory 指示要将动态覆盖率数据存储在何处。如果覆盖率代理运行在生成静态覆盖率的构建机器上,则不需要启用此选项(因为,在本例中,静态和运行时数据都可以直接从构建机器发布到 DTP)。
    9. 如果想要在 SOAtest 检索到 AUT 上的覆盖率数据时立即删除它,那么也要进行检查 Delete coverage data on retrieval。我们建议启用这个选项,以防止覆盖代理所在机器上的数据文件堆积。
    10. 应用测试配置更改。
  2. 配置 SOAtest localsettings 文件,其设置:
    • 基于您希望如何关联覆盖结果的构建id (build.id)。如果想要将这些覆盖率结果与来自其他类型测试的结果合并(如同一应用程序的单元测试和手工测试),则它们必须使用相同的构建 id。这里的构建 id 集必须与收集静态和动态覆盖文件并上传覆盖数据时在 DTP 引擎上设置的构建 id 集相匹配。
    • 项目 (dtp.project)。此值必须与当收集静态和动态覆盖文件并上传覆盖数据时将在 DTP 引擎上设置的 dtp.project 值相匹配。
  3. 使用前面配置的测试配置和 localsettings 文件在命令行模式下运行测试(如 配置、收集和审查应用程序覆盖率中所述)。此测试应该是自动化过程的一部分。

自动化注意事项

确保在每个 cli 运行之前,从指定的 Coverage data storage directory 中删除任何现有的覆盖率文件。

上传测试结果到 DTP

为了使 DTP 将覆盖率结果与 SOAtest 测试结果联系起来,它需要关于执行了哪些测试以及测试执行结果的详细信息。确保 Parasoft> Preferences> DTP 下的 Enable reporting results to DTP 选项已启用。需要使用命令行选项的有效许可证。

创建一个合并的覆盖率报告并将其上传到 DTP

工作流的最后一步是让 DTP 引擎关联静态和动态覆盖数据,以确定当前测试集覆盖了哪些源代码。若要执行此处理并将结果上传到 Parasoft DTP:

  1. 请使用 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 中的测试资源管理器,以便您可以查看附加的测试和覆盖率信息。


  • No labels