被测函数访问硬件或通信接口时,可以用桩函数提供可控结果。填好返回值后,测试仍走另一条分支,就需要检查配置和调用情况。本文围绕“TESSY怎么配置测试桩函数TESSY桩函数返回值无法按预期控制如何检查”,介绍普通桩和高级桩的设置及检查方法,操作采用TESSY英文界面。
一、TESSY怎么配置测试桩函数
普通桩通过用户代码实现行为,高级桩通过测试数据设置返回值和参数检查值。
1、选中需要替换的依赖函数
桩可以按模块或当前测试对象设置,先确认配置的生效范围。
①选择被测函数,切换到【TIE】,打开其接口。
②展开【External Functions】或【Local Functions】,找到需要替换的函数。
③右键该函数,选择【Create Stub】或【Create Advanced Stub】,检查操作对应的生效范围。
④确认当前对象已使用桩,再切换到【TDE】设置数据或行为。
2、用普通桩返回固定值
普通桩适合条件判断、指针操作等情况。有返回值的函数,各执行路径都应返回有效结果。
①在【TDE】中打开【Stub Functions】,选中目标桩函数。
②核对【Signature】中的返回类型和参数名称,在【Stub Code】中填写函数体内容。
③初次验证先使用简单返回语句,例如返回整数状态值7,保存后执行一个测试步骤。
④需要模拟输出参数时,在桩体中写入对应指针目标,并确认目标地址有效;不要把修改指针变量本身当成修改其指向的数据。
3、用高级桩设置返回数据
高级桩的数据方向是相对于被测函数而言的。桩返回给被测函数的值属于输入,因此应设为IN。
①回到【TIE】,展开高级桩,在【Passing】中将返回项设为【IN】。
②需要核验被测函数传给桩的标量参数时,将对应参数设为【OUT】。
③进入【TDE】→【Test Data】,找到带桩函数名称的接口项,在当前测试步骤输入返回值及参数期望值。
④指针参数需要同时检查指针本身和目标对象的方向;出现【IRRELEVANT】且无法修改的类型,改用普通桩实现。
4、为连续调用准备不同返回值
一个测试步骤中多次调用同一个高级桩,单个值通常会用于每次调用。需要逐次改变标量返回值时,使用向量数据。
①在返回项中输入向量,例如{0,1,2},分别表示前三次调用返回的值。
②同时核对预期调用次数,为每次调用准备对应数据。
③复杂类型无法使用向量时,改用普通桩配合合成变量,通过调用计数选择数据;不要把标量向量的写法直接套到指针目标上。
二、TESSY桩函数返回值无法按预期控制如何检查
先确定桩有没有被调用,再确认它返回了什么。被测函数的最终返回值,可能还经过条件判断或错误码转换。
1、桩没有命中,检查调用对象和构建结果
检查测试对象、条件编译和链接设置,确认实际调用的是所配置的桩。
①检查当前模块、测试对象、测试用例及测试步骤,确认修改位置与执行位置一致。
②启用调用跟踪后,通过【Call Trace】核对记录;需要时在桩入口设置调试断点,确认运行是否到达。
③检查当前编译宏、源文件路径及链接对象,核对实际被调用的函数和桩配置。
④修改接口或桩设置后,重新生成、编译并运行测试驱动,查看【Console】中的构建结果,确认没有沿用旧结果。
2、桩已执行,返回值却与填写内容不同
普通桩中的提前返回、高级桩的数据方向错误,以及填错测试步骤,都可能导致这种情况。
①普通桩检查【Stub Functions】中的对象级、用例级和步骤级代码,找出实际执行到的return。
②高级桩检查返回项是否为【IN】,确认数值填写在当前步骤的输入数据中,而非被测函数返回值的期望栏。
③核对函数声明、枚举值、符号位和数据宽度;负数赋给无符号返回类型时,检查转换后的实际值。
④在调用返回后观察接收变量,再跟踪后续判断,区分桩返回错误与被测函数对结果进行了转换。
3、第一次正确,后续调用开始错位
调用次数变化后,返回序列可能错位。普通桩还要检查数组下标和计数重置。
①对照调用记录,检查重试、循环或初始化过程是否增加了调用。
②使用TS_CALL_COUNT时,第一次调用计数为1;访问从零开始的数组时,按计数减一取值,并检查数组边界。
③注意该计数在每个测试步骤重新从1开始,不按整个测试用例累计。
④使用向量返回时,重新匹配调用次数与元素数量;超出预期的调用应明确报告,避免用默认值掩盖问题。
三、TESSY桩函数调整后怎样验证测试有效
用差异明显的数据检查被测函数的处理,确认测试覆盖了预定行为。
1、分别验证正常和异常结果
例如依赖接口有成功与失败两种状态,就应分别观察业务输出,而不是只确认两次测试都能运行。
①复制已有测试用例,分别设置成功状态和失败状态,其他输入保持一致。
②为两种情况填写各自的预期结果,检查错误处理、输出参数和相关状态。
③核对桩的调用次数及实参,确认测试确实经过预定路径。
④查看覆盖结果,确认需要检查的分支已经执行;缺少覆盖时调整触发条件,不通过修改期望值把失败改成通过。
总结
希望“TESSY怎么配置测试桩函数TESSY桩函数返回值无法按预期控制如何检查”这篇文章能帮到大家。软件测试中,有些问题平时不容易遇到,却会影响产品交付后的使用体验。能够在开发阶段认真对待这些情况,对团队和用户都有价值。测试经验需要在项目中慢慢积累,一次讨论、一次复查,也能让大家对产品有更深入的认识。愿这些内容为日常工作提供一些帮助,让测试资料更便于交流,让开发成果经得起实际使用。如果有TESSY相关需求,欢迎联系我们沟通。