在此版本中,我们专注于优化安全合规性解决方案,增强单元测试助手的功能。

扩展 Java 支持

添加 Java 11 支持。

扩展 IDE 和构建系统支持

现已支持:

  • Eclipse 4.9, 4.10, 和 4.11
  • IntelliJ 2018.3 和 2019.1
  • Maven 3.6.0

平台支持

现已支持:

  • Windows Server 2019

不再支持以下操作系统:

  • Windows 8
  • Windows Server 2008

Security Compliance Pack

在此版本中,我们引入了 Security Compliance Pack,您可以即时获取能够帮助您严格遵循安全标准与实践的测试配置。Security Compliance Pack 包含以下测试配置:

  • CERT for Java
  • CWE 3.2
  • CWE SANS Top 25 2011
  • CWE SANS Top 25 2011+On the Cusp
  • OWASP Top 10-2017
  • PCI DSS 3.2
  • UL 2900

详细信息,请参阅内建测试配置:Security Compliance Pack

(info) Security Compliance Pack 需要激活专用的许可证功能。有关许可的更多详细信息,请联系 Parasoft 支持。

单元测试助手功能增强

此版本改进了测试创建过程,优化了测试执行后显示的建议。

新增和优化建议

  • 添加抛出 NullPointerException 建议类型,帮助您避免抛出 NullPointerException 异常;请参阅抛出 NullPointerException
  • 优化异常和断言错误建议,包括用于帮助您处理异常和自动更新测试代码的操作链接;请参阅异常和断言错误
  • 扩展未覆盖的代码建议,针对未被任何测试覆盖的异常捕获代码块显示;请参阅未覆盖的代码

增强单元测试助手创建

现在您可以:

我们还优化了深度初始化模式,从而在创建测试时自动初始化不可访问的字段和父类中的字段。

测试影响分析优化

  • 测试与代码之间的关联信息现在可以在 IDE 重启后保留。
  • 现在可以通过“受影响的单元测试”视图的上下文菜单导航至测试代码并运行所选测试。

详细信息,请参阅测试影响分析

新增和更新的测试配置

添加以下测试配置:

  • CWE 3.2
  • CWE SANS Top 25 2011+On the Cusp
  • CWE SANS Top 25 2011
  • OWASP Top 10-2017
  • PCI DSS 3.2
  • UL 2900

以下测试配置已从 Static Analysis 类别移至 Security Compliance Pack 类别下(请参阅 Security Compliance Pack):

  • CERT for Java

更新以下测试配置以优化分析结果:

  • Demo Configuration
  • Flow Analysis Aggressive

有关 Jtest 提供的测试配置列表,请参阅内建测试配置

弃用的测试配置

  • CWE-SANS Top 25 2011 – 已弃用,并由 CWE SANS Top 25 2011 测试配置替代
  • PCI Data Security Standard – 已弃用,并由 PCI DSS 3.2 测试配置替代。

  • UL 2900 – 已弃用,并由新增的 UL 2900 测试配置(包括 CWE SANS Top 25 2011 on the Cusp 和 OWASP Top 10 2017 规则)替代。
  • OWASP Top 10 2017 – 已弃用,并由 OWASP Top 10-2017 测试配置替代

已弃用的测试配置默认不可用,只能用作用户自定义的测试配置。现在,这些配置位于 Jtest 安装目录的以下位置:[INSTALL_DIR]\configs\Deprecated

新增的静态分析规则

添加以下静态分析规则:

规则 ID

标题

BD.PB.CHECKRET

持续检查非 void 方法的返回值

BD.PB.INTOVERF

避免整数溢出

BD.SECURITY.TDPASSWD

防止使用未受保护的凭据

CODSTA.ORG.TODOJAVA

确保注释不包含 task 标签

CODSTA.ORG.TODOPROP

确保注释不包含 task 标签

CODSTA.ORG.TODOXML

确保注释不包含 task 标签

SECURITY.IBA.AUXD

避免使用 XMLDecoder 解析不受信任的数据

SECURITY.IBA.DXXE

禁用 XML 外部实体注入

SECURITY.IBA.RUIM

确保正确的会话有效期

SECURITY.IBA.SC

禁用 LDAP 反序列化

SECURITY.UEC.STTL

确保在 'web.xml' 中将 session 配置为超时

SECURITY.WSC.ACMD

避免使用自定义 MessageDigest 实现类

SECURITY.WSC.AISSAJAVA

避免使用不安全的加密算法对 Spring 进行数据加密

SECURITY.WSC.AISSAXML

避免在 Spring XML 配置中使用不安全的加密算法

SECURITY.WSC.AUNC

避免使用非测试类中的 javax.crypto.NullCipher 类

SECURITY.WSC.DMDS

避免在生产代码中使用 DriverManagerDataSource 类

SECURITY.WSC.EWSSEC

避免从 Spring 安全框架到日志的调试信息

SECURITY.WSC.HGRSI

避免使用 HttpServletRequest 类中的 'getRequestedSessionId()' 方法

SECURITY.WSC.HV

确保 HostnameVerifier.verify() 方法验证证书

SECURITY.WSC.MCMDU

MessageDigest 对象必须使用 'update' 方法处理数据

SECURITY.WSC.MDSALT

使用具有 salt 的 hash 函数

SECURITY.WSC.PBFA

确保有提供对多次身份验证尝试失败的保护

SECURITY.WSC.SCHTTP

标记 cookies 为 HttpOnly

SECURITY.WSC.SIKG

初始化 KeyGenerator 实例

SECURITY.WSC.VSI

正确验证服务器标识

更新的静态分析规则

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

  • PB.IKICO
  • PB.NUM.UBD
  • SECURITY.ESD.SIO
  • SECURITY.UEHL.LGE
  • SECURITY.WSC.ICA
  • SERIAL.RWAF
  • SECURITY.WSC.UOSC
  • PB.API.MASP

解决的 Bug 和 FR

Bug/FR ID

说明

JT-49237json 测试和资源路径不存在
JT-70472‘Flow Analysis Aggressive’测试配置在本地复制后无法编辑
JT-70473PB.NUM.UBD 只检查 float 或 double 变量
JT-70475PB.IKICO 误报
JT-70584jtest-monitor 目标无法在附加项目上生成 coverage.xml 文件
JT-70618无法收集目标项目的应用程序覆盖率

JT-70653

在 html 报告中运行 jtest 后出现 Spring Security 类型

JT-70653

在 html 报告中运行 jtest 后出现 Spring Security 类型
JT-70817通过 CLI 进行分析时无法解析导入 javafx.application
JT-70827将“.”作为 project.location 参数提供无法按预期生效

UTA-3675

使用 Mockito 注解时的模拟建议。

UTA-4019

没有为参数化的 Spring 测试模拟方法

XT-36321

在各种版本的 IntelliJ 中创建空 PDF 报告。

XT-36478

无法从 IntelliJ IDE 获取 Jtest 运行所需的许可证。

XT-36549

IDE 中设置的用户名可以覆盖系统用户吗?

XT-36671

在 Eclipse 中执行影响测试时,JUnit 视图乱码。

XT-36705

基于变更的测试在日语环境中不起作用。

UTA-3675

使用 Mockito 注解时的模拟建议。

UTA-4019

没有为参数化的 Spring 测试模拟方法

  • No labels