一种基于录制回放的自动化测试方法、装置及电子设备与流程

文档序号:26892049发布日期:2021-10-09 12:17阅读:250来源:国知局
一种基于录制回放的自动化测试方法、装置及电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种基于录制回放的自动化测试方法、装置及电子设备。


背景技术:

2.目前定位生产环境bug及解决过程一般步骤如下:客户在生产环境发现系统的某个功能不可用,反馈给客服;客服反馈给技术支持,技术支持根据负责模块反映给对应的开发人员;开发人员让测试人员重现出现问题的步骤,查看日志,拿到出现问题的参数;开发人员修改代码,发布到测试环境,测试人员在测试环境测试;测试完成后,发布到预发环境测试,预发环境测试完成后,正式上线,修复问题。
3.然而上述技术还存在着如下缺点:整个过程流程过长,纯手动,效率低下,某些出现bug的操作是一次性的,重现难度较大,且线上环境日志太多,寻找错误日志需要花费一些时间,另外由于测试环境和线上环境的差异性,可能导致线上操作在测试环境不可复现,问题参数没有记录入库,需要开发测试人员手动记录,不便随时查询。


技术实现要素:

4.本技术实施例要解决的技术问题,在于提供一种基于录制回放的自动化测试方法、装置及电子设备,以解决现有难以精准定位、复现应用bug的技术问题。
5.为实现上述目的,本技术实施例采用下述技术方案:第一方面,本技术实施例提供一种基于录制回放的自动化测试方法,所述方法包括:第一线上应用接收录制回放控制程序发送的第一录制请求,将所述第一录制请求委托至录制代理处理获得第一响应结果,其中,所述第一录制请求包括录制需要的配置信息;所述录制回放控制程序发送第一回放请求至所述第一线上应用对应的第一测试应用,所述第一测试应用将所述第一回放请求委托至回放代理处理获得第一回放结果,其中,所述第一回放请求的配置信息与所述第一录制请求的配置信息相同;将所述第一响应结果、所述第一回放结果进行比对确定测试结果。
6.第二方面,本技术实施例提供一种基于录制回放的自动化测试装置,所述装置包括:第一录制单元,用于第一线上应用接收录制回放控制程序发送的第一录制请求,将所述第一录制请求委托至录制代理处理获得第一响应结果,其中,所述第一录制请求包括录制需要的配置信息;第一回放单元,用于所述录制回放控制程序发送第一回放请求至所述第一线上应用对应的第一测试应用,所述第一测试应用将所述第一回放请求委托至回放代理处理获得第一回放结果,其中,所述第一回放请求的配置信息与所述第一录制请求的配置信息相同;
第一比对单元,用于将所述第一响应结果、所述第一回放结果进行比对确定测试结果。
7.第三方面,本技术实施例提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、待码集或指令集,所述至少一条指令、所述至少一段程序、所述待码集或指令集由所述处理器执行以实现如上述第一方面所述的基于录制回放的自动化测试方法。
8.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、待码集或指令集,所述至少一条指令、所述至少一段程序、所述待码集或指令集由处理器执行以实现如上述第一方面所述的基于录制回放的自动化测试方法。
9.本技术实施例的有益效果是:本技术实施例提供一种基于录制回放的自动化测试方法、装置及电子设备,通过对线上应用进行录制获得录制结果,将同样配置信息的请求对测试应用进行回放获得回放结果,通过对录制结果和回放结果进行比对快速确定是否出现bug,以及精确确定bug的配置信息。
附图说明
10.图1为本技术一个实施例提供的一种基于录制回放的自动化测试装置的流程示意图;图2为本技术一个实施例提供的一种基于录制回放的自动化测试装置的结构示意图;图3为本技术一个实施例提供的一种电子设备的结构示意图。
具体实施方式
11.下面通过具体实施例,并结合附图,对本技术的技术方案作进一步的具体描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
12.本技术提供提供一种基于录制回放的自动化测试方法、装置及电子设备,以解决现有难以精准定位、复现应用bug的技术问题。
13.以下结合附图,详细说明本技术中各实施例提供的技术方案。
14.请参阅附图1,其示出了本技术一个实施例提供的一种基于录制回放的自动化测试方法的流程示意图,所述方法包括:s101,第一线上应用接收录制回放控制程序发送的第一录制请求,将所述第一录制请求委托至录制代理处理获得第一响应结果,其中,所述第一录制请求包括录制需要的配置信息;针对步骤s101,在一个实施例中,配置信息可以包括网络协议(http或rpc或redis或sql等)、url路径规则(主要针对http协议,支持正则)、采样率(抓取请求的频率百分比)等。
15.s102,所述录制回放控制程序发送第一回放请求至所述第一线上应用对应的第一
测试应用,所述第一测试应用将所述第一回放请求委托至回放代理处理获得第一回放结果,其中,所述第一回放请求的配置信息与所述第一录制请求的配置信息相同;s103,将所述第一响应结果、所述第一回放结果进行比对确定测试结果。
16.在一个实施例中,通过比对确定测试结果,通过第一线上应用获得的第一响应结果和第一测试应用获得的第一回放结果的差异,能够自动发现许多问题,例如:第一线上应用录制成功,第一测试应用回放失败,抛出了异常信息,极有可能是第一测试应用对应第一回放请求的业务逻辑处理有问题,通过找到第一回放请求,继续回放来复现这次错误。
17.第一线上应用录制出现错误,第一测试应用回放也出现错误,找到错误原因后,在第一测试应用的测试环境部署修改过的代码,重新回放第一回放请求,如回放成功,代表修改成功。
18.第一测试应用的测试环境和第一线上应用的线上环境相比,第一录制结果和第一回放结果的内容绝大部分相同,但多了或少了一些参数,原因极有可能是测试环境有部署新的hotfix补丁功能,可以观察这个新参数的变化是否在即将上线的hotfix补丁中。
19.在一个实施例中,对所述第一线上应用注入所述录制代理,对所述第一测试应用注入所述回放代理。
20.在一个实施例中,所述第一线上应用、所述第一测试应用与所述录制回放控制程序通过http连接交互。
21.录制回放控制程序、第一线上应用、第一测试应用被部署在特定网络中,录制回放控制程序、第一线上应用、第一测试应用之间能够同时联通和交互。录制回放控制程序暴露出http接口,使之能够接收第一线上应用的录制回放信息记录请求,把每次响应结果和回放结果保存在数据库中。
22.在一个实施例中,所述录制回放控制程序通过心跳接口间隔固定时间接收所述录制代理、所述回放代理上传的参数信息,其中,所述参数信息包括ip地址、端口、应用名称、环境以及属于第一线上应用或第一测试应用。
23.在一个实施例中,记录所述第一录制请求的第一子调用信息以及第一子调用结果,所述第一子调用信息用于在所述第一测试应用回放时mock模拟子调用获得第二子调用结果,其中,所述子调用为数据库或存储。
24.当第一录制请求未发生真实子调用时,用第一子调用信息mock第一线上应用环境的结果,消除第一线上应用环境和第一测试应用环境存储数据的差异性。
25.在一个实施例中,所述第一线上应用将所述第一录制请求的配置信息、所述第一响应结果、所述第一子调用信息以及第一子调用结果发送至所述录制回放控制程序进行存储,所述第一测试应用将第一回放请求的配置信息、所述第一回放结果以及第二子调用结果发送至所述录制回放控制程序进行存储。
26.请参阅附图2,其示出了本技术一个实施例提供的一种基于录制回放的自动化测试装置的结构示意图,所述装置包括:
第一录制单元201,用于第一线上应用接收录制回放控制程序发送的第一录制请求,将所述第一录制请求委托至录制代理处理获得第一响应结果,其中,所述第一录制请求包括录制需要的配置信息;第一回放单元202,用于所述录制回放控制程序发送第一回放请求至所述第一线上应用对应的第一测试应用,所述第一测试应用将所述第一回放请求委托至回放代理处理获得第一回放结果,其中,所述第一回放请求的配置信息与所述第一录制请求的配置信息相同;第一比对单元203,用于将所述第一响应结果、所述第一回放结果进行比对确定测试结果。
27.请参阅附图3,其示出了本技术一个实施例提供的一种电子设备的结构示意图,可以包括:至少一个网络接口302、存储器303和至少一个处理器301。电子设备中的各个组件通过总线系统304耦合在一起。可以理解,总线系统304用于实现这些组件之间的连接通信。总线系统304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,但是为了清楚说明起见,在附图3中将各种总线都标为总线系统304。
28.在一些实施方式中,存储器303存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统3031和应用程序3032。
29.其中,操作系统3031,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种寄出业务以及处理基于硬件的任务。应用程序3032,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本技术实施例方法的程序可以包含在应用程序中。
30.在上述实施例中,电子设备还包括:存储在存储器303上的至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集可由处理器301执行实现本技术实施例中所述任一基于录制回放的自动化测试方法的步骤。
31.在一个实施例中,本技术还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器执行时实现本技术实施例中所述任一基于录制回放的自动化测试方法的步骤。
32.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的至少一条指令、至少一段程序、代码集或指令集可存储于一非易失性计算机可读取存储介质中,所述的至少一条指令、至少一段程序、代码集或指令集在执行时,可实现本技术实施例中所述任一地图绘制方法的步骤。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
33.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体
实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,这些均属于本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1