测试场景确定方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38209076 阅读:11 留言:0更新日期:2023-07-21 16:59
本发明专利技术实施例公开一种测试场景确定方法、装置、电子设备和存储介质,测试场景确定方法包括:比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息;根据代码差异信息确定变更方法;识别变更方法影响的接口,得到目标接口;确定覆盖目标接口的测试场景,得到当前版本代码的推荐测试场景。即本发明专利技术提供了一种自动推荐测试场景的方法,可以根据差异代码(即代码差异信息)确定推荐测试场景,相当于是增量匹配确定测试场景,相对来说,能够减少运行的测试场景的数量,缩短测试时间;另外,通过确定变更方法并识别变更方法影响的接口,来做测试场景自动推荐,能够精准推荐测试场景,提高测试效率。提高测试效率。提高测试效率。

【技术实现步骤摘要】
测试场景确定方法、装置、电子设备和存储介质


[0001]本专利技术实施例涉及软件测试
,尤其涉及一种测试场景确定方法、装置、电子设备和存储介质。

技术介绍

[0002]自动化测试是软件测试中的一种重要测试方法,目前的自动化测试,一种方法是通过人工主观地根据提测功能选取测试场景并执行,另一种是通过全量代码匹配的方式确定推荐测试场景并执行。
[0003]在实现本专利技术的过程中,专利技术人发现,人工选取测试场景的方法,存在效率低、主观因素干扰导致选取的测试场景不够准确的问题,全量代码匹配推荐测试场景的方法,需要运行的测试场景较多,存在测试时间过长的问题。

技术实现思路

[0004]本专利技术实施例提供一种测试场景确定方法、装置、电子设备和存储介质,能够精准推荐测试场景,缩短测试时间,提高测试效率。
[0005]第一方面,本专利技术实施例提供的测试场景确定方法,包括:
[0006]比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息;
[0007]根据所述代码差异信息确定变更方法;
[0008]识别所述变更方法影响的接口,得到目标接口;
[0009]确定覆盖所述目标接口的测试场景,得到所述当前版本代码的推荐测试场景。
[0010]第二方面,本专利技术实施例提供的测试场景确定装置,包括:
[0011]比较模块,用于比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息;
[0012]确定模块,用于根据所述代码差异信息确定变更方法;
[0013]识别模块,用于识别所述变更方法影响的接口,得到目标接口;
[0014]推荐模块,用于确定覆盖所述目标接口的测试场景,得到所述当前版本代码的推荐测试场景。
[0015]第三方面,本专利技术实施例提供的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术任一实施例所述的测试场景确定方法。
[0016]第四方面,本专利技术实施例提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任一实施例所述的测试场景确定方法。
[0017]本专利技术实施例的方案,可以比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息;根据代码差异信息确定变更方法;识别变更方法影响的接口,得到目标接口;确定覆盖目标接口的测试场景,得到当前版本代码的推荐测试场景。即本专利技术提供了一种自动推荐测试场景的方法,根据差异代码(即代码差异信息)确定推荐测试场景,相当
于是增量匹配确定测试场景,相对来说,能够减少运行的测试场景的数量,缩短测试时间;另外,通过确定变更方法并识别变更方法影响的接口,来做测试场景自动推荐,能够精准推荐测试场景,提高测试效率。
附图说明
[0018]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0019]图1是本专利技术实施例提供的测试场景确定方法的一个流程示意图;
[0020]图2是本专利技术实施例提供的调用链信息生成方法的一个流程示意图;
[0021]图3是本专利技术实施例提供的调用链信息生成过程的一个示例图;
[0022]图4是本专利技术实施例提供的调用链信息的一个示例图;
[0023]图5是本专利技术实施例提供的场景覆盖关系信息生成方法的一个流程示意图;
[0024]图6是本专利技术实施例提供的场景覆盖关系信息生成过程的一个示例图;
[0025]图7是本专利技术实施例提供的场景覆盖关系信息的一个示例图;
[0026]图8是本专利技术实施例提供的测试场景确定方法的另一流程示意图;
[0027]图9是本专利技术实施例提供的测试场景确定装置的一个结构示意图;
[0028]图10是本专利技术实施例提供的电子设备的一个结构示意图。
具体实施方式
[0029]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0030]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031]图1是本专利技术实施例提供的测试场景确定方法的一个流程示意图,该方法可以应用在应用程序版本更新、需要对更新版代码进行测试的过程中,该方法可以由本专利技术实施例提供的测试场景确定装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中,电子设备比如可以是计算机、服务器等。以下实施例将以该装置集成在电子设备中为例进行说明。参考图1,该方法具体可以包括如下步骤:
[0032]步骤101,比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息。
[0033]目标应用程序可以是做了版本更新或升级的任意应用程序,当前版本代码可以是最新版代码,历史版本代码可以是最新版代码的上一版代码,目标应用程序在做了版本更新或升级之后,在上线前需要进行测试,而在测试时,需要确定测试场景(case)。测试场景是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。
[0034]具体地,可以采用版本控制系统(例如git)来比较不同版本代码之间的差异。比如,在采用版本提交(commit)命令将当前版本代码提交之后,可以执行版本差异比较(git diff)命令对当前版本代码和历史版本代码在对应分支上进行比较,从而得到代码差异信息。代码差异信息中可以包括代码变更内容,比如所有新增、删除、修改的方法。
[0035]步骤102,根据代码差异信息确定变更方法。
[0036]具体地,变更方法可以包括新增、删除、修改的方法。
[0037]步骤103,识别变更方法影响的接口,得到目标接口。
[0038]方法是对对象成员的操作,由函数实现;函数是语句序列的打包;接口是对方法的抽象和概括,由方法实现具体的接口,一个接口的实现方法可以包括多个。如果一个接口的至少一个实现方法发生了变更,则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试场景确定方法,其特征在于,包括:比较目标应用程序的当前版本代码和历史版本代码,得到代码差异信息;根据所述代码差异信息确定变更方法;识别所述变更方法影响的接口,得到目标接口;确定覆盖所述目标接口的测试场景,得到所述当前版本代码的推荐测试场景。2.根据权利要求1所述的方法,其特征在于,所述识别所述变更方法影响的接口,得到目标接口,包括:基于所述变更方法查询调用链信息,以确定所述变更方法是否存在调用方法,得到方法调用确定结果,所述调用链信息中包括方法间调用关系;基于所述方法调用确定结果确定所述目标接口。3.根据权利要求2所述的方法,其特征在于,所述调用链信息中还包括各个方法与所实现的接口的对应关系,所述基于所述方法调用确定结果确定所述目标接口,包括:当所述方法调用确定结果为所述变更方法不存在调用方法时,基于所述变更方法查询所述调用链信息,以确定所述变更方法实现的接口,得到所述目标接口;当所述方法调用确定结果为所述变更方法存在调用方法时,基于所述调用方法查询所述调用链信息,以确定所述调用方法实现的接口,得到所述目标接口。4.根据权利要求2或3所述的方法,其特征在于,所述确定覆盖所述目标接口的测试场景,得到所述当前版本代码的推荐测试场景,包括:基于所述目标接口查询场景覆盖关系信息,以确定测试所述当前版本代码所需运行的测试场景,得到所述推荐测试场景,所述场景覆盖关系信息中包括各个测试场景和所覆盖的接口的对应关系。5.根据权利要求4所述的方法,其特征在于,所述各个测试场景接入有覆盖率测试工具,所述各个测试场景前置有覆盖率清空接口,所述各个测试场景后置有覆盖率获取接口,所述场景覆盖关系信息通过如下方式得到:通过所述覆盖率清空接口清空对应测试场景的历史覆盖率数据;运行所述覆盖率测试工具测试对应测试场景覆盖的方法,得到目标覆盖率数据;通过所述覆盖率获取接口获取对应测试场景的所述目标覆盖率数据;根据所述各个测试场景的所述目标覆盖率数据确定所述场景覆盖关系信息。6.根据权利要求5...

【专利技术属性】
技术研发人员:陈阔杨瑞颖李星阳李丹阳
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1