TESSY工程中,批量运行多个测试对象、连续执行测试步骤,以及按时序调用组件函数,使用的配置方式各有区别。源代码更新后,如果函数名称、参数或全局变量发生变化,原有测试数据也可能暂时无法使用。处理这两类问题时,应先确认运行层级和接口状态,再调整执行安排或迁移数据。下面以TESSY 5.1的界面为例说明。
一、TESSY怎么配置测试对象的执行顺序
配置前先明确需要的是“先运行哪组测试”,还是“同一次测试中先调用哪个函数”。项目树中的名称排列,不能直接作为函数调用时序的依据。
1、为批量运行建立分组
①切换到【Overview】,在【Test Project】中右键单击项目、模块或测试对象,选择【Define Batch Operation…】。
②在【Test Objects】区域勾选本次需要运行的对象,检查是否混入无关模块。
③选择需要执行的操作,并核对右侧对应设置。
④点击【Save batch file as…】,将配置保存为TBS文件。
如果要求A组完成后再运行B组,可以分别保存两份批处理配置,由外部脚本按先后调用tessycmd执行,并等待前一组结束。还应明确失败后停止还是继续,避免前一组执行异常,后续结果却被当作完整回归结果使用。razorcat.com
2、为同一对象安排连续测试步骤
状态机测试经常需要连续输入,例如先进入待机状态,再发出启动请求,最后检查停止行为。这类过程适合在同一个测试用例内组织测试步骤。
①在【Test Project】中选中目标测试对象。
②在【Test Items】中建立测试用例,再添加所需测试步骤,按业务过程填写数据。
③切换到【TDE】,检查各步骤的输入、预期输出,以及需要沿用的状态。
④检查初始化代码是否在每一步重新执行,避免刚建立的状态被清除。
⑤使用【Execute Test】运行完整用例,逐步核对实际结果。
测试步骤可以表达需要保持内部状态的连续过程,但仍要核对变量赋值和初始化安排。将每一步都重新设置为初始状态,会改变原本想验证的过程。Hitex GmbH
3、设置组件函数的调用时序
①打开组件测试模块,切换到【SCE】。
②在【Component Functions】中选择周期处理函数,点击【Set as Work Task】。
③打开【Work Task Configuration】,设置各函数的【Start Time】和【Cycle Time】。
④如果多个工作任务在同一个时间步满足调用条件,通过拖放调整列表位置;列表顺序对应这些任务的调用先后。
⑤若使用模式控制,继续核对【Mode Variable Name】和各任务的【Mode】。
这里设置的是组件场景内工作任务的调用顺序,适用于具有周期处理函数的组件测试。启动时间和周期不同的任务,还需要按时间条件判断何时执行,不能只看上下位置。hitex.com
二、TESSY测试对象更新后用例关联失效如何修复
先保留更新前的工程备份,再查看对象状态。接口变化、函数被删除和对象迁移,需要分别处理;直接删除旧对象,可能连同需要迁移的数据一起丢失。
1、重新分析并确认变化来源
①在【Overview】中选中模块,检查【Properties】中的源文件及分析配置。
②确认头文件路径、宏定义和源码版本正确,再点击【Analyze Module】。
③查看【Test Project】中的对象状态,区分接口变化、对象新增和对象删除。
④对照代码修改记录,确认变化是否符合预期。
函数突然被识别为删除时,应先检查条件编译和文件路径。分析配置错误造成的接口变化,不适合直接按新接口迁移数据。
2、使用IDA映射新旧接口
①切换到【IDA】,在【Test Project】中双击发生接口变化的测试对象。
②在【Compare】中查看左侧旧接口、右侧新接口。
③对尚未匹配的元素,通过右键菜单或从左向右拖放,建立对应关系。
④逐项核对名称、类型及用途,确认原来的输入值和预期值仍适用于新接口。
⑤检查映射后,点击【Compare】工具栏中的【Commit】,提交复用操作。
例如,原来的参数改成了全局变量,即使名称相同,也需要确认是否已建立映射。遗漏的旧接口元素可能无法保留对应测试数据,因此提交前应检查每个变化项。razorcat.com
3、处理改名或迁移后的测试对象
当更新后出现一个旧对象和一个新对象,而两者确实承接同一项功能时,可以通过IDA迁移测试用例。
①先备份目标对象已有内容,确认是否需要保留。
②在【IDA】中,先将目标对象拖入【Compare】右侧,再将源对象拖入左侧。
③完成接口映射,检查方向后点击【Commit】。
这项操作会完全覆盖目标对象的原有内容。目标新增而无法映射的变量,会留下待补充的数据。函数改名也不意味着行为完全一致,迁移后仍需逐项复核用例。razorcat.com
三、TESSY关联修复后如何检查用例是否有效
对象恢复可操作状态,说明数据迁移已经推进了一步。要确认测试仍然有效,还需检查新增字段、桩函数及执行结果。
1、补齐数据后重新执行
①在【TIE】中复核接口方向、数组范围及桩函数设置。
②打开【TDE】,检查新增参数、结构体成员和预期输出是否缺值。
③核对用户代码中引用的旧名称,修正已变化的参数或成员访问。
④先选择有代表性的用例,通过【Execute Test】检查编译和运行结果。
⑤再执行受影响对象的完整测试,重新生成结果及覆盖率报告。
旧值能够迁移,不代表新版本仍应得到相同结果。如果接口变化伴随行为调整,应依据更新后的设计修改预期值,并保留修改理由。需求追踪关系也应单独检查,不能仅凭接口复用成功便认定已经恢复。
总结
TESSY能够通过批量配置、测试步骤和组件场景组织不同层级的执行过程,选择合适的方式,才能准确表达测试意图。对象更新后,先确认源码与分析配置,再用IDA检查新旧接口,可以减少手工重建用例的工作。迁移完成后,还要补齐新增数据,复核预期结果,并通过重新执行确认测试有效。希望这些方法能帮助大家理顺执行安排,在接口变化后保留有价值的测试数据,让后续回归更容易检查。后续如有相关需求,欢迎交流了解。