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