Parasoft中文网站 > 使用技巧 > Parasoft旗下Jtest怎么进行变更影响分析 Jtest变更影响分析结果不完整如何检查

Parasoft旗下Jtest怎么进行变更影响分析 Jtest变更影响分析结果不完整如何检查

发布时间:2026-08-31 10: 42: 00

Parasoft Jtest执行Java单元测试并采集代码覆盖率后,可以把测试结果上传到Parasoft DTP,由DTP把不同构建的代码变化、测试执行结果和Coverage数据关联起来,判断哪些测试受到代码修改影响。变更影响分析结果偏少时,通常不是单纯的代码差异识别问题,更常见的是Baseline与Target选择错误、Coverage Image不一致,或者同一次构建的数据被分散到了不同Build ID中。

一、Parasoft旗下Jtest怎么进行变更影响分析

Jtest负责准备单元测试和Coverage数据,DTP再根据两个Build之间的变化执行Test Impact Analysis。开始分析前,需要保证基线版本已经具备测试与覆盖率数据。

1、上传Baseline Build数据

①切换到准备作为基线的Java代码版本。

②使用Jtest运行当前JUnit测试。

③确认测试执行过程中已经采集代码覆盖率。

④打开Jtest使用的配置文件。

⑤设置【build.id】,给本次构建指定明确的Build标识。

⑥设置【report.coverage.images】,例如使用统一的【Unit Tests】Coverage Image。

⑦通过【session.tag】区分当前测试会话。

⑧确认结果上传到正确的【DTP Project】。

⑨执行测试后进入DTP检查当前Build。

⑩确认该Build同时存在Test和Coverage数据。

Baseline需要包含Coverage和动态测试数据。只上传Coverage或者只有测试结果,都不能建立完整的测试与代码关联。

2、上传修改后的Target Build

①切换到完成代码修改后的版本。

②给新构建设置新的【build.id】。

③保持【DTP Project】与Baseline一致。

④继续使用与Baseline对应的【report.coverage.images】。

⑤重新执行Jtest测试和Coverage采集。

⑥把结果上传到DTP。

⑦进入DTP的【Build Administration】。

⑧找到刚上传的Target Build。

⑨确认Coverage数据已经出现。

⑩如果同时上传了Test Run,再检查Test Details是否完整。

Target Build必须具备Coverage。如果已经带有测试运行数据,却没有Test Details,部分测试状态和Retest判断可能无法正确显示。

3、配置Test Impact Analysis

①进入Parasoft DTP Dashboard。

②添加【Tests Impacted by Change】Widget。

③在【Filter】中选择当前Jtest项目对应的Filter。

④在【Baseline Build】中选择修改前Build。

⑤在【Target Build】中选择修改后Build。

⑥在【Coverage Image】中选择Jtest上传的Unit Test覆盖率。

⑦保存Widget设置。

⑧点击分析结果进入【Files Impacted by Change】。

⑨查看修改文件对应的【Pass】【Fail】【Incomplete】和【Retest】数据。

⑩点击【Retest】可以继续进入Test Explorer查看需要重新执行的测试。

二、Jtest变更影响分析结果不完整如何检查

分析结果比预期少时,先去Build Administration看数据,而不是直接调整Widget。DTP默认选择的最近两个Build,不一定都包含Test和Coverage数据。

1、检查Baseline和Target是否选错

①打开【Build Administration】。

②找到当前Widget配置的Baseline。

③确认它确实来自代码修改前版本。

④查看该Build是否同时存在Test和Coverage。

⑤再打开Target Build。

⑥确认它对应本次修改后的代码。

⑦检查Target是否包含Coverage。

⑧如果最近两个Build中有一个只运行了静态分析,就不要直接拿它参与影响分析。

⑨回到Widget重新选择正确的两个Build。

2、检查Coverage Image是否一致

①在Baseline Build中查看Coverage表。

②记录Jtest数据对应的【Coverage Image】名称。

③打开Target Build检查相同项目。

④确认两次构建都存在同名Coverage Image。

⑤返回【Tests Impacted by Change】。

⑥重新选择正确的【Coverage Image】。

⑦刷新Widget。

⑧再次检查受影响文件和Retest数量。

Coverage Image是DTP聚合覆盖率的重要标识。Baseline使用Unit Tests,而Target上传到另一套Coverage Image时,两边数据就无法按预期对应。

3、检查Jtest上传参数

①打开Jtest配置文件。

②检查【dtp.project】。

③检查【build.id】。

④检查【report.coverage.images】。

⑤检查【session.tag】。

⑥如果同一次构建被拆成多个CI任务,确保这些任务使用相同build.id。

⑦需要合并到同一套Coverage时,保持Coverage Image名称一致。

⑧重新上传缺失的数据。

⑨回到Build Administration确认数据已经合并。

同一个Build被误用多个Build ID,会让每个构建只保留部分测试或Coverage,看起来就像变更影响结果缺失。

三、数据齐全但影响结果仍然偏少怎么继续检查

Build和Coverage Image都正确以后,可以继续从Test Details和历史覆盖关系检查。DTP只能根据已有Coverage判断测试与代码的关系,没有覆盖记录的代码无法直接推算出对应测试。

1、检查Test Details

①进入Target Build。

②打开【Test Explorer】。

③检查目标JUnit测试是否存在。

④确认测试名称和状态能够正常显示。

⑤存在Test Run但缺少Test Details时,重新检查Jtest结果上传。

⑥重新运行一小组JUnit测试。

⑦上传后再检查Test Explorer。

⑧重新打开影响分析Widget。

2、检查修改文件原本是否被测试覆盖

①进入【Files Impacted by Change】。

②找到发生修改的Java文件。

③查看该文件对应的测试数量。

④没有关联测试时,进入Coverage视图。

⑤检查Baseline中该文件是否有覆盖数据。

⑥Coverage为0时,先运行能够覆盖该代码的JUnit测试。

⑦重新上传测试和Coverage。

⑧再次执行影响分析。

3、检查两个Build是否来自同一分支

①确认Baseline使用的源码分支。

②确认Target使用的源码分支。

③如果一个来自main,一个来自development,重新选择同一分支上的Build。

④确认两次构建仍使用相同Filter。

⑤重新配置Baseline和Target。

⑥再次查看Retest结果。

DTP当前的Test Impact Analysis不支持直接比较不同分支上的测试数据,跨分支选择Build可能造成测试关系无法正确对应。

总结

Jtest变更影响分析依赖DTP中的构建、测试和覆盖率关联,结果不完整时应优先检查Baseline、Target、Coverage Image和Jtest上传参数,再确认修改文件在基线版本中是否已有测试覆盖。把同一次构建的数据归到一致的Build和Coverage范围后,Test Impact Analysis才能正确识别需要重新执行的JUnit测试。如需进一步了解Parasoft Jtest变更影响分析、测试覆盖关联与结果缺失排查方法,欢迎联系咨询。

展开阅读全文

标签:软件测试安全测试代码质量分析

读者也访问过这里:
Parasoft
与世界保持同步创新的测试
立即购买
最新文章
Parasoft怎么配置代码扫描项目 Parasoft项目配置错误导致分析失败如何处理
Parasoft常用于开发过程中的代码检查和静态分析,通过扫描项目源码,帮助开发人员发现代码规范、结构以及潜在质量问题。不过在配置扫描项目时,实际操作中经常会遇到一些细节问题,例如项目导入后无法正常分析、部分文件没有参与扫描、设置的规则没有生效等。这些情况多数和项目环境、源码路径以及分析配置有关。本文将介绍Parasoft代码扫描项目的配置方法,并整理项目配置异常时的排查思路。
2026-09-07
Parasoft怎么生成测试覆盖率报告 Parasoft覆盖率数据不完整如何检查
Parasoft在软件测试流程中经常用于单元测试、代码分析以及覆盖率统计。通过覆盖率数据,开发人员可以查看测试执行涉及的代码范围,了解函数、分支以及路径的验证情况。不过在项目实际运行过程中,覆盖率报告可能出现文件缺失、统计结果偏低、部分代码没有记录等问题。这些情况通常和测试配置、代码版本、编译环境以及覆盖率采集范围有关,需要结合具体项目逐步排查。
2026-09-07
Parasoft怎么创建单元测试用例 Parasoft单元测试执行失败如何定位
Parasoft在企业软件开发和质量验证场景中经常用于自动化测试、代码分析以及单元测试管理。对于使用C、C++、Java等语言开发的项目,单元测试能够帮助开发人员提前发现函数逻辑错误和接口调用问题。不过在实际使用Parasoft创建测试用例时,初次配置项目环境、设置测试对象以及执行测试流程时,容易遇到测试用例无法生成、执行失败、覆盖结果异常等情况。本文介绍Parasoft创建单元测试用例的方法,以及测试执行失败后的定位思路。
2026-09-07
Parasoft怎么配置静态代码分析规则 Parasoft静态分析规则设置后未生效如何排查
Parasoft静态代码分析可以帮助开发团队检查代码中的潜在缺陷、安全风险以及编码规范问题,通过配置不同规则集,可以满足MISRA、CERT、CWE等不同项目标准要求。但在实际使用过程中,规则启用后没有检测结果、修改严重等级未变化、规则配置无法同步等情况较为常见。造成这些问题的原因可能来自测试配置选择、规则状态、分析范围、项目环境以及规则库版本等多个方面。本文介绍Parasoft静态分析规则配置方法,以及规则设置后未生效时的排查方式。
2026-09-07
Parasoft旗下Virtualize怎么录制虚拟服务 Virtualize录制后的响应数据不匹配如何调整
Parasoft Virtualize可以通过Message Proxy截获真实系统之间的请求与响应,再根据录制流量生成Message Responder和Data Repository。录制完成后,如果同一个请求拿到了错误响应,或者请求参数变化后Virtualize仍返回上一组数据,通常要检查Responder分组方式、Request Matching和Data Source Correlation。录制数据只是生成虚拟服务的基础,最终返回哪条响应仍取决于请求匹配条件和数据关联规则。
2026-08-31
Parasoft旗下SOAtest怎么配置数据驱动测试 SOAtest测试数据没有正确替换如何处理
Parasoft SOAtest可以把CSV、Excel、数据库、Data Repository或内部Table中的数据绑定到SOAP、REST和其他测试工具,让同一条Test Case按照多组输入重复执行。数据驱动已经配置,但请求中仍然出现固定值、上一轮数据或空值时,通常要检查Data Source是否挂在正确的Test Suite、字段是否真正切换为Parameterized,以及Data Bank或变量有没有在运行时覆盖原来的数据源值。
2026-08-31

咨询热线 15601718224