TESSY中文网站 > 热门推荐 > TESSY如何设置全局变量的初始值 TESSY全局变量在不同测试用例间残留如何定位
教程中心分类
TESSY如何设置全局变量的初始值 TESSY全局变量在不同测试用例间残留如何定位
发布时间:2026/10/28 15:51:13

  同一条测试单独执行能够通过,放进整组用例后却失败,问题有时出在未恢复的全局状态上。源文件中的初始赋值、测试数据和初始化函数可能在不同时间生效。处理TESSY如何设置全局变量的初始值TESSY全局变量在不同测试用例间残留如何定位,需要确认变量在调用前由谁赋值,再检查旧数据是否被覆盖。

  一、TESSY如何设置全局变量的初始值

 

  全局变量是否能够输入初值,取决于测试接口中的方向设置。以下以TESSY 5.1英文界面为例。

 

  1、在测试接口中确定变量方向

 

  ①打开目标模块和测试对象,进入TIE测试接口编辑器,找到全局变量,核对名称、类型及所属源文件。

 

  ②点击【Passing】列。仅由函数读取的变量选择【IN】,需要输入初值并检查执行后结果的变量选择【INOUT】;仅检查输出的变量使用【OUT】。

 

  ③检查结构体成员和指针目标的数据方向。若变量设为【IRRELEVANT】,后续测试数据中不会按普通接口变量使用,应根据真实读写方式重新确认。

 

  方向应反映函数的使用方式。函数需要读取旧值时,不能仅因最终会写入结果就将变量作为纯输出。

 

  2、在测试步骤中填写具体初值

 

  ①进入TDE测试数据编辑器,在【Test Data】中选中对应步骤,填写全局变量的输入值;对于INOUT变量,另行填写期望输出。

 

  ②需要批量填写时,右键选择【Initialize Test Data…】,在【Initialize Values】中使用【Value】设置具体值。

 

  ③处理数组时检查【Initialize all array elements】,防止只初始化当前可见元素;处理结构体时,核对各成员的值。

 

  ④保存后执行测试,比较输入和实际输出。批量初始化可能同时改动期望值,完成后应重新核对判定条件。

 

  3、通过用户代码准备复杂状态

 

  涉及初始化函数、缓冲区或关联指针时,可以在用户代码中建立前置状态。

 

  ①在【Usercode Outline】中选中测试用例或测试步骤,再到【Prolog/Epilog】的【Prolog】区域填写初始化操作。

 

  ②按独立性要求选择层级:每个用例开始时恢复状态,放在用例级;每次步骤调用前都需要恢复,才放在步骤级。

 

  ③检查执行顺序。用例级Prolog之后会赋入步骤输入数据,步骤级Prolog则在输入数据之后执行,因此后者可以覆盖TDE中的值。

 

  二、TESSY全局变量在不同测试用例间残留如何定位

 

  先保留能够触发问题的执行顺序,再缩小到具体变量。直接给所有变量清零,容易掩盖原本缺少的前置条件。

  1、比较单独执行与连续执行

 

  ①固定源码、编译选项和测试数据,分别执行用例B,以及用例A后接用例B,记录B的结果差异。

 

  ②在调试环境中观察B进入被测函数前的变量值,再查看A结束时的值,确认两者是否相同。

 

  ③交换顺序或减少前置用例,找到能够影响B的最小组合,记录目标程序是否重新启动。

 

  顺序相关只能作为线索,还要排除外设状态及桩函数行为造成的差异。

 

  2、检查被忽略的输入值

 

  ①在B对应步骤的【Test Data】中检查输入单元格,特别查找“none”。

 

  ②确认是否使用过右键菜单【Ignore Value】。该设置表示本步骤不赋值,可以保留上一测试步骤计算出的内容,并不表示清零。

 

  ③对要求独立执行的用例填写明确初值;对需要连续状态的步骤,保留忽略设置,并写清状态来源。

 

  3、排查初始化代码和隐含状态

 

  ①在【Usercode Outline】中检查对象级、用例级和步骤级代码,确认初始化没有只在整个测试对象开始时执行一次。

 

  ②查看【Prolog/Epilog】中的条件判断、继承内容和桩代码,检查是否仅对部分用例执行赋值。

 

  ③追踪文件作用域static变量、桩函数计数器及指针指向的存储区。恢复指针本身不会自动恢复其目标内容。

 

  ④在生成的测试驱动或调试器中核对实际赋值位置,确认修改后的用户代码已参与本轮构建。

 

  4、用数据模式识别错误的OUT方向

 

  ①打开测试执行对话框,在支持该功能的版本中启用【Run with test data pattern】。

 

  ②检查【Test Data Pattern】和【Test Data Alternate Pattern】配置,执行后比较模式测试与普通执行结果。

 

  ③若结果受填充值影响,检查OUT变量是否被提前读取、是否只写入部分成员或数组元素,再修正接口方向或实现。

 

  此功能会用不同模式初始化OUT变量,帮助暴露输入依赖,不能替代其他共享状态的初始化。

 

  三、TESSY如何验证全局状态已正确隔离

 

  修复后既要证明独立用例不受顺序影响,也要保证状态机测试仍能保留必要的历史状态。

 

  1、分别验证独立用例和连续步骤

 

  ①对独立用例执行单测、组合执行和顺序交换,比较函数入口状态及最终结果,确认前置条件一致。

 

  ②对连续步骤测试,检查第一步建立的状态能否传递到后续步骤。若步骤级Prolog每次都复位,应按测试目的调整层级。

 

  ③给初始化行为设置检查项,例如状态枚举、有效数据长度和计数器值,避免只凭最终返回值判断。

 

  2、保存可复现的回归记录

 

  ①保留触发问题的用例组合,记录残留变量、原赋值位置和修复方法。

 

  ②重新构建并运行受影响的测试集,核对报告中的配置与结果,再归档测试数据及用户代码。

  总结

 

  解决TESSY如何设置全局变量的初始值TESSY全局变量在不同测试用例间残留如何定位,应把接口方向、输入数据和初始化时机放在一起检查。INOUT可以明确调用前后的状态,“none”会保留现有内容,步骤级Prolog还可能覆盖已填写的输入。修复后,通过单独执行和组合执行比较,确认独立性要求得到满足,同时保留连续步骤所需的状态。希望这些方法能帮助大家找到残留来源,让测试结果更容易复现。如有TESSY相关需求,欢迎联系我们咨询。

176 5129 0128