TESSY中文网站 > 新手入门 > TESSY怎么设置代码插桩 TESSY代码插桩后测试程序运行异常如何处理
教程中心分类
TESSY怎么设置代码插桩 TESSY代码插桩后测试程序运行异常如何处理
发布时间:2026/09/29 16:41:48

  TESSY代码插桩主要用于收集软件运行过程中的覆盖率数据,例如语句覆盖、分支覆盖以及MC/DC覆盖等。在汽车软件测试项目中,代码插桩通常会和单元测试结合使用,通过插入统计代码记录被测函数执行情况。实际使用时,插桩后的程序可能出现运行异常,例如测试程序启动失败、执行结果异常、目标环境运行不稳定等问题。这类情况通常和插桩配置、编译参数、内存空间以及目标平台限制有关,需要结合构建日志和运行环境逐项检查。

  一、TESSY怎么设置代码插桩

 

  TESSY中的代码插桩主要依靠测试环境配置完成,需要根据测试目标和编译环境设置对应插桩方式。

 

  1、开启代码覆盖率分析功能

 

  进行代码插桩前,需要先在测试项目中启用覆盖率相关配置。

 

  ①、打开【TESSY】测试项目。

 

  ②、进入【Project Settings】。

 

  ③、打开【Coverage Analysis】配置页面。

 

  ④、启用【Code Coverage】功能。

 

  ⑤、选择需要统计的覆盖率类型。

 

  ⑥、保存当前项目设置。

 

  不同项目需要关注的覆盖率指标不同,例如功能测试可能关注语句覆盖,而功能安全项目通常需要关注更严格的分支覆盖或MC/DC覆盖。

 

  2、配置插桩源文件范围

 

  并不是所有文件都需要插桩,需要根据测试目标选择范围。

 

  ①、打开【Test Project】中的源文件列表。

 

  ②、选择需要测试的【Source File】。

 

  ③、确认目标文件已经加入测试环境。

 

  ④、取消不需要统计覆盖率的第三方库文件。

 

  ⑤、检查被测函数是否包含在插桩范围内。

 

  ⑥、重新生成测试环境。

 

  如果插桩范围过大,会增加测试程序体积和运行开销,嵌入式目标环境中尤其需要控制范围。

 

  3、配置插桩编译选项

 

  代码插桩会改变测试程序源码,需要保证编译器能够正确处理生成内容。

 

  ①、打开【Compiler Configuration】。

 

  ②、检查当前编译器类型。

 

  ③、确认插桩相关编译选项。

 

  ④、检查【Include Path】是否包含覆盖率支持文件。

 

  ⑤、确认【Preprocessor Definitions】保持一致。

 

  ⑥、重新构建测试程序。

 

  插桩代码通常需要依赖TESSY生成的支持文件,如果路径或者宏定义缺失,可能导致构建失败。

 

  4、生成带插桩的测试程序

 

  完成配置后,需要重新生成测试环境。

 

  ①、打开【Test Environment】。

 

  ②、执行【Generate Test Environment】。

 

  ③、确认生成过程没有错误。

 

  ④、查看【Build Output】。

 

  ⑤、检查插桩文件是否参与编译。

 

  ⑥、生成新的测试程序。

 

  5、配置覆盖率数据保存方式

 

  插桩代码执行后,需要将运行数据返回给TESSY分析。

 

  ①、打开【Coverage Settings】。

 

  ②、选择覆盖率数据输出方式。

 

  ③、配置目标环境数据回传方式。

 

  ④、检查数据保存路径。

 

  ⑤、保存覆盖率配置。

 

  ⑥、执行一次测试验证。

 

  二、TESSY代码插桩后测试程序运行异常如何处理

 

  代码插桩后出现异常,需要先判断问题发生在编译阶段、启动阶段还是测试执行阶段。不同阶段对应的排查方向不同。

 

  1、检查插桩后程序是否构建成功

 

  如果测试程序没有正常生成,需要先查看构建输出。

 

  ①、打开【Build Output】窗口。

 

  ②、查看插桩文件编译错误。

 

  ③、检查缺失的【Header File】。

 

  ④、确认覆盖率支持文件是否加入工程。

 

  ⑤、检查编译器报错位置。

 

  ⑥、重新生成测试程序。

 

  如果插桩代码无法通过编译,通常和编译环境配置或者支持文件路径有关。

  2、检查运行内存是否不足

 

  插桩会增加额外代码和数据空间,嵌入式平台中可能导致内存不足。

 

  ①、查看测试程序链接结果。

 

  ②、检查【Map File】中的代码大小。

 

  ③、确认RAM和Flash使用情况。

 

  ④、减少不必要的插桩文件。

 

  ⑤、调整测试程序内存配置。

 

  ⑥、重新运行测试。

 

  目标资源有限时,完整插桩可能让程序体积明显增加,需要根据测试目标选择覆盖范围。

 

  3、检查插桩代码与编译选项是否一致

 

  如果插桩环境和原工程编译环境不同,可能导致程序运行异常。

 

  ①、打开原工程【Build Settings】。

 

  ②、查看编译宏定义。

 

  ③、检查优化等级设置。

 

  ④、确认TESSY使用相同配置。

 

  ⑤、重新生成插桩代码。

 

  ⑥、重新执行测试。

 

  例如条件编译代码在两个环境中选择不同分支,会导致测试程序行为和实际软件版本不一致。

 

  4、检查目标平台接口配置

 

  部分嵌入式项目需要通过目标接口收集覆盖率数据。

 

  ①、打开【Target Interface】配置。

 

  ②、检查目标通信方式。

 

  ③、确认数据收集接口。

 

  ④、检查初始化代码。

 

  ⑤、重新下载测试程序。

 

  ⑥、观察运行日志。

 

  如果测试程序能够启动,但覆盖率数据无法返回,需要重点检查目标接口和数据传输配置。

 

  5、检查测试结果异常

 

  有时程序可以运行,但测试结果和插桩前不同。

 

  ①、打开【Test Execution】。

 

  ②、比较插桩前后的测试结果。

 

  ③、检查全局变量变化。

 

  ④、检查时间相关代码。

 

  ⑤、确认插桩是否影响实时行为。

 

  ⑥、调整测试环境。

 

  插桩会增加额外执行代码,对于时间敏感的软件,需要确认测试环境不会因为额外开销产生行为变化。

 

  三、TESSY代码插桩问题处理后怎么验证

 

  完成调整后,需要重新确认测试程序、覆盖率数据和测试结果是否正常。

 

  1、验证插桩功能

 

  ①、打开【Coverage Analysis】。

 

  ②、执行测试用例。

 

  ③、查看覆盖率数据是否生成。

 

  ④、检查覆盖率报告。

 

  ⑤、确认目标函数覆盖结果。

 

  ⑥、保存测试结果。

 

  2、验证测试程序稳定性

 

  ①、重新运行【Test Execution】。

 

  ②、执行多组测试用例。

 

  ③、检查程序启动状态。

 

  ④、查看运行日志。

 

  ⑤、确认测试结果一致。

 

  ⑥、记录验证结果。

 

  3、保存稳定测试配置

 

  ①、保存【Test Project】。

 

  ②、保存【Coverage Configuration】。

 

  ③、记录编译器版本。

 

  ④、记录目标平台信息。

 

  ⑤、保留可正常运行的测试环境。

  总结

 

  TESSY代码插桩主要用于获取软件覆盖率数据,但插桩过程会改变测试程序结构,因此需要关注编译环境、资源占用以及目标平台运行情况。遇到插桩后测试程序异常时,可以先检查构建过程,再分析内存使用、编译参数和目标接口配置。保持插桩配置与实际开发环境一致,并保存稳定测试环境,有助于后续持续开展单元测试和覆盖率分析。

135 2431 0251