兼容性测试方法、装置、设备及存储介质制造方法及图纸

技术编号:23099124 阅读:17 留言:0更新日期:2020-01-14 20:36
本申请涉及性能测试领域,具体使用了静态代码扫描以对待测试页面进行兼容性测试,并公开了一种兼容性测试方法、装置、设备及存储介质,所述方法包括:监测待测试页面对应的代码提交事件,根据代码提交事件获取代码改动文件;对代码改动文件进行抽象处理得到与待测试页面对应的语法树;加载预设的扫描规则库中的代码扫描规则,根据代码扫描规则扫描语法树的节点以判断待测试页面是否存在兼容性缺陷;若待测试页面存在兼容性缺陷,确定兼容性缺陷对应的错误代码以及错误代码对应的修复代码,根据修复代码修复兼容性缺陷。提高了兼容性测试的覆盖率和效率,并且能够对测试出的兼容性缺陷进行自动修复。

Compatibility test method, device, equipment and storage medium

【技术实现步骤摘要】
兼容性测试方法、装置、设备及存储介质
本申请涉及性能测试领域,尤其涉及一种兼容性测试方法、装置、设备及存储介质。
技术介绍
目前,许多平台都推出了适用于移动终端的H5页面。由于市场上移动终端类型繁多,并且不同的浏览器也有其各自的特性,因此,为了使H5页面能够适用于不同的终端设备和不同的浏览器,需要先进行兼容性测试。常用的测试方式是实体机人工测试和第三方测试。实体机人工测试需要购买常用终端的实体机,通常将移动终端的销售数量、使用数量或者市场占比作为购买实体机的依据,但是该方案不能够覆盖全部机型,并且人工测试耗时耗力,测试覆盖率和测试效率都较为低下;而第三方测试需要购买专业的第三方云测服务进行测试,购买成本较高,导致测试成本提高。因此,如何提高兼容性测试的覆盖率和效率测试成为亟待解决的问题。
技术实现思路
本申请提供了一种兼容性测试方法、装置、设备及存储介质,以提高兼容性测试的覆盖率和效率,同时对测试出的兼容性缺陷进行自动修复。第一方面,本申请提供了一种兼容性测试方法,所述方法包括:监测待测试页面对应的代码提交事件,根据所述代码提交事件获取代码改动文件;对所述代码改动文件进行抽象处理得到与所述待测试页面对应的语法树;加载预设的扫描规则库中的代码扫描规则,根据所述代码扫描规则扫描所述语法树的节点以判断所述待测试页面是否存在兼容性缺陷,所述代码扫描规则包括存在兼容性缺陷的错误代码以及与所述错误代码对应的修复代码;若所述待测试页面存在兼容性缺陷,确定所述兼容性缺陷对应的错误代码以及所述错误代码对应的修复代码,根据所述修复代码修复所述兼容性缺陷。第二方面,本申请还提供了一种兼容性测试装置,所述装置包括:提交监测模块,用于监测待测试页面对应的代码提交事件,根据所述代码提交事件获取代码改动文件;文件处理模块,用于对所述代码改动文件进行抽象处理得到与所述待测试页面对应的语法树;缺陷判断模块,用于加载预设的扫描规则库中的代码扫描规则,根据所述代码扫描规则扫描所述语法树的节点以判断所述待测试页面是否存在兼容性缺陷,所述代码扫描规则包括存在兼容性缺陷的错误代码以及与所述错误代码对应的修复代码;自动修复模块,用于若所述待测试页面存在兼容性缺陷,确定所述兼容性缺陷对应的错误代码以及所述错误代码对应的修复代码,根据所述修复代码修复所述兼容性缺陷。第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的兼容性测试方法。第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的兼容性测试方法。本申请公开了一种兼容性测试方法、装置、设备及存储介质,通过监测待测试页面的代码提交事件获取代码改动文件,然后对代码改动文件进行处理得到语法树,利用代码扫描规则扫描语法树的节点以判断待测试页面是否存在兼容性缺陷,如果存在兼容性缺陷,则确定兼容性缺陷对应的错误代码和错误代码对应的修复代码,最终根据修复代码修复该兼容性缺陷。利用代码扫描规则在待测试页面的代码改动文件中进行扫描,从而在代码阶段即可发现代码改动文件中存在的兼容性缺陷,提高了兼容性测试的覆盖率和效率,根据测试出的兼容性缺陷确定修复代码从而进行兼容性缺陷的修复,实现了兼容性缺陷的自动修复。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请的实施例提供的扫描规则库的建立方法的示意流程图;图2是图1中提供的扫描规则库的建立方法的子步骤示意流程图;图3是本申请实施例提供的一种兼容性测试方法的示意流程图;图4是图3中提供的兼容性测试方法的子步骤示意流程图;图5是图3中提供的兼容性测试方法的子步骤示意流程图;图6是本申请实施例提供的另一种兼容性测试方法的步骤示意流程图;图7是本申请一实施例提供的一种扫描规则库的建立模块的示意性框图;图8是本申请的实施例提供的一种兼容性测试装置的示意性框图;图9是本申请的实施例提供的另一种兼容性测试装置的示意性框图;图10是本申请一实施例提供的一种计算机设备的结构示意性框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。本申请的实施例提供了一种兼容性测试方法、装置、计算机设备及存储介质。该兼容性测试方法可用于对待测试页面进行兼容性测试,以使待测试页面能够适用于不同的终端和浏览器,提高了兼容性测试的效率和覆盖率,并且能够对测试出的兼容性缺陷进行自动修复。下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请参阅图1,图1是本申请的实施例提供的扫描规则库的建立方法的示意流程图。该扫描规则库是对兼容性案例进行分析和处理,从而得到代码扫描规则,然后将代码扫描规则进行保存以建立扫描规则库。如图1所示,该扫描规则库的建立方法,用于根据兼容性案例建立代码扫描规则以便应用于兼容性测试方法上。其中,该扫描规则库的建立方法包括步骤S101至步骤S104。S101、获取兼容性案例。其中,兼容性案例是指出现过兼容性缺陷,并且出现的兼容性缺陷已经修复完成的案例。具体地,所述兼容性案例包括存在兼容性缺陷的错误代码。在具体实施过程中,兼容性案例可以是在工作过程中对兼容性案例的整理进行获取,也可以是在公网上对其他典型性兼容性案例的整理进行获取。在工作过程中获取兼容性案例时,可以通过监听代码提交事件获取,也可以通过定时轮询代码仓库获取。S102、解析所述兼容性案例获得用于修复所述错误代码的修复代码,并建立所述修复代码与所述错误代码的对应关系。具体地,由于兼容性案例中出现的兼容性缺陷已经修复完成,因此可以对兼容性案例进行解析,从而获取到用于修复存在兼容性缺陷的错误代码的修复代码。并且在获得修复代码后,建立修复代码与错误代码之间的对应关系。在具体实施过程中,修复代码与错误代码之间的对应关系也即修复代码与错误代码之间一一映射的关系。S103、对所述错误代码和修复代码进行本文档来自技高网...

【技术保护点】
1.一种兼容性测试方法,其特征在于,包括:/n监测待测试页面对应的代码提交事件,根据所述代码提交事件获取代码改动文件;/n对所述代码改动文件进行抽象处理得到与所述待测试页面对应的语法树;/n加载预设的扫描规则库中的代码扫描规则,根据所述代码扫描规则扫描所述语法树的节点以判断所述待测试页面是否存在兼容性缺陷,所述代码扫描规则包括存在兼容性缺陷的错误代码以及与所述错误代码对应的修复代码;/n若所述待测试页面存在兼容性缺陷,确定所述兼容性缺陷对应的错误代码以及所述错误代码对应的修复代码,根据所述修复代码修复所述兼容性缺陷。/n

【技术特征摘要】
1.一种兼容性测试方法,其特征在于,包括:
监测待测试页面对应的代码提交事件,根据所述代码提交事件获取代码改动文件;
对所述代码改动文件进行抽象处理得到与所述待测试页面对应的语法树;
加载预设的扫描规则库中的代码扫描规则,根据所述代码扫描规则扫描所述语法树的节点以判断所述待测试页面是否存在兼容性缺陷,所述代码扫描规则包括存在兼容性缺陷的错误代码以及与所述错误代码对应的修复代码;
若所述待测试页面存在兼容性缺陷,确定所述兼容性缺陷对应的错误代码以及所述错误代码对应的修复代码,根据所述修复代码修复所述兼容性缺陷。


2.如权利要求1所述的兼容性测试方法,其特征在于,还包括:
获取兼容性案例,所述兼容性案例包括存在兼容性缺陷的错误代码;
解析所述兼容性案例获得用于修复所述错误代码的修复代码,并建立所述修复代码与所述错误代码的对应关系;
对所述错误代码和修复代码进行规则化处理得到规则字段;
根据所述规则字段生成代码扫描规则并保存以建立扫描规则库。


3.如权利要求2所述的兼容性测试方法,其特征在于,所述对所述错误代码和修复代码进行规则化处理得到规则字段,包括:
获取所述错误代码对应的兼容性缺陷的缺陷信息,所述缺陷信息包括描述信息和运行环境信息;
对所述错误代码和修复代码进行抽象化处理以获取函数信息;
对所述描述信息、运行环境信息和函数信息进行特征抽取,以得到特征关键字作为规则字段。


4.如权利要求3所述的兼容性测试方法,其特征在于,所述确定所述兼容性缺陷对应的错误代码以及所述错误代码对应的修复代码,根据所述修复代码修复所述兼容性缺陷,包括:
基于所述代码扫描规则确定所述兼容性缺陷对应的函数信息;
根据所述函数信息确定与所述兼容性缺陷对应的修复代码调用的函数和参数;
根据所述函数和参数自动生成修复代码以修复所述兼容性缺陷。


5.如权利要求2所述的兼容性测试方法,其特征在于,所述根据所述修...

【专利技术属性】
技术研发人员:易李军
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1