前言

连接 DTP 可获得网络许可证并将本地分析数据发送到集中式数据库。您可以发送以下信息:

  • 静态分析和指标结果(包括抑制详细信息)
  • 单元测试结果(包括可追溯性信息)
  • 覆盖率统计(针对所有覆盖率类型)
  • 覆盖率详细信息(行覆盖率)

DTP 对数据进行整合、分析和优先级排序,以帮助您优化开发流程,关注变更代码的影响,并提供完全的合规性可追溯性。详细信息请参阅关于 Parasoft 开发测试工作流程

版本兼容性

如果您将 C/C++test 实例连接到 DTP,请确保连接的 DTP 版本支持相应的 C/C++test 版本。例如,将 C/C++test 升级到 10.4.3 版本则需要将 DTP 升级到相应的 5.4.3 版本。

在 GUI 中连接 DTP

将 Parasoft C/C++test 连接到 Parasoft DTP 服务器的步骤:

  1. 在 IDE 中点击菜单栏的 Parasoft,选择选项(Visual Studio)或首选项(Eclipse)。
  2. 选择 DTP
  3. 开启启用选项激活服务器设置。


     

    基本 URL指定 DTP 服务器基本 URL。 

    如果 DTP 部署到主机服务器根目录以外的位置,则该 URL 应包括上下文路径(主机名的相对路径;示例:https://mydtp.mycompany.com:8443/contextPath)。如果您的组织使用反向代理,则可能会是这种情况有关反向代理服务器配置和上下文路径配置的更多信息,请参阅 DTP 文档。

    用户名指定 DTP 的用户名。如果没有权限,请联系您的 DTP 管理员。启用默认选项,使用您的机器名登录。
    密码指定 DTP 的密码。如果没有权限,请联系您的 DTP 管理员。

    点击测试连接以验证连接。 

     
    (info) 如果在 DTP 上使用 OpenID Connect 进行身份验证,请提供您的 DTP 服务器的基本 URL,然后配置与 OpenID Connect 服务器的连接;请参阅在 UI 中配置 OpenID Connect。当您成功连接到 OpenID Connect 服务器时,DTP 页面将自动显示信息。
  4. 项目部分点击配置按钮打开包含 DTP 中所有可用项目的对话框,并选择当前正在处理的项目。

  5. 活动许可证显示在许可证部分。  根据许可证类型,在建立与 DTP 的连接时会自动配置许可证。点击配置链接可手动配置您的许可证选项(如果适用)。

  6. 报告部分,勾选启用发送报告结果到 DTP,可向 DTP 发送静态分析任务、单元测试结果和覆盖率信息。

    要将报告发布到 DTP,需要具有以下选项之一的有效许可证:DTP Publish 或 Automation。
    您可以点击编辑链接配置高级报告设置(键=值)

  7. 点击确定保存设置。

在 GUI 中配置 OpenID Connect

DTP 支持 OpenID Connect 用户身份验证(详细信息请参阅 DTP 用户指南)。如果为 DTP 服务器启用了 OpenID Connect,则必须配置 C/C++test 以通过 OpenID Connect 对用户进行身份验证。

  1. 在 IDE 中点击菜单栏的 Parasoft,选择选项(Visual Studio)或首选项(Eclipse)。
  2. 选择 OpenID Connect
  3. 勾选启用
  4. 配置以下选项:
    发行人 URI:OpenID Connect 服务器的 URI。
    客户端 ID:在 OpenID Connect 服务器上注册的 ID。
    客户端密码:应用程序连接 OpenID Connect 服务器的密码。
    范围:以空格分隔的范围列表,用于在身份验证过程中授权访问用户的详细信息。
    回调主机:与 OpenID Connect 服务器通信所需的本地回调主机。可选择以下选项:
        - localhost:通信将使用 localhost 地址。
        - 127.0.0.1:环回 IP 地址 127.0.0.1 将用于通信。
    回调端口:与 OpenID Connect 服务器通信的回调端口号。可选择以下选项:
        - 自动选择一个打开的端口:自动选择一个打开的端口(推荐)。
        - 使用端口:允许手动指定端口号。
    回调超时:以秒为单位指定浏览器等待用户凭据的最长时间(请参阅第 6 步)。
  5. 点击测试身份验证应用,在浏览器中打开 OpenID Connect 身份验证页面。
  6. 在打开的浏览器窗口中提供您的凭据。该身份验证页面可能类似于:
  7. 显示身份验证确认后,关闭浏览器窗口,在 IDE 中继续操作。
  8. 点击应用以应用更改。

(info) 状态窗格显示当前 OpenID Connect 身份验证的状态。

在命令行中连接 DTP

在命令行模式下使用 C/C++test 执行测试时连接 DTP 的步骤:

  1. 在自定义 .properties 文件中指定连接设置。
  2. 使用 -settings 命令行选项提供 .properties 文件的路径:

    cpptestcli -settings [PATH_TO_.PROPERTIES_FILE]

所需设置

配置连接需要以下设置: 

  • dtp.enabled=true - 启用与 DTP 服务器的连接。
  • dtp.url=[URL] - 指定 DTP 服务器的 URL。
  • dtp.user=[USERNAME] - 指定 DTP 服务器身份验证的用户名。
  • dtp.password=[PASSWORD] - 指定 DTP 服务器身份验证的密码。
  • report.dtp.publish=true - 启用向 DTP 服务器报告结果。
我们强烈建议您使用经过编码的密码,以确保身份验证成功并提高安全级别;请参阅创建编码密码

可选设置

  • dtp.project=[NAME] - 指定 DTP 项目的名称。
  • build.id=[IDENTIFIER] - 指定用于标记结果的构建标识符。
  • session.tag=[TAG] - 指定一个为测试会话的结果签名的标签。
  • dtp.additional.settings=[KEY1\=VALUE1\nKEY2\=VALUE2...] - 指定向 DTP 报告结果的高级设置。

在命令行中配置 OpenID Connect

DTP 支持 OpenID Connect 用户身份验证(详细信息请参阅 DTP 用户指南)。如果为 DTP 服务器启用了 OpenID Connect,则必须配置 C/C++test 以通过 OpenID Connect 对用户进行身份验证。

.properties 文件(在其中配置了与 DTP 服务器的连接)中配置以下设置。

如果将使用设备代码身份验证(默认):

  • oidc.enabled=true - 通过 OpenID Connect 启用用户身份验证。
  • oidc.cli.mode=devicecode - 指定用于在 OpenID Connect 服务器上验证用户身份的方法。请参阅使用设备代码身份验证

  • oidc.issuer.uri=[URI] - 指定 DTP 注册的 OpenID Connect 服务器的 URI。
  • oidc.client.id=[ID] - 指定 OpenID Connect 服务器提供的 ID。
  • oidc.client.secret=[PASSWORD] - 指定 OpenID Connect 服务器提供的密码。
  • oidc.scopes=[list of scopes] - 定义以空格分隔的范围列表,在身份验证期间使用这些范围来授权访问用户的详细信息。默认值为: openid profile offline_access
  • oidc.keystore=[PATH] - 指定存储了用于在 OpenID Connect 服务器上验证用户的证书的密钥库文件路径。
  • oidc.keystore.password=[PASSWORD] - 指定存储了自签名客户端证书的密钥库文件的密码。
  • oidc.devicecode.token.file=[PATH] - 指定包含用户身份验证信息的自定义令牌文件的路径

如果将使用证书身份验证:

  • oidc.enabled=true - 通过 OpenID Connect 启用用户身份验证。
  • oidc.cli.mode=certificate - 指定用于在 OpenID Connect 服务器上验证用户身份的方法。
  • oidc.issuer.uri=[URI] - 指定 DTP 注册的 OpenID Connect 服务器的 URI。
  • oidc.client.id=[ID] - 指定 OpenID Connect 服务器提供的 ID。
  • oidc.client.secret=[PASSWORD] - 指定 OpenID Connect 服务器提供的密码。
  • oidc.keystore=[PATH] - 指定存储了用于在 OpenID Connect 服务器上验证用户的证书的密钥库文件路径。
  • oidc.keystore.password=[PASSWORD] - 指定存储了自签名客户端证书的密钥库文件的密码。

我们强烈建议您使用经过编码的密码,以确保身份验证成功并提高安全级别;请参阅创建编码密码

详细信息请参阅 OpenID Connect 设置

创建编码密码

C/C++test 可以为密码加密,这为您与 DTP 的交互增加了一层安全保护措施。运行以下命令打印编码密码:

-encodepass [your password]

复制返回的编码密码,并使用该密码配置 .properties 文件中的连接。示例:

  • dtp.password=[您的编码密码]
  • oidc.keystore.password=[您的编码密码]

使用设备代码身份验证

如果启用了“devicecode”模式,则会将带有用户代码的验证 URI 打印到 C/C++test 的控制台中。用户必须使用该 URI 和代码进行身份验证。如果身份验证成功,信息将保存到令牌文件(文件的路径存储在 oidc.devicecode.token.file 设置中)中,并在每次运行 C/C++test 时复用。如果文件中保存的信息失效,用户需要重新进行身份验证。

关于 Parasoft 开发测试工作流程

除了为测试和分析您正在开发的软件提供许可和共享资产之外,Parasoft DTP 还从 Parasoft 工具、第三方分析工具和外部系统(如漏洞跟踪和需求跟踪系统)收集与合并数据点。DTP 会对数据进行整合和优先级排序,并执行额外的分析来帮助您优化开发流程。将代码分析和测试执行工具与 DTP 一起使用能够在跨团队和整个 SDLC 中应用一致的质量实践。

下图显示了一般的工作流程。

将 Parasoft 工具与构建工具集成

Parasoft 工具附带的插件可以与您的构建工具(如 Maven、Ant、Gradle、MS Build、make 等)集成。这些集成允许您分析代码并自动向 DTP 发送数据,作为自动化构建流程和持续集成(CI)的一部分。

捕获监测结果

当分析工具运行时,它会捕获与监测的代码相关联的大量详细数据。监测结果为代码质量数据,如静态分析违规、单元测试失败、指标等,以及关于代码的逻辑信息,如作者身份、范围和源码控制位置。 

将数据转换为任务

当监测结果被发送到 DTP 时,它们会转换成“任务”并存储在数据库中。任务是经过分析、标准化并汇总为可操作数据的监测结果。 

将 DTP 任务导入桌面端

您可以将关键问题和过滤后的任务从 DTP 直接导入 IDE 中处理。

持续循环

当您将代码签回源码控制中时,持续集成过程会获取更改数据,并重复工作流程。这样就能够及时检测到缺陷,防止缺陷在开发过程后期演变为软件中的 bug,导致补救成本变得更高。 



  • No labels