一、Quike Start
1.1 打开Tessy4.1工具
1.2 打开工程路径,选择tessy.pdbx
1.3 执行程序
选择要执行的文件和标准C0,C1,MC/DC,选择Test data editor 并执行程序
1.4 导入模块
删除模块手重新导入
二、测试用例编写
缩写词 | 含义 | 用途 |
Test module | 是指测试的C文件 | |
Test object | 测试目标,指测试文件内的函数体。 | |
Test Case | 测试用例,针对一条分支的测试步骤的集合。 | 每个TEST CASE是独立的,所有的环境变量都会初始化到原始状态。 |
Test step | 测试用例的实际操作,定义输入输出参数的值。 | |
MC/DC | Modified Condition/Decision Coverage | 条件修改,判定覆盖 |
C1 | Branch Coverage | 分支覆盖 |
C0 | Statement Coverage | 状态覆盖 |
TIE | Test interface editor | 测试接口编辑,(函数使用的全局变量,内外部函数列表)用于增加stub函数。 |
TDE | Test Data editor | 具体测试case的变量值定义,测试case的编辑 |
IDA | Interface Data Assigner | 测试接口数据分配。 |
2.1 静态变量的定义
静态变量在TDE窗口进行定义,静态变量有以下特性:
1.在文件中定义的静态变量只能在文件中使用
2.其赋值无法在TDE中直接定义,即使给定初始值也无效。因其进入函数后必定会初始化。
只有在同一个CASE中设计多个步骤来解决此问题。
2.2 Declarations/Definitions
定义和声明变量,函数,结构体等。定义的变量和函数可以在stub函数中使用。
注意:
1.此处定义的变量是在所以test case中都可使用,是全局的。一个函数只定义一次。
函数返回结构体指针:
1.stub函数返回定义的结构体指针
2.初始化返回结构体指针的内容。
函数输入参数定义:
例:在输入参数中指定dynamics的动态输入参数(x2598d40) ,再将动态输入参数指到定义的结构全指针(SduData2)
三、常见问题解决
3.1 测试未执行,警告对象接口发生变化
解决方法:
进入TIE界面,重新MAPPING接口。
3.2 没有可执行的测试对象
解决方法:
测试用例的输入数据不完整导致,需要用户填充要使用的数据。
3.3 模块无法分析成功
模块无法成功分析,因部分类型没有声明,但查找代码发现已经有定义。
解决方法:
打开TESSY分析的头文件,查找相应的定义,发现没有找到。原因是头文件没有及时更新。
点Tessy_sync同步一下头文件即可。
3.4 运行测试时,错误出现在与其不相关的函数和变量
模块无法成功分析,因部分类型没有声明,但查找代码发现已经有定义。
解决方法:
将出错的函数里设置成打桩属性。
3.5 函数无法编辑
函数的图标是灰色的,测试CASE也是灰色的,无法编辑运行时报No executable test object。
解决方法:
全局变量没有赋值, 为输入的变量赋值。
3.6 代码直接访问寄存器地址出错
代码直接访问寄存器地址的内容,导致TESSY无法识别报错。
解决方法:
1.使用IF DEFINED TESSY字段屏蔽。
2.访问寄存器时使用函数访问。
----------------------------------------------------------END-----------------------------------------