此版本包括以下功能增强:
发布日期:2023 年 5 月 16 日
Visual Studio Code 支持
现在,您可以在 Visual Studio Code IDE 中使用 Jtest 的静态分析和覆盖率显示功能。Jtest 包含用于 Visual Studio Code 的扩展,可运行静态代码分析,与 DTP 集成并发布和下载静态分析结果,直接在 IDE 中查看代码覆盖率结果,等等。详细信息,请参阅 Visual Studio Code 扩展。
Visual Studio Code 的 Jtest 扩展可在 Visual Studio Code Marketplace 获取。如需获取最新版本,请访问:https://marketplace.visualstudio.com/vscode。
代码覆盖率功能增强
- Jtest 包含一个新的独立覆盖率工具(jtestcov),具有创建覆盖率报告的扩展功能,可以轻松合并到不同的测试流程中。
- QA 团队现在无需访问源代码即可测量应用程序的代码覆盖率。jtestc ov 可用于扫描应用程序二进制文件并创建包含应用程序中可测试代码范围的报告,以及创建包含 Jtest 覆盖率代理收集的运行时覆盖率数据的报告。这些报告可以上传到 Parasoft DTP,整合覆盖率数据,提供关于应用程序覆盖率指标的全面概览。
- 团队可以使用 jtestcov 的测试影响分析功能来推断必须运行的特定测试集,以验证在应用程序的新版本中更改的代码。
- jtestcov 简化了覆盖率工作流程。运行时覆盖率报告现在可以独立于通过分析源代码生成的静态覆盖率文件创建并上传到 Parasoft DTP(请参阅生成 Monitor 包)。其他配置和可用性功能增强简化了设置应用程序覆盖率和测试影响分析配置的工作流程。
- 有关新功能和 jtestcov 用法的更多详细信息,请参阅应用程序覆盖率。
单元测试助手功能增强
- 引入基于最新代码变更在 IDE 内部自动生成单元测试的功能。现在,您可以轻松为变更的代码创建测试。当您选择一个项目或包时,Jtest 会自动检测发生变更的类并生成相关测试。
- 改进了受影响的单元测试视图:添加一个指示新测试的图标,并且,无论覆盖率数据是否存在,所有本地添加的新测试都会显示在该视图中。请参阅测试影响分析。
- 新增对 Mockito 4.11 的支持。
新增和更新的测试配置
添加对以下测试配置的支持,扩展 Security Compliance Pack:
- CWE 4.10
- OWASP ASVS 4.0.3
更新以下测试配置:
- CWE Top 25 + On the Cusp 2022
- UL 2900
- HIPAA
- Recommended Rules
- Flow Analysis Fast
- Flow Analysis Standard
- Flow Analysis Aggressive
更新的静态分析规则
更新以下规则:
规则 ID | 更新 |
---|---|
SECURITY.IBA.CDBV | 在验证之前规范化数据 |
新增和更新的流分析规则
添加以下规则:
规则 ID | 标题 |
---|---|
BD.PB.INTDL | 避免在整数类型之间转换时的数据丢失 |
BD.PB.INTVC | 避免在整数类型之间转换时的数值变化 |
BD.PB.INTWRAP | 避免在进行整数运算时的回绕 |
BD.PB.UGHC | 请勿基于哈希码相等而判断对象相等 |
更新以下规则:
规则 ID | 更新 |
---|---|
BD.PB.EXCEPT | 提高规则的准确性和性能。 |
BD.SECURITY.SENSLOG | 提高规则的性能。 |
IDE 支持
现已支持以下 IDE:
- IntelliJ 2022.3
- IntelliJ 2023.1
- Eclipse 2022-12 (4.26)
- Eclipse 2023-03 (4.27)
- Visual Studio Code
其他更新
- “基于变更的测试”许可功能已重命名为“测试影响分析”。确保您的许可证设置中列出了正确的功能名称;请参阅 jtest.license.custom_edition_features。
- 现已支持 rulemap.xml 中定义的克隆和映射规则的默认参数。这些值在 IDE 的测试配置编辑器中可见。
- 现已支持 Gradle 7.6。
- 现已支持 Maven 3.9.x。
- 现已支持 Lombok 1.18.24 和 1.18.26。
- 优化 Compliance Pack 中规则和克隆规则的执行时间。
- 优化在暗色主题下运行时的外观和体验。
删除的支持
删除对团队服务器的支持
删除团队服务器,不再提供支持。如果您的团队配置、规则和规则映射仍存储在 DTP 团队服务器中,请将它们迁移到共享位置。请参阅将测试配置、规则和规则映射从团队服务器迁移到共享位置。
删除的平台支持
删除对以下平台的支持:
- Windows Server 2019
弃用的规则
弃用规则 | 建议规则 |
---|---|
BD.PB.INTOVERF | BD.PB.INTWRAP、BD.PB.INTDL 和 BD.PB.INTVC |
解决的 Bug 和 FR
Bug/FR ID | 说明 |
---|---|
FA-9261 | BD.PB.CC 在为进行相等性比较而检查超出范围值时漏报 |
JT-74867 | Gradle 问题:找不到 jtest() 方法 |
XT-40583 | IntelliJ 中截断控制台输出 |
XT-40717 | 单行中的所有注释抑制都报告相同的抑制原因 |
XT-40748 | 不正确的“等待令牌”选项行为 |
XT-40970 | 当刷新令牌无效时,应用 OIDC 设置不会强制进行身份验证 |
XT-41092 | 规则链接的相对路径解析为绝对路径会导致报告和规则文档不可移植 |
XT-41141 | UUIApplication.get().getSelection() 在 IntelliJ 中返回不正确的数据 |
已知问题
在 IntelliJ 2023.1 中使用 UTA 时,处理非常大的文件(几千行代码或更多)时可能会出现以下性能问题:
- 在变量视图创建断言后,IntelliJ 可能会无响应。
- 对 JUnit5 测试应用取消注释快速修复时可能会出现延迟。