TESSY中文网站 > 热门推荐 > TESSY测试结果怎么判定 TESSY测试结果失败时怎么定位差异
TESSY测试结果怎么判定 TESSY测试结果失败时怎么定位差异
发布时间:2026/03/11 16:35:18

  做单元测试时,很多人把TESSY的结果判定等同于通过或失败,但在TESSY里,失败既可能来自期望值与实际值不一致,也可能来自覆盖率未达到最低门槛。要把“TESSY测试结果怎么判定TESSY测试结果失败时怎么定位差异”这两件事做好,你需要先把判定口径固定,再用报告与对比视图把差异落到具体变量与具体步骤上。

  一、TESSY测试结果怎么判定

 

  测试跑完后,先别急着盯着某一个红叉就下结论,正确顺序是先看测试对象级别的状态,再下钻到测试用例与测试步骤。这样你能快速区分是数据不一致导致失败,还是覆盖率门槛导致失败,再决定下一步该查哪里。

 

  1、先在Test Project view看测试对象级别的结果状态。

 

  在Overview视图的Test Project view里,失败状态可能表示实际值与期望值不一致,或覆盖率没有达到最低覆盖率要求;通过状态表示测试结果与覆盖率都正常。

 

  2、把失败类型分成结果失败与覆盖率失败两类先做归因。

 

  如果看到覆盖率条里有明显红色缺口,通常是在提示未达到要求的最低覆盖率,红色占比越大表示缺口越多;这种情况即使输出值都匹配,也可能被判为失败。

 

  3、用Test Details Report把判定落到测试用例与测试步骤。

 

  在Test Project view里点击【Generate Report】图标旁的下拉箭头,选择【Test Details Report】生成报告;该报告会列出测试用例的结果信息,并基于每次运行生成的XML结果文件进行汇总。

 

  4、在报告里用绿勾与红叉确认每一步是否真的失败。

 

  Test Details类报告会在测试用例与测试步骤层面标识执行是否成功,绿勾代表成功执行,红叉代表失败;你要以“失败发生在哪个测试步骤”为准,而不是只看总览的红色状态。

 

  5、确认结果判定遵循你设置的evaluation mode,而不是肉眼直觉。

 

  TESSY会按evaluation mode把实际值与期望值进行比较,结果会是failed或passed;在TDE里你可以点进对应单元格,通过内联编辑输入evaluation mode,默认是==,也支持!=、>、<、>=等。

 

  6、把最低覆盖率门槛当作判定条件之一来审视。

 

  在属性设置里,默认最低覆盖率通常是100;如果测试对象里存在不可达分支或条件,你可以针对单个测试对象降低最低覆盖率,以便覆盖率结果能够按实际情况判定。

 

  二、TESSY测试结果失败时怎么定位差异

 

  定位差异的核心是两步:先确认失败是“值不一致”还是“覆盖率不达标”,再用报告与对比工具把差异收敛到具体变量、具体步骤、具体一次运行。你只要把路径跑通一次,后续类似问题基本都能按同一套路快速定位。

 

  1、先用状态定义把失败原因锁定在两条主线。

 

  失败可能来自实际值与期望值不一致,也可能来自覆盖率未达到最低覆盖率;优先把这两种情况分开处理,避免一边补期望值一边又在追覆盖率门槛。

 

  2、如果是值不一致,先从报告直接跳到失败步骤看差异点。

 

  打开测试报告后,在右上角统计区能看到成功与失败的数量;要查看失败步骤,可以点击失败测试步骤编号让报告直接跳转到该步骤位置,再围绕该步骤的输入、期望、实际值去核对。

 

  3、回到TDE复核期望值与evaluation mode是否写对。

 

  在TDE里找到对应测试步骤的变量行,先看期望值是否与需求一致,再看evaluation mode是否符合判定意图,例如你需要范围判定却误用==,就会导致看似小误差被直接判失败。

  4、如果是覆盖率失败,打开Coverage Viewer视图定位未覆盖位置。

 

  测试执行后,覆盖率结果可以在Coverage Viewer视图简称CV中复核;同时你可以通过Test Project view里【Execute Test】图标下拉选择【Edit Test Execution Settings】来确认本次运行选择了哪些覆盖率测量与插桩方式,避免“看错了覆盖率口径”。

 

  5、需要定位两次运行的差异时,用History Compare与Diff Viewer做对比。

 

  在测试对象上点右键,选择【History】→【Compare…】,在Compare对话框里选一个历史结果与当前结果对比,或选两个历史结果互比,然后点【Compare】打开Diff Viewer;Diff Viewer会在Inputs与Results、Call Trace、Properties等标签页中把差异用红色标记出来,并支持跳到下一处差异。

 

  6、如果History里没有可对比记录,先把历史结果采集开关打开再复现一次。

 

  默认情况下TESSY会自动记录每次执行的测试结果到模块的.history目录;你也可以在【Options】→【Test Execution】里用【Create History Files】来启用或禁用该能力,然后重新执行一次测试,保证后续可以对比与回溯。

 

  三、TESSY测试结果判定口径不一致怎么统一

 

  很多团队出现“同样的代码有人判通过有人判失败”,本质不是谁看错了,而是执行设置、判定模式、覆盖率门槛与对比基线不一致。把口径统一到可复现的配置与可追溯的历史结果上,差异定位就会从争论变成证据。

 

  1、统一测试执行入口与Test Run生成方式,避免混跑旧产物。

 

  在Test Project view里点击【Execute Test】图标旁下拉,进入【Edit Test Execution Settings…】,明确使用【Run】还是【Create New Test Run】,并固定本次执行采用的插桩与运行选项,再点击【Execute】执行。

 

  2、统一覆盖率测量口径与最低覆盖率门槛,先定义再评判。

 

  先约定团队使用的覆盖率类型与插桩范围,再确认最低覆盖率是100还是允许按测试对象下调;对不可达分支要明确处理方式,否则同一份结果会因为门槛不同而出现不同结论。

 

  3、统一evaluation mode的使用规则,避免同一变量不同判定方式。

 

  规定哪些变量必须用==,哪些允许用区间或不等式判定,并要求在TDE里通过单元格内联编辑写清evaluation mode;这样失败时你看到的红叉才有一致的判定语义。

 

  4、统一差异复核的证据链,固定用报告与Diff Viewer收敛问题。

 

  约定失败必出一份Test Details Report定位到测试步骤,同时对回归问题必须用【History】→【Compare…】生成Diff Viewer对比截图或导出证据;证据链固定后,复盘与复现效率会明显提升。

  总结

 

  围绕“TESSY测试结果怎么判定TESSY测试结果失败时怎么定位差异”,你要先用Test Project view把失败归因到值不一致或覆盖率门槛,再用【Generate Report】生成Test Details Report下钻到失败步骤,必要时用【History】→【Compare…】与Diff Viewer把两次运行差异定位到具体变量与具体步骤。把evaluation mode、最低覆盖率、执行设置与历史采集口径统一后,测试结果的判定会更稳定,失败定位也更容易形成可复核的证据闭环。

135 2431 0251