TESSY中文网站 > 新手入门 > TESSY怎么生成测试驱动 TESSY测试桩怎么配置才能更稳定
TESSY怎么生成测试驱动 TESSY测试桩怎么配置才能更稳定
发布时间:2026/01/26 16:31:47

  TESSY里“驱动生成不出来”或“桩用着不稳定”,多数不是工具坏了,而是接口信息没理顺、环境参数没对齐、桩的形态选错,导致生成阶段编译链接失败,或运行阶段数据传递与状态复位不一致。处理思路可以固定成两条线:一条线把测试对象接口与执行选项梳顺,让TESSY稳定生成并复用测试驱动;另一条线把桩的来源、行为与复现方式定住,让每次跑出来的结果可解释、可重跑。

  一、TESSY怎么生成测试驱动

 

  先把模块测试环境与测试对象接口准备到位,再通过执行对话框触发生成与编译链接,TESSY会按接口信息与Usercode生成驱动并创建可执行文件,再执行测试。

 

  1、先把模块环境对齐到真实编译链路

 

  在模块属性里把编译器、调试器或目标环境选到与你工程一致的组合,并把源码文件路径与依赖头文件路径补齐,避免驱动生成阶段编译器报错把问题“伪装成”TESSY生成失败。

 

  2、用TIE把测试对象接口信息整理干净

 

  在测试对象上点击右键选择【Edit Interface】打开TIE,把参数、返回值、全局变量、外部函数等接口元素的Passing Direction确认好,尤其是外部函数与外部变量这两类,没处理干净会直接影响驱动生成与运行数据装载。

 

  3、先建最小用例验证生成链路再扩展

 

  在【Unit】页先用【Insert Testcase】插入一个用例,再用【Edit Testdata】打开TDE把关键输入与期望值填齐,先跑通“能生成、能编译、能运行”的最小闭环,再逐步补全更多用例与边界条件。

 

  4、在执行对话框里明确勾选生成动作并触发构建

 

  点击工具栏【Execute Test】或在测试对象右键选择【Execute Test】,在对话框的Actions里确认【Generate Driver】与【Run】处于勾选状态,执行后TESSY会生成、编译并链接测试驱动,再运行测试并回写结果到数据库。

 

  5、遇到环境或头文件变更时强制重建驱动

 

  当你改了头文件、编译开关或模块环境参数但TESSY没有自动识别到变更时,可以在执行对话框里保持【Generate Driver】勾选,强制触发重新生成与重建,避免拿旧驱动反复跑导致现象漂移。

 

  二、TESSY测试桩怎么配置才能更稳定

 

  稳定的核心是三件事:桩用哪种形态,桩的行为数据从哪里来,桩与测试对象的状态如何在每次用例之间复位。TESSY支持用桩替代外部函数,也支持把本地函数替换为桩,并提供Advanced Stubs把参数与返回值当作可配置的输入输出,从而减少手写桩带来的随机性。

 

  1、先把外部函数与本地可替换点识别出来再决定桩形态

 

  在TIE里关注External Functions与Local Functions列表,外部函数通常需要桩来补齐缺失实现,本地函数在需要隔离依赖时也可以替换为桩,先把“要隔离哪些调用”定清楚,再进入桩配置会更稳。

 

  2、优先用Advanced Stubs把桩行为数据化

 

  对带参数或带返回值的外部函数,尽量启用Advanced Stubs,让参数与返回值在TDE里像普通输入输出一样可配置,并能进入报告;对多次调用的场景按调用次序给不同返回值,能明显减少用例间互相影响。

  3、复杂类型或难以数据化的桩用合成变量与受控入口兜底

 

  当Advanced Stubs不支持某些参数或返回类型时,TESSY会标成不可修改的IRRELEVANT,此时不要硬改接口,改用普通桩或用合成变量方式提供复杂对象的输入输出,把数据准备放到可追溯的位置。

 

  4、把桩实现从工程里剥离成可复用的目标文件或库

 

  需要更强控制力时,把桩函数实现编译成object或library再链接进测试驱动,这样桩代码版本可控,也更便于团队复用同一套桩实现做组件级联调或集成级验证,减少每个模块各写一套桩造成的分叉。

 

  5、用环境属性控制自动生成桩的边界与一致性

 

  在TEE相关环境属性里开启自动桩生成的同时,配合Function Stub Exclude List把不应被自动桩化的函数排除,避免把底层基础库也桩掉导致行为不真实;必要时再评估Use Module Stub Code一类选项,避免无关桩代码被带入当前测试对象引发链接与行为复杂度上升。

 

  三、TESSY驱动与测试桩联动复现怎么做

 

  把“可复现”当作配置目标,会比单纯追求通过率更容易稳定下来,尤其是涉及静态状态、通信缓冲与目标机下载执行的工程。

 

  1、对状态敏感的测试对象启用单用例独立执行

 

  在执行选项中对特定测试对象启用【Testcases separately】,让每个用例在更接近干净内存初始态的环境下运行,避免前一个用例留下的静态变量与缓存状态影响下一个用例结果。

 

  2、把通信与数据传输的完整性检查打开做早期防线

 

  当你在目标机执行或走调试器通道时,启用Comm Buffer Integrity这类检查项可以更早暴露通信缓冲被破坏或只读违规的问题,避免表现成“偶发失败”却长期抓不到原因。

 

  3、驱动生成失败先按编译器报错定位而不是先改桩

 

  TESSY生成、编译、链接测试驱动的过程会把编译器错误写到消息窗口,出现编译与链接失败时优先按实际报错回到头文件、宏定义与链接选项处理,桩配置只在确认接口与实现缺口后再动。

 

  4、把接口变更与桩变更纳入同一套版本记录

 

  接口元素的Passing Direction、Advanced Stubs的数据准备方式、外部桩库的版本号要一起记录到模块说明里,后续复跑或移交时才能做到同一套用例在不同机器、不同人手里仍能跑出可对照的结果。

  总结

 

  TESSY测试驱动生成的关键在于先用TIE把接口信息理顺,再通过【Execute Test】在Actions里明确执行【Generate Driver】与【Run】触发生成、编译、链接与运行,环境或头文件变更时用【Generate Driver】强制重建。测试桩要稳定,优先用Advanced Stubs把外部函数的参数与返回值数据化,复杂类型再用合成变量或外部桩库兜底,同时在TEE里用自动桩生成与排除清单把边界定住;对状态敏感对象再配合【Testcases separately】与通信完整性检查,通常就能把“偶发不稳定”收敛为可复现、可定位的问题。

读者也访问过这里:
135 2431 0251