本主题描述了 SOAtest 测试配置可用的设置。

本章包含:


与配置和共享测试配置相关的通用过程在 Parasoft 测试家族中是标准化的,在 配置用于策略的测试配置和规则中所描述。

Scope 选项卡设置:定义要测试的代码

仅适用于源码静态分析。

测试期间,SOAtest 将在所选定资源的所有代码上执行所选定操作,其中所选定资源满足所选定测试配置的作用域标准。默认情况下,SOAtest 在所选定项目或资产中的所有文件上进行操作。然而,可以使用 Scope 选项卡来配置限制,如下所示:

注意,某些文件过滤器和行过滤器仅适用于在受支持的源代码控制系统下工作的项目。

Scope 选项卡具有以下设置:


提示

  • 可以使用 Perl 风格的表达式。
  • 支持以下通配符:
    • * 匹配除 '/’之外的 0 或多个字符。
    • ?  匹配除 '/’ 之外的任何单个字符。
    • ** 匹配包括 '/’ 的 0 或多个字符。它允许包含路径元素。
  • 以下示例元素默认添加到编码查核配置:
    • **/Bin/**/*.properties 添加到所拒绝通配符示例列表。
    • (.*?/(bin|obj)(/x86|/x64){0,1}/(Debug|Release)/.*?\\.(dll|exe|pdb))$ 添加到所拒绝正则表达式示例列表。
  • 正则表达式用于识别特殊的差异。例如,如果希望只标记添加、删除或修改 TODO 标签的源码变更,则将可以差异正则表达式
    .*TODO.*

示例

一个基本的文件掩码可能是:

  • *.java, *.xml, *.properties
  • *.c, *.cpp, *.h, *.cc, *.hpp, makefile, .project, .classpath
  • *.c, *.cpp, *.h, *.cc, *.hpp, makefile, *.sln, *.prj, *.res
  • *.cs, *.vb, *.sln, *.prj, *.resx

若要包含路径上所存在的名为 "bank" 或 "customer” 的文件夹的每个文件,则使用: 

  • **/bank/**, **/customer/**

若要包含路径上所存在的名以 "bank” 开头,中间包括 "customer” 或以 "invoice” 结尾的文件夹的每个文件,则使用: 

  • **/bank*/**, **/*customer*/**, **/*invoice/**

若要包含每个 .java 文件,其中 1) 名称以 "Test” 开头, 2) 定位于名为 "security" (其在任何项目的 src/test 目录中)的文件夹中,则使用:

**/src/test/**/security/Test*.java 

若要包含每个 .cs 文件,其中 1) 该文件在 ATM 解决方案中,2) 该文件属于 ATMLib 项目,3)该文件在 CompanyTests 子文件夹内,4)该文件名称以 "Test” 开头,则使用:

ATM/ATMLib/CompanyTests/**/Test*.cs 



代码作者信息和最近修改日期按照作用域和作者首选项页面中设置的方式确定;有关可用设置的详细信息,请查阅 配置任务分配和代码作者设置

静态选项卡设置:定义如何执行静态分析

测试期间,SOAtest 将根据该测试使用的测试配置中定义的参数执行静态分析。 

Static 选项卡具有以下设置:


  • 每个规则 ID 旁边的数字表示规则的严重度级别。严重度级别表示违反的违规可能将导致验证的构造缺陷(导致应用程序问题的编码结构,如性能低下、安全漏洞等)。潜在的严重度级别(从最严重到最不严重)有:
    • 最高 - 级别 1
    • 高 - 级别 2
    • 中等 - 级别 3
    • 低 - 级别 4
    • 最低 - 级别 5
  • 若要了解 SOAtest 包含的规则,请选择 Help> Help Contents,然后打开 SOAtest Static Analysis Rules 图书,然后浏览可用规则说明文件。
  • 若要生成一个可打印的列表,其中包含给定测试配置要检查的所有规则:
    1. 通过选择 Parasoft> Test Configurations打开测试配置面板。
    2. 选择表示要修改的用户定义测试配置的测试配置类别。
    3. 打开 Static 选项卡。
    4. 单击 PrintableDocs 按钮。


Execution 选项卡设置:定义如何执行测试

测试期间,SOAtest 将根据所选定测试配置的 Execution 选项卡中定义的参数执行测试用例。对于任何级别的执行,必须启用顶部 Enable Test Execution 选项。

Functional 选项卡

Execution> Functional 选项卡具有以下设置:

Security 选项卡

Execution> Security 选项卡允许配置穿透性测试,其在 渗透测试中有所描述。

运行时错误检测(Runtime Error Detection)选项卡

Execution> Runtime Error Detection 选项卡允许配置运行时错误检测,其在 执行运行时错误检测中有所描述。

变更影响(Change Impact)选项卡

Execution> Change Impact 选项卡包含一个选项(Perform change impact analysis),该选项控制当前测试配置是否在测试执行期间执行变更影响分析。有关更多详情,请查阅 使用变更指导助手更新报文

API 覆盖率选项卡

Execution> API Coverage 选项卡包含测试执行期间计算 API 覆盖率的选项。有关更多详情,请查阅 API 覆盖率 。

应用程序覆盖率选项卡

Execution> Application Coverage 选项卡包含收集应用程序覆盖率数据的选项,它提供了对您的 SOAtest 测试所实现的代码覆盖率级别的可见性。关于更多详情,请查阅 Application Coverage 。

常见选项设置:定义影响多个分析类型的常见选项 

测试配置的 Common 选项卡控制影响多个分析类型的操作的测试设置。

Common 选项卡具有以下设置:

编码查核选项卡设置:定义编码查核选项

此选项卡包含自动准备、通知、跟踪同行评审过程的设置,其可用于在组织定义的质量策略上下文中评估关键 SDLC 构件(源文件、测试等)。

关于配置编码查核的更多详情(包括编码查核选项的详情),请查阅 代码审查。 

Goals 选项设置:定义错误报告和解决方案目标

团队管理人员可以指定报告极限(比如,“每个开发人员每天不能报告多余 25 条的静态分析任务”)和/或质量目标(比如,“所有静态分析违规行为应该在 2 个月之内修复”)。然后,SOAtest 将使用特定标准为每个开发人员选择测试任务的自己,以每天执行。这些目标在 Goals 选项卡中指定。然后可以在报告中监视指向这些目标的进展。

或者,可以设置全局团队目标,该目标可跨多个测试配置甚至所有 Parasoft 测试产品,如 配置任务目标中所述。这要求团队服务器和 Parasoft 测试自动版本许可证。如果目标为全局性的,则将禁用测试配置面板中的 Goals 选项卡。

Goals 选项卡具有以下设置:

Static 选项卡

Execution 选项卡