发布日期:2020 年 10 月 20 日

版本更新目录:

IDE 支持

新增对以下 IDE 的支持:

  • IntelliJ IDEA 2020.1
  • IntelliJ IDEA 2020.2
  • Eclipse 2020-06 (4.16)

增强静态分析

扩展 Jtest 的静态分析功能,新增可帮助您专注于重要任务的特性。

针对当前分支上已修改的代码新增范围选项

新增创建文件过滤器的选项,可将分析范围限制在当前工作分支上修改的文件。这样,在代码与主要开发流合并之前,您就可以专注于发现和修复由最近的代码变更引入的错误。

此外,还可以将分析范围缩小至本地修改的文件,以便在将更新的代码检入源码控制之前先分析代码。

请参阅基于源码控制数据定义文件过滤器创建自定义测试配置

用于定义代码分析基准的新报告参考选项

现在您可以指定参考报告文件的路径或 URL,当使用 Jtest 执行分析时,该路径或 URL 将用作基线。这样,您就可以从当前报告中排除之前报告的任务,专注于最新检测出的代码缺陷。配置报告选项

新增抑制格式

现在,您可以在 parasoft.suppress 文件中创建对静态分析结果的抑制,该抑制文件可与源文件一起存储在源码控制中。您可以在 Jtest GUI 中创建文件内抑制,或者将需要抑制的任务相关的信息手动添加到抑制文件中。请参阅在 GUI 中抑制任务抑制报告任务

之前用于在 GUI 中创建抑制的 XML 风格格式已被弃用。您可以在 IDE 启动时将这些已弃用的抑制转换为新的文件内抑制格式。请参阅迁移抑制

JUnit 4 和 5 测试执行优化

针对 JUnit 4 和 JUnit 5 优化默认测试执行配置,减少报告测试结果和计算覆盖率所需的时间。

默认情况下不收集 JUnit 3 测试的结果。有关如何配置项目以获取 JUnit 3 测试结果的信息,请参阅运行单元测试

如果对 Tycho 构建执行测试,则需要调整配置以启用 JUnit 测试执行。详细信息,请参阅为 Tycho 构建执行测试和收集测试覆盖率

启用的执行测试套件

Jtest 现在可以收集嵌套测试套件的结果,并在测试所属的测试套件上下文中报告测试执行结果。因此,测试套件执行的历史结果在 DTP 上将不再提供。请参阅执行测试套件

与 Lombok 集成

现在,您可以将 Jtest 与 Lombok 库集成,通过在项目中自动生成样板代码来加快开发过程。请参阅与 Lombok 集成

扩展 Security Compliance Pack

新增对更新的通用弱点枚举(CWE)的支持。此外,还为 CERT for Java 和 UL 2900 测试配置扩展了新规则,帮助您更好地遵循安全标准。请参阅新增和更新的测试配置部分。

此外,还为 CERT for Java 和 UL 2900 测试配置扩展了新规则,帮助您更好地遵循 CERT 和 UL 2900 标准。

在 IDE 中释放网络许可证

现在,允许未在 IDE 中主动使用 Jtest 时停用网络许可证,从而优化许可证令牌的分配。您的许可证令牌将被释放,供其他用户使用。可以手动停用您的许可证,也可以配置 Jtest 在空闲时自动释放许可证令牌。请参阅设置 Parasoft 许可证

新增和更新的静态分析规则

添加以下规则:

规则 ID标题
SECURITY.WSC.FOLLOW确保通过解析符号链接检索的文件目标路径是安全的
SECURITY.WSC.LNK使用前验证快捷方式目标路径

更新以下规则:

  • BD.PB.VOVR
  • CODSTA.BP.BLK
  • CODSTA.ORG.DINT
  • CODSTA.POD.AUVT
  • CODSTA.READ.CCB
  • CODSTA.READ.PFL
  • EXCEPT.AEFC
  • FORMAT.ASPACE
  • FORMAT.CMS
  • FORMAT.IND
  • FORMAT.MSP
  • FORMAT.OSPL
  • FORMAT.SAUOP
  • FORMAT.TCOMMA
  • JAVADOC.CRN
  • JUNIT.ANBA
  • NAMING.DSN
  • OOP.INSOF
  • OPT.LIOL
  • OPT.STRBUF
  • OPT.UNC
  • PB.API.MASP
  • PB.LOGIC.AMOI
  • PB.NUM.UBD
  • PB.RE.ISEM
  • PB.TYPO.AECB
  • PB.USC.NACC
  • PB.USC.OI
  • SECURITY.UEHL.LGE
  • SECURITY.WSC.INIVF

更新以下规则的输出消息,因此,与这些规则有关的 DTP 抑制可能不再可用:

  • PB.LOGIC.AIL

新增和更新的测试配置

添加以下测试配置:

  • CWE 4.2
  • CWE Top 25 2020
  • CWE Top 25 + On the Cusp 2020

更新以下测试配置:

  • CERT for Java
  • UL 2900

删除的测试配置

删除过时的 CWE 合规性测试配置:

  • CWE 4.0
  • CWE Top 25 2019
  • CWE Top 25 + On the Cusp 2019

UTA 功能增强

  • 您可以通过 UTA 视图中现有的非参数化测试创建参数化 JUnit 5 测试。请参阅克隆为参数化测试
  • UTA 现在可以实例化 Optional 类的对象。

其他功能增强

  • 现在,您可以配置一个测试配置来向 DTP 发送高级元数据,从而允许 DTP 更准确地对违规进行分类。请参阅创建自定义测试配置
  • 改进覆盖率报告,减小报告大小并优化性能。请参阅 report.coverage.version

删除的环境支持

删除的 IDE 支持

不再支持 NetBeans IDE。

删除的平台支持

不再支持 32 位操作系统。

删除的第三方静态分析工具支持

删除对 Checkstyle 和 FindBugs 集成的支持。要处理第三方分析器报告的违规并在 DTP 查看数据,您可以直接在 DTP 服务器上部署 Parasoft Multi-Language。详细信息,请联系您的 Parasoft 代表。

删除的控制管理系统支持

删除对以下 SCM 的支持:

  • AccuRev
  • ClearCase
  • CVS
  • Serena Dimensions
  • StarTeam
  • Synergy CM
  • Visual Source Safe

解决的 Bug 和 FR

Bug/FR ID说明
FA-4752BD.RES.LEAKS 误报
FA-4996BD.PB.BADSHIFT 误报(整数提升?)
JT-70186支持 Lombok 库
JT-72122Jtest 解析器无法正确支持带有 BOM 的 UTF-8 编码 Java 文件
JT-72768PB.USC.NACC 针对 Java 接口误报
JT-72880CERT 映射文档
UTA-5205跟踪和生成断言可能会复制测试用例中的断言
UTA-5209由于跟踪器未监控类,未检测到与模拟对象的交互
UTA-5243对于抽象类表示的许多类型,仅跟踪 notNull 断言
UTA-5248Doc:按框架对库进行分组,删除重复内容,为所有 mvn/gradle 依赖添加 <scope>test</scope>
UTA-5339无法跟踪和断言返回模拟对象的调用
UTA-5348建议的断言会导致 Waltz 项目中的 ImmutableActor 出现编译错误
UTA-5349Optional<? extends FieldChange<String>> 批量创建后出现编译错误
UTA-5365为 Autowired 的 HttpServletRequest 和 HttpSession 错误创建模拟
XT-37872Parasoft 任务 Jenkins 插件规则文档因格式不正确不可读
XT-38203加载 IDE 许可证令牌时抛出异常

  • No labels