发布日期:2021 年 4 月 15 日
此版本包括以下功能增强:
IDE 支持
新增对以下 IDE 的支持:
- Eclipse 2020-09 (4.17)
- Eclipse 2020-12 (4.18)
- IntelliJ 2020.3
Java 支持
Jtest 现在可以分析用 Java 12、13、14 和 15 编写的代码。
增强 GitHub 集成
此版本包括以下有助于简化 GitHub 工作流程的功能增强:
- 支持以 GitHub 的 SARIF 格式生成报告,从而使 GitHub 能够将数据转换为代码扫描警报。
- 新增 Jtest 操作,可在 Jtest 中运行分析,并在 GitHub 中查看结果,作为项目工作流的一部分。
更多信息,请参阅 GitHub 上的 Jtest 操作文档:https://github.com/marketplace/actions/run-parasoft-jtest。
扩展 Security Compliance Pack
添加对以下标准的支持以扩展 Security Pack:
- CWE 4.4
- DISA ASD STIG
- OWASP API Security Top 10-2019
此外,通过新增规则和更新现有测试配置,增强对 SEI CERT Java 编码规范的支持。
请参阅新增和更新的测试配置。
增强单元测试助手
优化测试创建过程,增加单个测试用例的覆盖率。UTA 现在可以利用数据流分析来确定生成测试所需的最少测试用例前置条件。这不仅减少了测试用例的大小和复杂性,还提高了效率。
新增和更新的测试配置
- CWE 4.4
- DISA-ASD-STIG
- OWASP API Security Top 10-2019
更新以下测试配置:
- CERT for Java
- Recommended Rules
删除的测试配置
- CWE 4.2
优化测试影响分析配置
更新 TIA 相关选项,简化配置并确保与其他 Jtest 组件具有更好的一致性。
新的 Maven TIA 插件名称
原来的插件名称 | 新的插件名称 |
---|---|
cbt-maven-plugin | tia-maven-plugin |
此变更会影响测试影响分析的命令行执行,以及 POM 文件中的配置。
原来的命令行 | 新的命令行 |
---|---|
mvn cbt:affected-tests test | mvn tia:affected-tests test |
原来的 POM 配置 | 新的 POM 配置 |
---|---|
<pluginGroup>com.parasoft.xtest.cbt</pluginGroup> | <pluginGroup>com.parasoft.jtest.tia</pluginGroup > |
新的选项名称
原来的名称 | 新的名称 |
---|---|
parasoft.coverage.file | jtest.referenceCoverageFile |
parasoft.test.file | jtest.referenceReportFile |
parasoft.runFailingTests | jtest.runFailedTests |
parasoft.runModifiedTests | jtest.runModifiedTests |
parasoft.testFilter | jtest.testFilter |
新增和扩展的选项
选项名称 | 说明 |
---|---|
jtest.referenceCoverageFile | 增加对 URL 的支持。 |
jtest.referenceReportFile | 增加对 URL 的支持。 |
jtest.referenceStore | 新增的选项。指定从 URL 下载的参考文件的位置,以优化 TIA 性能。 |
jtest.settings | 现在指定一个 .properties 文件。 |
jtest.settingsList | 新增的选项。指定多个 .properties 文件。 |
测试套件支持
增加对重新运行测试套件的支持。当测试套件中至少有一个测试受到代码变更影响时,测试影响分析会重新运行整个测试套件。
新增和更新的静态分析规则
添加以下规则:
规则 ID | 标题 |
---|---|
CODSTA.EPC.NCBAV | 不要在同一数据上执行位和算术操作 |
PB.CUB.NCUCP | 不要假设 Java 字符完全代表 Unicode 代码点 |
PB.NUM.PMRWLED | 提供读写小端数据的方法 |
更新以下规则:
- BD-TRS-DIFCS
- CODSTA.BP.IMPTD
CODSTA.EPC.NCE
CODSTA.READ.DVCU
CODSTA.READ.AIC
CODSTA.READ.ASIS
HIBERNATE.CSF
OPT.UNC
PB.CUB.SBC
PB.LOGIC.SG
其他变更
- 增加对第三方覆盖率引擎 JaCoCo 的支持。您可以通过覆盖率代理选项或 Maven/Gradle 参数启用 JaCoCo 来配置 Jtest 使用 JaCoCo 的功能。
- 优化 Jtest 运行流分析和收集代码覆盖率时的性能。
- Jtest 不再支持将 Maven 的 Jtest 插件配置为在
site
阶段执行的报告插件。 - 如果您的开发测试工作流程包括与 Parasoft DTP 集成,则需要将 DTP 更新到 2021.1 版本,以充分利用 Parasoft 的完整 SDLC 特性和功能。
- 您现在可以通过向 Parasoft 发送匿名使用数据来帮助我们改进 Jtest。默认情况下会禁用报告使用数据的功能——您可以随时使用 IDE 或 Jtest 配置设置来启用该功能。
- 解决 2021.1.1 版本中的 log4j 漏洞 CVE-2021-44228。
删除和弃用的环境支持
删除的平台支持
删除对以下已弃用平台的支持:
- Windows 7
弃用的 IDE 支持
弃用对以下 IDE 的支持,并将在以后的版本中删除:
- Eclipse 4.4
- Eclipse 4.5
解决的 Bug 和 FR
Bug/FR ID | 说明 |
---|---|
FA-8186 | BD.PB.STRNULL 由于缺少对 org.apache.commons.lang3.StringUtils 的空值检查而产生误报 |
JT-72773 | 未报告随附示例中的无限循环 |
JT-72997 | CODSTA.READ.DVCU 误报 |
JT-73322 | PB.LOGIC.SG 针对包含 @Data、@Getter 和 @Setter 注解的 Lombok 项目误报 |
JT-73396 | 针对 Lombok 代码误报 + 提供 Lombok 支持的规则列表的请求 |
JT-73402 | 为不会对受 Lombok 影响的类报告违规的规则添加说明。 |
JT-73430 | 使用 Ant 插件分析时报告编译错误 |
JT-73432 | PB.CUB.NCUCP 缺乏资源 |
JT-73444 | HIBERNATE.CSF 的参数标签为空 |
JT-73459 | 文档的“基于正则表达式模式定义行抑制”部分指向 C/C++test |
XT-38874 | 分析 Git 子模块中工作分支上修改的文件时出现问题 |
XT-38943 | Jtest 插件在 IntelliJ 2019.1.2 中执行某些操作后挂起。 |
XT-39009 | NativeSharedMemory 在 AWS linux 环境中崩溃。 |