测试代码的方法、装置、设备、介质和程序产品制造方法及图纸

技术编号:27685123 阅读:15 留言:0更新日期:2021-03-17 03:49
本公开公开了一种测试代码的方法、装置、设备、介质和程序产品,应用于人工智能技术领域,具体应用于大数据技术领域和云平台技术领域。具体实现方案为:获取预设时段内的多个线上请求信息;根据多个线上请求信息针对线上代码的覆盖率,确定多个线上请求信息中的测试信息;以及基于测试信息执行回放操作,以对测试环境中的待测试代码进行测试。

【技术实现步骤摘要】
测试代码的方法、装置、设备、介质和程序产品
本公开涉及人工智能
,具体涉及大数据和云平台
,更具体地涉及一种测试代码的方法、装置、设备、介质和程序产品。
技术介绍
随着互联网技术的发展,互联网产品的业务高速迭代更新。为了满足业务发展的需求,可以通过生成代码来形成产品的新版本,以在现有产品的基础上支持新功能,或者可以对支持产品运行的代码进行重构。在生成代码或重构代码后,通常需要对代码进行测试,以保证使用新生成代码或重构代码的产品的质量。相关技术中,一般通过人工编写测试脚本或人工提供输入信息的方式来对新生成代码或重构代码进行测试。
技术实现思路
提供了一种用于提高测试准确性的测试代码的方法、装置、设备、介质和程序产品。根据第一方面,提供了一种测试代码的方法,包括:获取预设时段内的多个线上请求信息;根据多个线上请求信息针对线上代码的覆盖率,确定多个线上请求信息中的测试信息;以及基于测试信息执行回放操作,以对测试环境中的待测试代码进行测试。根据第二方面,提供了一种测试代码的装置,包括:信息获取模块,用于获取预设时段内的多个线上请求信息;测试信息确定模块,用于根据多个线上请求信息针对线上代码的覆盖率,确定多个线上请求信息中的测试信息;以及测试模块,用于基于测试信息执行回放操作,以对测试环境中的待测试代码进行测试。根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的测试代码的方法。根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的测试代码的方法。根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的测试代码的方法。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本公开的限定。其中:图1是根据本公开实施例的测试代码的方法、装置、设备、介质和程序产品的应用场景示意图;图2是根据本公开实施例的测试代码的方法的流程示意图;图3是根据本公开实施例的确定多个线上请求信息中的测试信息的原理示意图;图4是根据本公开另一实施例的确定多个线上请求信息中的测试信息的原理示意图;图5是根据本公开另一实施例的确定多个线上请求信息中的测试信息的原理示意图;图6是根据本公开实施例的获取多个线上请求信息的原理示意图;图7是根据本公开实施例的测试代码的方法的原理示意图;图8是根据本公开实施例的测试代码的装置的结构框图;以及图9是用来实现本公开实施例的测试代码的方法的电子设备的框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本公开提供了一种测试代码的方法。该方法可以先获取预设时段内的多个线上请求信息。随后根据多个线上请求信息针对线上代码的覆盖率,确定多个线上请求信息中的测试信息。最后基于测试信息执行回放操作,以对测试环境中的待测试代码进行测试。以下将结合图1对本公开提供的方法和装置的应用场景进行描述。图1是根据本公开实施例的测试代码的方法、装置、设备、介质和程序产品的应用场景图。如图1所示,该实施例的应用场景100例如可以包括基于线上代码搭建的线上环境110,和基于待测试代码搭建的测试环境120。根据本公开的实施例,如图1所示,线上环境110例如可以包括第一终端设备111和第一服务器112,该第一终端设备111与第一服务器112之间可以通过网络通信。示例性地,第一终端设备111例如可以安装有各种客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。该第一终端设备111例如可以为具有显示屏并且具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便捷计算机和台式计算机等等。示例性地,第一服务器112可以是提供各种服务的服务器,例如对用户利用第一终端设备111所浏览的网站或所使用的客户端应用提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。其中,第一终端设备111所浏览的网站或所使用的客户端应用基于线上代码实现与用户的交互。类似地,如图1所示,测试环境120例如可以包括第二终端设备121和第二服务器122,该第二终端设备121与第二服务器122之间可以通过网络通信。示例性地,第二终端设备121例如可以类似于第一终端设备111,安装有各种客户端应用。第二服务器122可以类似于第一服务器112,为提供各种服务的服务器,例如对第二终端设备121中展示的网页或运行的客户端应用提供支持的后台管理服务器(仅为示例)。其中,第二终端设备121展示的网页或运行的客户端应用基于待测试代码实现。在一实施例中,第一服务器112与第二服务器122例如可以为同一服务器。或者,第一服务器112和第二服务器122例如可以为应用程序服务器、分布式系统的服务器,或者是结合了区块链的服务器。或者,服务器还可以为虚拟服务器或云服务器等。示例性地,线上环境110响应于用户操作,使得第一终端设备111接收到的请求信息例如可以作为测试流量。测试环境120在从线上环境110中获取到测试流量后,可以由第二终端设备121基于该测试流量向第二服务器122发送请求,以根据第二服务器122响应于该请求反馈给第二终端设备121的请求结果来确定待测试代码提供业务的合理性和准确性,实现对待测试代码的测试。根据本公开的实施例,在待测试代码为第一终端设备111中安装的客户端应用或访问网站的新版本时,若待测试代码的测试结果表征待测试代码提供的业务合理且准确时,如图1所示,该实施例还可以由测试环境120向线上环境110提供更新信息,以采用待测试代码替换线上代码,实现客户端应用或访问网站的版本更新。需要说明的是,本公开提供的测试代码的方法可以在测试环境中执行,或者也可以部分由线上环境执行,部分由测试环境执行。相应地,本公开提供的测试代码的装置可以设置在测试环境中,或者也可以部分设置在线上环境中,部分设置在测试环境中。应该理解,图1中的第一终端设备、第一服务器、第二终端设备和第二服务器的类型和数目仅仅是示意性的。根据实本文档来自技高网...

【技术保护点】
1.一种测试代码的方法,包括:/n获取预设时段内的多个线上请求信息;/n根据所述多个线上请求信息针对线上代码的覆盖率,确定所述多个线上请求信息中的测试信息;以及/n基于所述测试信息执行回放操作,以对测试环境中的待测试代码进行测试。/n

【技术特征摘要】
1.一种测试代码的方法,包括:
获取预设时段内的多个线上请求信息;
根据所述多个线上请求信息针对线上代码的覆盖率,确定所述多个线上请求信息中的测试信息;以及
基于所述测试信息执行回放操作,以对测试环境中的待测试代码进行测试。


2.根据权利要求1所述的方法,其中,确定所述多个线上请求信息中的测试信息包括:
在预设线下环境中回放所述多个线上请求信息,获取所述多个线上请求信息各自与线上代码之间的映射信息,所述预设线下环境中的代码包括所述线上代码;
根据所述映射信息,确定所述多个线上请求信息彼此之间的相似度;以及
从所述多个线上请求信息中筛选得到彼此之间的相似度较小的请求信息,
其中,筛选到的请求信息针对所述线上代码的覆盖率与所述多个线上请求信息针对所述线上代码的覆盖率的绝对差值小于预设值。


3.根据权利要求2所述的方法,其中,所述预设线下环境中的代码还包括插桩代码;获取所述多个线上请求信息各自与线上代码之间的映射信息包括针对所述多个线上请求信息中的每个线上请求信息:
在所述预设线下环境中回放所述每个线上请求信息;
根据所述插桩代码的运行信息,确定所述每个线上请求信息调用的所述线上代码中的第一代码行;以及
确定所述第一代码行及定义代码包括所述第一代码行的方法为所述每个线上请求信息与所述线上代码之间的映射信息。


4.根据权利要求1或2所述的方法,其中,确定所述多个线上请求信息中的测试信息还包括:
确定针对所述待测试代码与所述线上代码之间的差异的方法类;
确定与所述方法类具有映射关系的接口,作为目标接口;以及
从所述多个线上请求信息中筛选得到所针对的请求接口为所述目标接口的信息。


5.根据权利要求4所述的方法,其中,确定针对所述待测试代码与所述线上代码之间的差异的方法类包括:
确定所述待测试代码中与所述线上代码存在差异的第二代码行;
确定定义代码包括所述第二代码行中代码的函数,作为目标函数;以及
确定所述目标函数所依存的方法类和调用所述目标函数的方法类为针对所述差异的方法类。


6.根据权利要求1所述的方法,其中,获取预设时段内的多个线上请求信息包括:
获取线上环境在预设时段内接收的请求信息;
识别所述请求信息中的每个请求信息,以...

【专利技术属性】
技术研发人员:刘骏萍张杰
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1