一种列控设备的测试方法、系统及存储介质技术方案

技术编号:31593786 阅读:20 留言:0更新日期:2021-12-25 11:41
本申请提供一种列控设备的测试方法,包括:获取并解析期待表达式,得到匹配节点、逻辑节点和逻辑节点对应的逻辑关系;将匹配节点加载至数据处理线程,并利用数据处理线程执行正则匹配;若正则匹配成功,执行匹配节点对应节点属性的操作;根据逻辑节点的子节点之间的逻辑关系计算逻辑节点的状态;若计算成功,执行逻辑节点对应节点属性的操作;若逻辑节点为根节点,将根节点的状态作为本次联合期待结果。本申请利用当前主流的通用自动测试框架,通过扩展自定义测试库、创建自定义关键字,满足了列控设备测试的特定需求。本申请还提供一种列控设备的测试系统和计算机可读存储介质,具有上述有益效果。上述有益效果。上述有益效果。

【技术实现步骤摘要】
一种列控设备的测试方法、系统及存储介质


[0001]本申请涉及电子设备测试领域,特别涉及一种列控设备的测试方法、系统及存储介质。

技术介绍

[0002]针对列控设备的自动测试,需要一套具有联合期待功能的测试引擎。现有的测试方法,有的全新开发一套测试引擎,开发成本较高、可扩展性较差;有的直接利用TCL语言及其Expect扩展包实现,但该语言已不再流行,官方更新和维护的频率很低,很多问题未见修复。
[0003]Expect扩展包虽然实现了联合期待功能,但其采用扁平化的列表型的期待格式,存在如下问题:

用于列控设备测试时脚本编写复杂、需要大量设置标志位变相实现复杂逻辑。

Expect是针对交互式应用设计的,只能采用单通道期待,且无法自动删除历史数据,消耗大量计算资源。

Expect无法指定匹配次数,在期待结束前无限重复匹配,导致主引擎计算量大增,计算效率低。

技术实现思路

[0004]本申请的目的是提供一种列控设备的测试方法、测试系统和计算机可读存储介质,能够有效提高测试效率。
[0005]为解决上述技术问题,特别是联合期待功能的实现问题,本申请提供一种列控设备的测试方法,具体技术方案如下:获取期待表达式;其中,所述期待表达式为对单次联合期待中各个匹配条件及其逻辑关系,以及预设操作的描述;解析所述期待表达式,得到匹配节点、逻辑节点和所述逻辑节点对应的逻辑关系;将所述匹配节点加载至数据处理线程,以便所述数据处理线程进入匹配状态,并利用所述数据处理线程执行正则匹配;其中,所述数据处理线程与测试分引擎相对应,所述测试分引擎作为所述列控设备的虚拟陪测设备;若正则匹配成功,执行所述匹配节点对应节点属性的预设操作;根据逻辑节点的子节点之间的逻辑关系计算所述逻辑节点的状态;若计算成功,执行所述逻辑节点对应节点属性的操作;若所述逻辑节点为根节点,将所述根节点的状态作为本次联合期待结果。
[0006]可选的,还包括:根据所述列控设备的外部接口类型,确定测试分引擎。
[0007]可选的,还包括:接收到测试分引擎创建请求时,调用创建分引擎关键字创建所述测试分引擎。
[0008]可选的,所述获取期待表达式包括:从测试执行管理器获取测试脚本,并从所述测试脚本中解析自定义的联合期待关
键字,再从所述联合期待关键字的字符串参数中得到期待表达式。
[0009]可选的,还包括:分别设置各所述测试分引擎对应的数据处理线程对象的自动清空标识;所述自动清空标识用于定时自动清空所述测试分引擎发送的测试数据;设置所有所述测试分引擎对应的数据处理线程对象内的单次跳过清空标识;所述数据处理线程进入匹配状态并执行正则匹配时,关闭所述数据处理线程的自动清空标识。
[0010]可选的,若利用所述数据处理线程执行正则匹配时存在匹配成功的匹配节点,还包括:执行所述匹配节点内所述节点属性的预设操作:从所述匹配表达式根节点开始递归执行匹配表达式结算;若在所述匹配表达式结算过程中存在计算成功的目标逻辑节点,则执行所述目标逻辑节点内所述节点属性的预设操作;若所述匹配节点或所述逻辑节点没有失败属性则配置为通过;若所述匹配节点或所述逻辑节点包含失败属性,则配置为失败,同时将所述匹配节点或所述逻辑节点的所有上层节点包括所述匹配表达式的根节点均设置为失败;若所述根节点计算成功,则将所述根节点的状态作为本次联合期待的最终状态。
[0011]可选的,若所述逻辑节点不为根节点,还包括:按照所述期待表达式对应的树型结构进行逻辑关系运算,直至确定根节点的状态,将所述根节点的状态作为本次联合期待结果。
[0012]可选的,还包括:调用打印日志关键字将本次联合期待结果打印为日志,存储至预设数据库或者预设路径;所述日志包含测试通过的测试脚本名称和/或测试失败的测试脚本名称。
[0013]本申请还提供一种列控设备的测试系统,包括:获取模块,用于获取期待表达式;其中,所述期待表达式为对单次联合期待中各个匹配条件及其逻辑关系,以及预设操作的描述;解析模块,用于解析所述期待表达式,得到匹配节点、逻辑节点和所述逻辑节点对应的逻辑关系;正则匹配模块,用于将所述匹配节点加载至数据处理线程,以便所述数据处理线程进入匹配状态,并利用所述数据处理线程执行正则匹配;其中,所述数据处理线程与测试分引擎相对应,所述测试分引擎作为所述列控设备的虚拟陪测设备;所述正则匹配针对所述测试分引擎发送至数据处理线程的数据;操作执行模块,用于若正则匹配成功,执行所述匹配节点对应节点属性的预设操作;逻辑计算模块,用于根据逻辑节点的子节点之间的逻辑关系计算所述逻辑节点的状态;若计算成功,执行所述逻辑节点对应节点属性的操作;判断模块,用于若所述逻辑节点为根节点,将所述根节点的状态作为本次联合期待结果。
[0014]本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程
序被处理器执行时实现如上所述的方法的步骤。
[0015]本申请提供一种列控设备的测试方法,包括:获取期待表达式;解析所述期待表达式,得到匹配节点、逻辑节点和所述逻辑节点对应的逻辑关系;将所述匹配节点加载至数据处理线程,以便所述数据处理线程进入匹配状态,并利用所述数据处理线程执行正则匹配;其中,所述数据处理线程与测试分引擎相对应,所述测试分引擎作为所述列控设备的虚拟陪测设备;若正则匹配成功,执行所述匹配节点对应节点属性的预设操作;根据逻辑节点的子节点之间的逻辑关系计算所述逻辑节点的状态;若计算成功,执行所述逻辑节点对应节点属性的操作;若所述逻辑节点为根节点,将所述根节点的状态作为本次联合期待结果。
[0016]本申请通过采用自定义层次化的匹配表达式,实现对列控设备的测试,通过匹配表达式几种的测试逻辑,实现了“消息级”的测试及故障注入,增强了主引擎的期待功能,而且大大减小了主引擎的计算量,简化了测试流程,同时提高了测试效率。同时利用当前主流的通用自动测试框架,通过扩展自定义测试库、创建自定义关键字,提供了一种具有联合期待功能的测试方法,从而满足了列控设备测试的特定需求。
[0017]本申请还提供一种列控设备的测试系统和计算机可读存储介质,具有上述有益效果,此处不再赘述。
附图说明
[0018]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0019]图1为本申请实施例所提供的一种列控设备的测试方法的流程图;图2为本申请实施例所提供的期待表达式对应树型结构逻辑关系示意图;图3为本申请实施例所提供的一种列控设备的测试系统结构示意图。
具体实施方式
[0020]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种列控设备的测试方法,其特征在于,包括:获取期待表达式;其中,所述期待表达式为对单次联合期待中各个匹配条件及其逻辑关系,以及预设操作的描述;解析所述期待表达式,得到匹配节点、逻辑节点和所述逻辑节点对应的逻辑关系;将所述匹配节点加载至数据处理线程,以便所述数据处理线程进入匹配状态,并利用所述数据处理线程执行正则匹配;其中,所述数据处理线程与测试分引擎相对应,所述测试分引擎作为所述列控设备的虚拟陪测设备;若正则匹配成功,执行所述匹配节点对应节点属性的预设操作;根据逻辑节点的子节点之间的逻辑关系计算所述逻辑节点的状态;若计算成功,执行所述逻辑节点对应节点属性的操作;若所述逻辑节点为根节点,将所述根节点的状态作为本次联合期待结果。2.根据权利要求1所述的测试方法,其特征在于,还包括:根据所述列控设备的外部接口类型,确定测试分引擎。3.根据权利要求2所述的测试方法,其特征在于,还包括:接收到测试分引擎创建请求时,调用创建分引擎关键字创建所述测试分引擎。4.根据权利要求1所述的测试方法,其特征在于,所述获取期待表达式包括:从测试执行管理器获取测试脚本,并从所述测试脚本中解析自定义的联合期待关键字,再从所述联合期待关键字的字符串参数中得到期待表达式。5.根据权利要求2所述的测试方法,其特征在于,还包括:分别设置各所述测试分引擎对应的数据处理线程对象的自动清空标识;所述自动清空标识用于定时自动清空所述测试分引擎发送的测试数据;设置所有所述测试分引擎对应的数据处理线程对象内的单次跳过清空标识;所述数据处理线程进入匹配状态并执行正则匹配时,关闭所述数据处理线程的自动清空标识。6.根据权利要求1所述的测试方法,其特征在于,若利用所述数据处理线程执行正则匹配时存在匹配成功的匹配节点,还包括:执行所述匹配节点内所述节点属性的预设操作:从所述匹配表达式根节点开始递归执行匹配表达式结算;若在所述匹配表达式结算过程中存在计算成功的目标逻辑节...

【专利技术属性】
技术研发人员:柯长博杨凯薛仁溥耿宏亮罗红磊李胜桂赵昱李启翮刘振玉
申请(专利权)人:湖南中车时代通信信号有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1