基于场景和数据驱动的软件流程测试方法及装置与流程

文档序号:28592481发布日期:2022-01-22 09:05阅读:89来源:国知局
基于场景和数据驱动的软件流程测试方法及装置与流程

1.本发明属于软件测试技术领域,尤其涉及基于场景和数据驱动的软件流程测试方法及装置。


背景技术:

2.软件测试是提高软件质量的主要手段。装备软件通过udp接口与外部系统进行信息交换。随着功能和复杂度的提高,装备软件的业务模块和udp接口越来越多,与外部系统之间交换的数据量越来越大、时序约束越来越严格。这不仅引起装备软件的运行流程变得更复杂,而且业务模块之间的关系变得更紧密。这种业务紧密性使得任何一个业务模块执行的失败,都可能引起装备软件运行流程的暂停或者终止,最终导致装备任务的失败。
3.近年来,装备的自动化、智能化程度普遍提高,其趋势向小型化发展。这使得装备软件的容错能力逐渐增强,操作越来越简单。一个按钮、一个信号或是一条指令,就能够触发装备软件自动运行,直至装备任务执行完成。同样地,在软件运行过程中的一个微小的错误,比如接收到故障数据,超时等,都可能引起装备软件异常,甚至崩溃。
4.这类多udp接口装备软件给软件测试带来了巨大的挑战。由于运行流程复杂,业务关系紧密、时序约束严格,手工测试根本无法胜任。依赖于实物装备开展测试,很多故障数据难以注入,而且一些场景无法执行。开发专用测试工具,成本和周期都非常高,一旦软件需求变更,整个过程需要重来,也不利于回归测试。


技术实现要素:

5.本发明的目的就在于为了解决上述问题而提供基于场景和数据驱动的软件流程测试方法,包括:
6.装备软件场景分析;
7.获得系统场景和业务场景,通过遍历场景,获得测试用例套;
8.进行交换数据配置,制定五层交换数据配置规则,生成装备软件与外部系统之间的交换数据,形成测试数据配置文件;
9.对测试数据配置文件进行解析,识别测试数据集及其属性信息,暂存到程序对象中;
10.获取数据驱动的自动化测试执行的原理,开发udp接口测试工具,在环监听多个udp接口的输出,自动注入数据激励,自动化执行驱动装备软件的业务流程,获取测试结果。
11.基于场景和数据驱动的软件流程测试装置,包括:
12.数据配置单元,用于对装备软件与外部系统之间的交换数据进行配置,生成xml格式的测试数据配置文件;
13.数据解析单元,用于读取测试数据配置文件,解析交换数据集及其属性信息,暂存到动态数组、关联容器等程序对象中,提供给数据通信单元使用;
14.数据通信单元,用于在环监听装备软件多个udp接口的输出,查找与之匹配的一组
交换数据,自动注入数据激励,驱动装备软件的业务流程执行,获取测试结果;
15.数据配置单元、数据解析单元、数据通信单元依次相连。
16.本发明的有益效果在于:本发明适用于运行流程复杂、业务关系紧密、时序约束严格的多udp接口装备软件,能够快速建立测试环境,自动注入数据激励,降低了测试成本,提升了测试效率,有利于回归测试。
附图说明
17.图1是本发明的流程图;
18.图2是本发明的装备软件与外部系统之间数据交换的典型场景示意图;
19.图3是本发明的五层交换数据配置规则结构示意图;
20.图4是本发明的使用五层交换数据配置规则描述测试数据配置文件的xml片段示意图;
21.图5是本发明的数据驱动的自动化测试执行的原理示意图;
22.图6是基于数据驱动的多udp接口装备软件流程自动化测试装置的示意图。
具体实施方式
23.下面结合附图对本发明作进一步说明:
24.如附图1所示,本发明基于场景和数据驱动的软件流程测试方法,包括:
25.装备软件场景分析;
26.获得系统场景和业务场景,通过遍历场景,获得测试用例套;
27.进行交换数据配置,制定五层交换数据配置规则,生成装备软件与外部系统之间的交换数据,形成测试数据配置文件;
28.对测试数据配置文件进行解析,识别测试数据集及其属性信息,暂存到程序对象中;
29.获取数据驱动的自动化测试执行的原理,开发udp接口测试工具,在环监听多个udp接口的输出,自动注入数据激励,自动化执行驱动装备软件的业务流程,获取测试结果。
30.具体的,所述装备软件场景分析包括:
31.根据场景将软件划分为主业务模块与次业务模块;根据软件场景的覆盖范围,将场景定义为系统场景与业务场景;
32.系统场景包括用于主业务模块串联执行的业务序列,表示为一个多元组ss=《s,mbm1,mbm2…
,e》;
33.其中,s为系统场景的初始状态,mbmi为顺序执行的第i个主业务模块,i∈{1,2......n},n为主业务模块的数量,e为系统场景的结束状态;
34.业务场景包括用于业务模块执行过程中交换的数据序列,表示为一个多元组sb=《i,e-data1,e-data2…
,o》;
35.其中,i为业务模块的输入态,e-datai为顺序交换的第i组数据,(i∈{1,2......m}),m为交换数据的数量,o为业务模块的输出态。
36.具体的,所述五层交换数据包括:
37.装备软件的接口类型数据、接口协议的数据包及属性数据、装备软件与外部系统
之间的交换组数据、装备软件输出指令和输入数据的数据节点数据、装备软件输出指令和输入数据的文本内容。
38.具体的,所述交换数据包括接收标记与发送标记,接收标记包括装备软件的输出指令,发送标记包括装备软件的输入数据;接收标记用于配置计数关键字,用于记录指令输出次数;发送标记用于配置延时和发生率关键字,分别控制应答延时和应答次数,触发装备软件的超时重传和处理重复数据场景。
39.具体的,所述接收标记还包括源地址和源端口关键字,用于控制udp接口测试工具只应答指定地址的输出;发送标记还包括目标地址和目标端口关键字,用于控制udp接口测试工具只向指定地址返回应答。
40.具体的,所述交换数据集包括多组交换数据,每一组交换数据包括软件的输出指令和输入数据;首先解析每一组交换数据的输出指令、输入数据及其属性,然后将交换数据集暂存到程序对象中;程序对象包括动态数组、关联容器。
41.基于场景和数据驱动的软件流程测试装置,包括:
42.数据配置单元,用于对装备软件与外部系统之间的交换数据进行配置,生成xml格式的测试数据配置文件;
43.数据解析单元,用于读取测试数据配置文件,解析交换数据集及其属性信息,暂存到动态数组、关联容器等程序对象中,提供给数据通信单元使用;
44.数据通信单元,用于在环监听装备软件多个udp接口的输出,查找与之匹配的一组交换数据,自动注入数据激励,驱动装备软件的业务流程执行,获取测试结果;
45.数据配置单元、数据解析单元、数据通信单元依次相连。
46.具体的,还包括与数据解析单元相连的附加功能单元,用于组播通信、广播通信、文件发送、数据分析和日志管理。
47.本发明通过对装备软件进行场景分析,配置交换数据,开发udp接口测试工具,能够快速建立测试环境,自动注入数据激励,驱动装备软件业务流程的自动化执行,实现了多udp接口装备软件流程自动化测试的目的。
48.本发明提出基于场景和数据驱动的软件流程测试方法,包括:对装备软件进行场景分析,获得系统场景和业务场景,通过遍历场景,获得测试用例套;进行交换数据配置,制定五层交换数据配置规则,描述装备软件与外部系统之间的交换数据,形成测试数据配置文件;对测试数据配置文件进行解析,识别交换数据集及其属性信息,暂存到程序对象中;获取数据驱动的自动化测试执行的原理,开发udp接口测试工具,在环监听多个udp接口的输出,自动注入数据激励,驱动装备软件业务流程的自动化执行,获取测试结果。
49.根据场景将软件划分为主业务模块与次业务模块;根据软件场景的覆盖范围,将场景定义为系统场景与业务场景;
50.系统场景包括用于主业务模块串联执行的业务序列,表示为一个多元组ss=《s,mbm1,mbm2…
,e》;其中,s为系统场景的初始状态,mbmi为顺序执行的第i个主业务模块,i∈{1,2......n},n为主业务模块的数量,e为系统场景的结束状态;
51.业务场景包括用于业务模块执行过程中交换的数据序列,表示为一个多元组sb=《i,e-data1,e-data2…
,o》;其中,i为业务模块的输入态,e-datai为顺序交换的第i组数据,(i∈{1,2......m}),m为交换数据的数量,o为业务模块的输出态。
52.如附图2所示,装备软件通过多个udp接口与外部系统进行信息交换,按照业务流程顺序执行每一个业务模块,共同完成装备任务。外部系统为一个或多个。业务模块执行过程中,数据交换的步骤是:第一步,业务模块发出一条指令,等待接收应答;第二步,外部系统返回一条应答,表示收到指令;第三步,外部系统执行指令任务,完成后返回结果。业务模块如果接收到故障数据或超时,则重传指令,直至最大重传次数后流程暂停或终止,装备任务执行失败;如果前一个业务模块执行成功,则顺序执行下一个业务模块;只有所有业务模块执行成功,流程才正常结束,装备任务执行成功。
53.如附图3所示本发明的五层交换数据配置规则结构示意图,利用可扩展描述语言(xml)支持描述数据、允许扩展标记的特点,对装备软件与外部系统之间的交换数据进行抽象,抽取共性特征,制定接口类型、数据包、交换组、数据节点和数据内容五层交换数据配置规则,支持配置多包应答数据,支持配置多组交换数据,达到了测试数据配置通用性、灵活性的目的。第一层至第四层为xml元素节点,分别代表接口类型、数据包和交换组,第五层为xml文本节点,代表交换数据。第一层为装备软件的接口类型,使用一组固定标签《udp/》表示;第二层为接口协议的数据包及属性,使用一组固定标签《packet/》表示;第三层为装备软件与外部系统之间的交换数据组及其属性,使用两组固定标签《receive/》和《send/》表示,《receive/》节点下层为装备软件的输出指令,《send/》节点下层为装备软件的输入数据,可以配置多包输入数据;第四层为装备软件输出指令和输入数据的数据节点,使用一组固定标签《data/》表示;第五层为装备软件输出指令和输入数据的文本内容,无标签。
54.如附图4所示,接口协议为udp协议,数据包名字为protocol 1,监听的装备软件地址为127.0.0.1:9001,监听到该地址第2次输出指令112233后自动响应,应答两包数据,第一包应答数据aa bb,延时10ms发送到地址127.0.0.1:9001,连续发送两次,第二包应答数据为cc dd,立即发送到地址127.0.0.2:9001,只发送一次。
55.如附图5所示,按照装备软件的业务场景和系统场景,配置测试数据文件,利用udp接口测试工具模拟外部系统建立测试环境,解析测试数据配置文件,将交换数据集保存到程序对象中,在环监听装备软件多个udp接口的输出,在程序对象中查找与之匹配的那组交换数据,按照装备软件的运行场景自动注入数据激励,驱动装备软件的业务流程顺利地执行,获取测试结果。整个过程以测试数据来控制测试的自动化执行。
56.本发明还提供了一种基于数据驱动的多udp接口装备软件流程自动化测试装置,如附图6所示,该装置包括:
57.数据配置单元,包括协议属性设置模块、交换数据组设置模块、交换数据设置模块、测试数据文件生成模块,对装备软件与外部系统之间的交换数据进行配置,设置接口协议属性、交换数据组和交换数据,自动生成满足五层交换数据配置规则的测试数据配置文件;
58.数据解析单元,包括交换数据组解析模块、输出指令解析模块、输入数据解析模块,用于加载测试数据配置文件,解析交换数据组、输出指令、输入数据及其属性信息,暂存到动态数组、关联容器等程序对象中,提供给单播通信单元使用;
59.单播通信单元,用于初始化本地地址,设置udp监听地址,启动自动响应模式,在环监听装备软件多个udp接口的输出,查找与之匹配的一组交换数据,自动注入数据激励,驱动装备软件的业务流程顺利地执行,获取测试结果,并显示与统计接收/发送数据;
60.附加功能单元,用于组播通信、广播通信、文件发送、数据分析和日志管理。
61.本发明适用于运行流程复杂、业务关系紧密、时序约束严格的多udp接口装备软件,能够快速建立测试环境,自动注入数据激励,降低了测试成本,提升了测试效率,有利于回归测试。
62.本发明的技术方案不限于上述具体实施例的限制,凡是根据本发明的技术方案做出的技术变形,均落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1