发布日期:2020 年 4 月 17 日
在此版本中,我们专注于扩展对环境的支持并增强 Jtest 的单元测试功能。
IDE 支持
新增对以下 IDE 的支持:
- Eclipse 2019-12 (4.14)
- Eclipse 2020-03 (4.15)
- IntelliJ IDEA 2019.2
- IntelliJ IDEA 2019.3
当前不支持 IntelliJ 2020.1。
支持源码控制管理系统
现已支持:
- Git 1.8、1.9、2.x
- SVN 1.10、1.11、1.12、1.13
- Microsoft Team Foundation Server 2017、2018、2019
有关已弃用和已删除的源码控制系统支持的信息,请参阅已弃用的环境和系统支持。
平台支持
现已支持:
- OS X 10.14 Mojave
- OS X 10.15 Catalina
增强单元测试
单元测试助手功能增强
- UTA 现在可以执行数据流分析,针对如何覆盖未覆盖代码行提供更加可靠的建议。
- 现在,您可以在使用 UTA 执行测试时将特定的包和类排除在监控范围外。这有助于避免在测试执行期间超出方法调用的限制。详细信息,请参阅配置首选项。
JUnit 5 测试的测试影响分析
扩展对 JUnit 5 框架的支持。现在可以为使用 Maven 或 Gradle 执行的 JUnit 5 测试运行测试影响分析。
JUnit 4 和 5 测试执行性能优化
现在,您可以配置 Jtest 优化测试执行性能。这将大幅减少计算 JUnit 4 和 5 测试的结果和覆盖率数据所需的时间,同时帮助您提高构建系统不同版本之间结果的一致性。详细信息,请参阅运行单元测试。
扩展 Security Compliance Pack
Security Pack 现已支持 CWE 4.0。此外,我们通过新增规则和更新现有测试配置,增强对 CWE Top 25 2019 和 On the Cusp 指南的支持。详细信息,请参阅新增和更新的测试配置。
新的版本命名约定
现在所有 Parasoft 产品(包括 Jtest)都遵循新的版本控制方案:YYYY.release。
新增和更新的测试配置
添加一个新的测试配置,帮助您检测通用缺陷对照表(CWE)4.0 中明确的缺陷:
- CWE 4.0
更新以下测试配置,扩展对安全标准的支持:
- CWE Top 25 2019
- CWE Top 25 + On the Cusp 2019
- Flow Analysis Aggressive
- Flow Analysis Standard
- OWASP Top 10-2017
- UL 2900
删除的测试配置
- CWE 3.4
新增和更新的静态分析规则
添加以下规则:
规则 ID | 标题 |
---|---|
BD.SECURITY.SENSLOG | 避免将敏感数据传递给写日志文件的函数 |
BD.SECURITY.TDALLOC | 在使用潜在可能受污染的数据确定内存分配大小之前对其进行验证 |
SECURITY.WSC.HTTPRHA | 不要依赖从 HTTP 请求报文头中获得的 IP 地址进行身份验证 |
SECURITY.WSC.JXCORS | 限制跨域资源共享到安全域 |
更新以下静态分析规则以优化分析结果:
BD.EXCEPT.NP
BD.PB.STRNULL
BD.SECURITY.TDRESP
BD.SECURITY.TD*
- CODSTA.ORG.DINT
- FORMAT.CBRACE
- FORMAT.TNL
- GLOBAL.ACD
- GLOBAL.DPAC
- GLOBAL.DPAF
- GLOBAL.DPAM
- GLOBAL.DPPC
- GLOBAL.DPPF
- GLOBAL.DPPM
- GLOBAL.SPAC
- GLOBAL.SPAM
- GLOBAL.SPPC
- GLOBAL.SPPM
- GLOBAL.UPAC
- GLOBAL.UPAF
- GLOBAL.UPAM
- GLOBAL.UPPC
- GLOBAL.UPPF
- GLOBAL.UPPM
- JUNIT.AUL
- PB.CUB.UEIC
- PB.USC.NACC
- SECURITY.IBA.DXXE
- SECURITY.WSC.DMDS
- SECURITY.WSC.MCNC
- SECURITY.WSC.PBFA
- SERIAL.NSFSC
更新以下规则的输出消息,因此,与这些规则有关的 DTP 抑制可能不再可用:
- CODSTA.ORG.DINT
- FORMAT.TNL
- GLOBAL.ACD
- PB.USC.NACC
- SECURITY.WSC.MCNC
- SECURITY.WSC.PBFA
其他功能增强
- 新增对 Gradle 6.0 - 6.3 的支持。
- 优化静态分析性能。Jtest 现在可以更有效地收集和重用项目相关信息,减少作用于全局范围的规则的执行时间。
- 现在,您可以在配置与 DTP 的连接时指定上下文路径。
弃用的环境和系统支持
弃用对以下环境和系统的支持,并将在以后的版本中删除。
Windows 7
在系统的 EOL 之后,不再支持 Windows 7。
NetBeans
弃用对所有 NetBeans IDE 版本的支持
源码控制管理系统
不再支持以下 SCM:
- AccuRev
- ClearCase
- CVS
- Serena Dimensions
- StarTeam
- Synergy CM
- Visual Source Safe
此外,已删除对 Microsoft Team Foundation Server 2010 的支持。
Java 6
不再支持 Java 6 及更低版本。因此,将在以后的版本中删除需要 Java 6 或更低版本的支持环境。
解决的 Bug 和 FR
Bug/FR ID | 说明 |
---|---|
JT-72013 | 分析范围为空时的命令行退出码 |
JT-72015 | 优化全局分析性能 |
JT-72067 | PB.CUB.UEIC 误报 |
JT-72081 | EVAL - CWE.400.DMDS 结果相关的问题 |
JT-72105 | EVAL - CWE.749.DPAM 报告的构造函数违规 |
JT-72402 | FORMAT.CBRACE 潜在误报 |
JT-72541 | 审查与 JUNIT.AUL 和 JUNIT.RPL5 相关的问题 |
UTA-4268 | Jtest 无法跟踪关联用例上的模拟对象。 |
UTA-4377 | 对话框中出现未本地化的“Unable to detect the testing framework”消息。 |
UTA-4902 | 在非处理方法上生成 Spring 测试时没有执行深度设置 |
UTA-5056 | IntelliJ 中克隆方法操作的格式错误且缺少 javadoc。 |
XT-36582 | Parasoft 插件在使用 Java 11 运行时,无法与某些版本的 Eclipse 和 NetBeans 一起使用 |
XT-37673 | 在 IDE 运行的静态分析由于缺少命令行功能退出 |
XT-37692 | IDE 生成的引擎许可证可能会因 Java 或 IKVM 版本的不同而有所差异。 |