一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动化测试方法及装置与流程

2021-12-01 01:01:00 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种自动化测试方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.随着计算机技术的飞速发展,系统的更新速度也在加快。在一个系统修改了某些功能或开发了新功能时,要判断其是否影响到该系统的其他功能,需要对该系统进行测试。现有的测试方法是通过人为构造大量的数据,对系统进行测试,并需要经常维护数据,不仅成本高昂,且自动化测试效率也较低。


技术实现要素:

4.本发明实施例提供一种自动化测试方法,用以降低系统自动化测试成本以及提高自动化测试效率,该方法包括:
5.在待测系统中嵌入探针程序;
6.控制所述探针程序获取所述待测系统的生产数据;
7.通过所述探针程序将所述生产数据发送至测试管理系统,以使所述测试管理系统对所述生产数据进行处理,得到第一数据,所述第一数据用于进行自动化测试。
8.本发明实施例还提供一种自动化测试装置,用以降低系统自动化测试成本以及提高自动化测试效率,该装置包括:
9.嵌入模块,用于在待测系统中嵌入探针程序;
10.数据获取模块,用于控制所述探针程序获取所述待测系统的生产数据;
11.第一发送模块,用于通过所述探针程序将所述生产数据发送至测试管理系统,以使所述测试管理系统对所述生产数据进行处理,得到第一数据,所述第一数据用于进行自动化测试。
12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动化测试方法。
13.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述自动化测试方法的计算机程序。
14.本发明实施例中,在待测系统中嵌入探针程序;控制探针程序获取待测系统的生产数据;通过探针程序将生产数据发送至测试管理系统,以使测试管理系统对生产数据进行处理,得到第一数据,第一数据用于进行自动化测试。这样,通过探针程序可以获取待测系统的生产数据,并将基于生产数据生成的第一数据用于进行自动化测试,可以降低人为构造数据的成本,提高系统自动化测试的效率。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
16.图1为本发明实施例中提供的一种自动化测试方法的流程图;
17.图2为本发明实施例中提供的另一种自动化测试的方法流程图;
18.图3为本发明实施例中提供的一种非独立待测系统的自动化测试方法流程图;
19.图4为本发明实施例中提供的一种自动化测试装置的示意图;
20.图5为本发明实施例中提供的另一种自动化测试装置的示意图;
21.图6为本发明实施例中提供的又一种自动化测试装置的示意图;
22.图7为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
24.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
25.经研究发现,通过现有的系统测试方法,在对独立系统(即不依赖其他系统,可独立提供服务的系统)进行测试时,大多是通过人为构造测试数据,所需要的数据量庞大,需要投入大量的人工成本;而对非独立系统(即必须其他系统配合才可以完成某些功能,在分工上只负责专项工作的系统,比如渠道系统只负责报文的接收、转换转发)的测试,不仅需要人为构造大量的数据,还需要开发挡板程序来模拟其他依赖系统,然后利用挡板程序发起测试或者作为接收方返回数据,整个过程非常麻烦,对于新版本的新功能用这样的方法测试是无可厚非的,但是对于每次都要回归测试的其他原有功能时,这样的做法成本过于高昂,且自动化测试难度也较大。
26.针对上述研究中存在的问题,本发明实施例提供一种自动化测试方法,如图1所示,该方法包括:
27.步骤101:在待测系统中嵌入探针程序;
28.步骤102:控制所述探针程序获取所述待测系统的生产数据;
29.步骤103:通过所述探针程序将所述生产数据发送至测试管理系统,以使所述测试管理系统对所述生产数据进行处理,得到第一数据,所述第一数据用于进行自动化测试。
30.本发明实施例中,在待测系统中嵌入探针程序;控制探针程序获取待测系统的生
产数据;通过探针程序将生产数据发送至测试管理系统,以使测试管理系统对生产数据进行处理,得到第一数据,第一数据用于进行自动化测试。这样,通过探针程序可以获取待测系统的生产数据,并将基于生产数据生成的第一数据用于进行自动化测试,可以降低人为构造数据的成本,提高系统自动化测试的效率。
31.在上述步骤101中,上述探针程序是指一段嵌入到系统中的脚本程序,可以用于采集数据以及对外进行通信。而且,对于不同的待测系统,其通讯方式或报文格式可能需要不同的兼容性措施,因此,嵌入不同待测系统的探针程序也不相同,具体的,可以根据待测系统的语言环境进行定制开发探针程序。
32.另外,在待测系统中嵌入探针程序,需要将探针程序嵌入到待测系统中合适的位置。具体的,确定探针程序嵌入待测系统的位置,可以通过如插桩策略等现有的方式来确定,在此不做赘述。
33.在上述步骤102中,上述生产数据是指待测系统在实际应用的过程中,产生的真实交易数据。
34.其中,在待测系统处于实际应用过程中(真实环境),探针处于录制状态,待测系统可以控制探针程序,抓取和待测系统产生交互的数据(即生产数据)。例如,在待测系统中不同的位置嵌入两个探针,分别为前置探针和后置探针,其中,前置探针用于获取系统a和待测系统进行交互的数据,后置探针用于获取系统c和待测系统进行交互的数据。
35.在上述步骤103中,根据上述内容可知,探针程序可以用于对外通信,因此,可以通过探针程序将上述生产数据发送至测试管理系统。
36.其中,上述待测管理系统是预先设置的和探针程序相匹配的系统,可以用于接收、存储探针程序发送的数据;还可以对外提供数据查询接口,针对探针程序发送的请求进行数据查询;还可以根据存储于系统中的数据生成请求报文,并发送至待测系统,模拟发起真实交易。另外,针对某些数据中存在变量部分(流水号、时间戳等),待测管理系统还可以借助人工智能技术识别并做特殊处理。
37.因此,在测试管理系统接收到探针程序发送的生产数据之后,对接收到的生产数据进行处理,生成第一数据并存储。在待测系统处于开发环境下时,测试管理系统可以利用第一数据发起测试请求,由于第一数据是基于待测系统的生产数据生成的,因此,利用第一数据进行自动化测试得到的测试结果的真实性更高,测试效果更好。
38.本发明实施例中,在上述待测系统为独立系统的情况下,如图2所示,为本发明实施例提供的在待测系统处于开发环境下,利用第一数据进行自动化测试的方法流程图,包括:
39.步骤201:在待测系统处于开发环境的情况下,且在所述测试管理系统根据所述第一数据生成第一测试请求报文的情况下,通过所述探针程序接收所述测试管理系统发送的所述第一测试请求报文;
40.步骤202:基于所述待测系统的第一业务逻辑,对所述第一测试请求报文进行处理,生成第一测试应答报文;
41.其中,上述第一业务逻辑是预先设定的对系统特定业务的处理规则,负责逻辑性数据的生成、处理及转换。
42.步骤203:通过所述探针程序将所述第一测试应答报文发送至所述测试管理系统,
以使所述测试管理系统将所述第一测试应答报文和所述第一数据中的第一期望应答报文进行对比,生成第一测试报告。
43.具体地,可以通过第一测试报告,得出待测系统开发环境下和真实环境下运行的结果差异,进而快速准确地定位新版本中是否引入新的缺陷。
44.另外,在上述待测系统为非独立系统的情况下,本发明实施例可以利用测试管理系统模拟任何系统环境,复现真实交易场景。
45.本发明实施例中,在上述步骤202之后,还包括:
46.基于待测系统的第二业务逻辑,对第一测试请求报文进行处理,生成第二测试请求报文;
47.通过探针程序将第二测试请求报文发送至测试管理系统,以使测试管理系统从第一数据中,查询第二测试请求报文对应的第二期望应答报文;
48.接收测试管理系统发送的第二期望应答报文;
49.基于待测系统的第三业务逻辑,对第二期望应答报文进行处理,生成第四测试应答报文。
50.具体的,通过待测系统的查询接口,查询测试请求对应的应答报文,将查询到的应答报文发送至待测系统,继续进行交易,进而实现了利用测试管理系统模拟任何系统环境,复现真实交易场景。和现有技术相比,既不需要去开发挡板程序,也不需要人为构造数据,降低了人工投入,提高了自动化测试的效率。
51.另外,本发明实施例中,在生成第四测试应答报文之后,通过探针程序将第四测试应答报文发送至测试管理系统,以使测试管理系统将第四测试应答报文和第一数据中的第二期望应答报文进行对比,以及,将第二测试请求报文和第一数据中的第一期望请求报文进行对比,生成第二测试报告。
52.为了更清楚地描述本发明提供的自动化测试方法,下面通过一个具体的示例对本发明提供的自动化测试方法进行说明。
53.如图3所示,为本发明实施例中提供的一种非独立待测系统的自动化测试方法流程图,主要包括以下步骤:
54.在待测系统处于真实环境下(即待测系统在实际应用过程中):
55.步骤301:控制待测系统中的前置探针接收系统a发送的请求报文31;
56.步骤302:经过待测系统的上行逻辑(即第二业务逻辑)处理后,生成请求报文32,并控制后置探针将请求报文32发送至系统c;
57.步骤303:系统c根据请求报文32,生成应答报文33,并将应答报文33发送至待测系统;
58.步骤304:经过待测系统的下行逻辑(即第三业务逻辑)处理后,生成应答报文34,并通过前置探针将应答报文34发送至系统a;
59.需要说明的是,上述请求报文31、请求报文32、应答报文33以及应答报文34相当于本发明实施例中的生产数据;且这些生产数据可以通过前置探针和后置探针发送至测试管理系统进行处理并存储。其中,前置探针主要负责获取系统a发送的数据以及和系统a进行通信,后置探针主要负责系统c发送的数据以及和系统c进行通信。
60.在待测系统处于开发环境下,系统a和系统c均不存在,可以通过测试管理系统模
拟系统a和系统c,测试管理系统根据上述请求报文31、请求报文32、应答报文33以及应答报文34等数据模拟发起交易:
61.步骤305:测试管理系统根据请求报文31,生成相应的测试请求报文41(即第一测试请求报文),并将测试请求报文41发送至待测系统;
62.步骤306:经过待测系统的上行逻辑(即第二业务逻辑)处理后,生成测试请求报文42(即第二测试请求报文),并控制后置探针将测试请求报文42发送至测试管理系统;
63.步骤307:测试管理系统根据测试请求报文42,查询其对应的期望应答报文(即第二期望应答报文),并将期望应答报文43(即上述应答报文33)发送至待测系统;
64.步骤308:经过待测系统的下行逻辑(即第三业务逻辑)处理后,生成测试应答报文44(即第四测试应答报文),并控制前置探针将测试应答报文44发送至测试管理系统;
65.步骤309:测试管理系统将测试请求报文42和请求报文32进行对比,来确定待测系统的上行逻辑是否因开发的新功能而引入新的缺陷;将测试应答报文44和应答报文34行对比,来确定待测系统的下行逻辑是否因开发的新功能而引入新的缺陷,对比结束,自动生成测试报告。
66.需要说明的是,在待测系统处于真实环境下,系统a可以是it系统,也可以是用户直接输入数据请求,系统a可以有1个或多个;另外,系统c可以存在也可以不存在,不存在时则不需要嵌入后置探针,且系统c也可以有1个或多个。
67.本发明实施例中还提供了一种自动化测试装置,如下面的实施例所述。由于该装置解决问题的原理与自动化测试方法相似,因此该装置的实施可以参见自动化测试方法的实施,重复之处不再赘述。
68.如图4所示,为本发明实施例提供的一种自动化测试装置的示意图,包括:嵌入模块401、数据获取模块402、以及第一发送模块403;其中,
69.嵌入模块401,用于在待测系统中嵌入探针程序;
70.数据获取模块402,用于控制所述探针程序获取所述待测系统的生产数据;
71.第一发送模块403,用于通过所述探针程序将所述生产数据发送至测试管理系统,以使所述测试管理系统对所述生产数据进行处理,得到第一数据,所述第一数据用于进行自动化测试。
72.本发明另一实施例中,如图5所示,上述自动化测试装置还包括:
73.第一接收模块501,用于在所述待测系统处于开发环境的情况下,且在所述测试管理系统根据所述第一数据生成第一测试请求报文的情况下,通过所述探针程序接收所述测试管理系统发送的所述第一测试请求报文;
74.第一处理模块502,用于基于所述待测系统的第一业务逻辑,对所述第一测试请求报文进行处理,生成第一测试应答报文;
75.第二发送模块503,用于通过所述探针程序将所述第一测试应答报文发送至所述测试管理系统,以使所述测试管理系统将所述第一测试应答报文和所述第一数据中的第一期望应答报文进行对比,生成第一测试报告。
76.本发明又一实施例中,如图6所示,上述自动化测试装置还包括:
77.第二处理模块601,用于基于所述待测系统的第二业务逻辑,对所述第一测试请求报文进行处理,生成第二测试请求报文;
78.第三发送模块602,用于通过所述探针程序将所述第二测试请求报文发送至所述测试管理系统,以使所述测试管理系统从所述第一数据中,查询所述第二测试请求报文对应的第二期望应答报文;
79.第二接收模块603,用于接收所述测试管理系统发送的所述第二期望应答报文;
80.第三处理模块604,用于基于所述待测系统的第三业务逻辑,对所述第二期望应答报文进行处理,生成第四测试应答报文。
81.在一种可能的实施方式中,第二发送模块,具体用于:
82.通过所述探针程序将所述第四测试应答报文发送至所述测试管理系统,以使所述测试管理系统将所述第四测试应答报文和所述第一数据中的第二期望应答报文进行对比,以及,将所述第二测试请求报文和所述第一数据中的第一期望请求报文进行对比,生成第二测试报告。
83.本发明实施例中,在待测系统中嵌入探针程序;控制探针程序获取待测系统的生产数据;通过探针程序将生产数据发送至测试管理系统,以使测试管理系统对生产数据进行处理,得到第一数据,第一数据用于进行自动化测试。这样,通过探针程序可以获取待测系统的生产数据,并将基于生产数据生成的第一数据用于进行自动化测试,可以降低人为构造数据的成本,提高系统自动化测试的效率。
84.基于前述发明构思,如图7所示,本发明实施例还提供一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现上述自动化测试方法。
85.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述自动化测试方法的计算机程序。
86.本发明实施例中,在待测系统中嵌入探针程序;控制探针程序获取待测系统的生产数据;通过探针程序将生产数据发送至测试管理系统,以使测试管理系统对生产数据进行处理,得到第一数据,第一数据用于进行自动化测试,与现有技术中自动化测试的技术方案相比,通过探针程序可以获取待测系统的生产数据,并将基于生产数据生成的第一数据用于进行自动化测试,可以降低人为构造数据的成本,提高系统自动化测试的效率。
87.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
88.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
89.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
90.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
91.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献