测试用例的筛选方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36528984 阅读:11 留言:0更新日期:2023-02-01 16:10
本公开提供了一种测试用例的筛选方法、装置、电子设备及存储介质,涉及软件测试等技术领域。具体实现方案为:基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例;提取所述当前测试接口的属性信息;基于所述当前测试接口的属性信息和测试用例库中各测试用例对应的接口的属性信息,从所述测试用例库中筛选与所述当前测试接口的待测试功能不兼容的测试用例。本公开的技术,能够有效地提高不兼容测试用例的筛选准确性和筛选效率。筛选效率。筛选效率。

【技术实现步骤摘要】
测试用例的筛选方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,具体涉及软件测试等
,尤其涉及一种测试用例的筛选方法、装置、电子设备及存储介质。

技术介绍

[0002]接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。服务端间常用接口来约定数据交换的格式,用接口的统一资源定位符(Uniform Resource Locator;URL)来定位和划分不同接口的功能。可以认为接口是一个软件服务对外提供服务的基本元素。微服务化的大背景下,许多服务通过接口暴露业务功能,业务内部调用变成服务间的应用程序接口(Application Program Interface;API)的调用。因此,对接口的测试显得尤为重要。
[0003]通常情况下,测试人员通过自动化测试用例来进行接口的测试。在测试用例中编写不同的请求参数组合,对请求返回的数据或造成的变化进行断言校验,来判断服务的表现是否符合产品的预期。这些测试用例通常不是一次性的,测试人员会将历史的测试用例保存起来,在下一次接口升级时,用以验证接口的升级是否对旧的功能造成影响,这样的操作也被称为自动化用例的回归阶段。

技术实现思路

[0004]本公开提供了一种测试用例的筛选方法、装置、电子设备及存储介质。
[0005]根据本公开的一方面,提供了一种测试用例的筛选方法,包括:
[0006]基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例;
[0007]提取所述当前测试接口的属性信息;
[0008]基于所述当前测试接口的属性信息和测试用例库中各测试用例对应的接口的属性信息,从所述测试用例库中筛选与所述当前测试接口的待测试功能不兼容的测试用例。
[0009]根据本公开的另一方面,提供了一种测试用例的筛选装置,包括:
[0010]确定模块,用于基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例;
[0011]提取模块,用于提取所述当前测试接口的属性信息;
[0012]筛选模块,用于基于所述当前测试接口的属性信息和测试用例库中各测试用例对应的接口的属性信息,从所述测试用例库中筛选与所述当前测试接口的待测试功能不兼容的测试用例。
[0013]根据本公开的再一方面,提供了一种电子设备,包括:
[0014]至少一个处理器;以及
[0015]与所述至少一个处理器通信连接的存储器;其中,
[0016]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一
个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
[0017]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
[0018]根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
[0019]根据本公开的技术,能够有效地提高不兼容测试用例的筛选准确性和筛选效率。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1是根据本公开第一实施例的示意图;
[0023]图2是根据本公开第二实施例的示意图;
[0024]图3是本实施例提供的一种不兼容信息表的示意图;
[0025]图4是本实施例提供一种的不兼容报告示意图;
[0026]图5是根据本公开第三实施例的示意图;
[0027]图6是根据本公开第四实施例的示意图;
[0028]图7是根据本公开第五实施例的示意图;
[0029]图8是用来实现本公开实施例的方法的电子设备的框图。
具体实施方式
[0030]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031]显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0032]需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
[0033]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0034]在自动化测试用例的回归阶段,一种常见的问题是,代码升级影响了接口的旧功能,如设置某非必填字段为必填字段、将原先的合法值改为非法值,使得升级的代码与旧测
试用例不兼容,会导致回归阶段旧测试用例的测试必然失败。这种不兼容导致的失败,一方面没有拦截问题,会增加测试人员的排查维护成本,另一方面,还可能掩盖真正的代码问题。
[0035]因此,为了尽可能早地前置识别出回归阶段中不兼容的测试用例,并尽可能早地将不兼容的测试用例修改成可用的状态,以不影响回归阶段测试任务的稳定性,可以在项目详细设计后,测试人员通过阅读设计文档中的接口文档,了解接口字段的变化,通过经验来检测升级的接口是否会对已有测试用例造成影响。并对有影响的测试用例进行修改使其可以通过回归阶段的测试,以提高回归阶段的测试效率。但是,该方案的实现,判断因素依赖项目详细设计的完整性、准确程度以及测试人员的个人经验,且测试用例的挑选依赖手工选择,导致回归阶段不兼容的测试用例的筛选效率非常低。
[0036]图1是根据本公开第一实施例的示意图;如图1所示,本实施例提供一种测试用例的筛选方法,具体可以包括如下步骤:
[0037]S101、基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定当前测试接口的待测试功能存在不兼容的测试用例;
[0038]S102、提取当前测试接口的属性信息;
[0039]S103、基于当前测试接口的属性信息和测试用例库中各测试用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例的筛选方法,包括:基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例;提取所述当前测试接口的属性信息;基于所述当前测试接口的属性信息和测试用例库中各测试用例对应的接口的属性信息,从所述测试用例库中筛选与所述当前测试接口的待测试功能不兼容的测试用例。2.根据权利要求1所述的方法,其中,基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例,包括:检测所述当前测试接口的待测试功能的增量代码是否命中所述不兼容信息表中的不兼容特征;若命中,确定所述当前测试接口的待测试功能存在不兼容的测试用例。3.根据权利要求2所述的方法,其中,检测所述当前测试接口的待测试功能的增量代码是否命中所述不兼容信息表中的不兼容特征,包括:将所述当前测试接口的待测试功能的增量代码解析为语法树;获取所述语法树中的字段节点的代码特征、方法节点的代码特征、返回节点的代码特征以及代码行的代码特征;检测所述语法树中的字段节点的代码特征、方法节点的代码特征、返回节点的代码特征或者代码行的代码特征是否命中所述不兼容信息表中的代码特征。4.根据权利要求3所述的方法,其中,将所述当前测试接口的待测试功能的增量代码解析为语法树之前,所述方法还包括:获取所述当前测试接口的待测试功能的增量代码对应的场景;检测并确定所述场景命中所述不兼容信息表中的不兼容场景。5.根据权利要求2所述的方法,其中,基于所述当前测试接口的属性信息和测试用例库中各测试用例对应的接口的属性信息,从所述测试用例库中筛选与所述当前测试接口的待测试功能不兼容的测试用例之后,所述方法包括:获取所述不兼容的测试用例的标识信息;发出不兼容报告,所述不兼容报告中携带所述不兼容的测试用例的标识信息。6.根据权利要求5所述的方法,其中,所述发出不兼容报告之前,所述方法还包括:获取所述不兼容的测试用例对应的所述不兼容信息表中的代码特征;所述发出不兼容报告,包括:发出携带所述不兼容的测试用例的标识信息和所述代码特征的不兼容报告。7.根据权利要求6所述的方法,其中,获取所述不兼容的测试用例对应的所述不兼容信息表中的代码特征之后,所述发出不兼容报告之前,所述方法还包括:基于所述不兼容信息表和所述不兼容的测试用例对应的所述不兼容信息表中的代码特征,定位代码修改位置;并确定所述代码修改位置位于第二层级及以上;所述发出不兼容报告,包括:发出携带所述不兼容的测试用例的标识信息、所述代码特征以及所述代码修改位置的不兼容报告。
8.根据权利要求6所述的方法,其中,所述方法还包括:若所述代码修改位置位于第一层级,基于所述代码特征,生成修改建议;所述发出不兼容报告,包括:发出携带所述不兼容的测试用例的标识信息、所述代码特征、所述代码修改位置以及所述修改建议的不兼容报告。9.根据权利1

8任一所述的方法,其中,提取所述当前测试接口的属性信息,包括:基于所述当前测试接口的待测试功能的增量代码,提取所述当前测试接口的字段名称和统一资源定位符。10.根据权利要求9所述的方法,其中,基于所述当前测试接口的待测试功能的增量代码,提取所述当前测试接口的字段名称和统一资源定位符,包括:基于所述当前测试接口的待测试功能的增量代码,采用静态代码分析技术提取所述当前测试接口的字段名称;基于所述当前测试接口的待测试功能的增量代码,采用调用链分析技术获取所述增量代码关联的所述当前测试接口的统一资源定位符。11.根据权利1

8任一所述的方法,其中,基于预设的不兼容信息表和当前测试接口的待测试功能的增量代码,确定所述当前测试接口的待测试功能存在不兼容的测试用例之前,所述方法还包括:基于历史接口测试的测试用例的不兼容信息,配置所述不兼容信息表。12.一种测试用例的筛选装置,包括:确定模块...

【专利技术属性】
技术研发人员:农华莲韩照光
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1