代码测试方法及装置、电子设备和存储介质制造方法及图纸

技术编号:21913832 阅读:23 留言:0更新日期:2019-08-21 12:23
本公开是关于一种代码测试方法及装置、电子设备以及存储介质,涉及软件测试中的测试管理技术领域,可以应用于对开发人员完成的软件代码进行代码测试的应用场景。该代码测试方法包括采用定义代码中的接口和函数之间关系的存储方式将接口和函数进行存储;如果代码中函数发生变化,则确定与发生变化的函数对应的接口作为目标接口;根据接口与测试用例的预设映射关系确定目标接口对应的测试用例,以便基于测试用例对函数发生变化的代码进行测试。本公开可以精准地定位到软件代码中发生变化的函数对应的接口,并基于定位到的接口生成测试用例,以进行代码测试。

Code testing methods and devices, electronic devices and storage media

【技术实现步骤摘要】
代码测试方法及装置、电子设备和存储介质
本公开涉及软件测试中的测试管理
,具体而言,涉及一种代码测试方法、代码测试装置、电子设备以及存储介质。
技术介绍
代码测试是软件开发中的一项重要工作,开发人员完成软件代码后,需要测试人员不断进行测试,发现代码中的一些漏洞(即bug),以便及时完善代码。现有的代码测试流程中,当开发人员对代码进行修改后,测试人员需要对所有代码进行全流程回归测试,以确认修改后的代码没有引入新的错误或导致其它代码产生错误。代码发生改变时,需要对所有的接口都进行回归测试,导致测试人员的测试工作量巨大,增大系统测试和维护升级的成本。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种代码测试方法、代码测试装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服无法精准定位代码中发生改变的接口,并针对发生变动的接口进行代码测试的问题。根据本公开的第一方面,提供一种代码测试方法,包括:采用定义代码中的接口和函数之间关系的存储方式将接口和函数进行存储;如果代码中函数发生变化,则确定与发生变化的函数对应的接口作为目标接口;根据接口与测试用例的预设映射关系确定目标接口对应的测试用例,以便基于测试用例对函数发生变化的代码进行测试。可选的,采用定义代码中的接口和函数之间关系的存储方式将接口和函数进行存储包括:确定代码中的多个接口以及分别与各接口对应的函数;采用树形结构对多个接口与各接口对应的函数进行存储;其中,树形结构定义多个接口和与各接口对应的函数之间关系的。可选的,采用树形结构对多个接口与各接口对应的函数进行存储包括:将接口作为树形结构中的根节点,将代码中的函数作为树形结构中的中间节点或叶子结点。可选的,确定与发生变化的函数对应的接口作为目标接口包括:将代码中发生改变的函数确定为目标函数;基于目标函数自底向上遍历树形结构以确定出与目标函数对应的接口作为目标接口。可选的,确定与发生变化的函数对应的接口作为目标接口后,代码测试方法还包括:如果目标接口为多个,则确定各目标接口与目标函数的关联权重;根据确定出的各目标接口与目标函数的关联权重判断代码发生变化的类型;其中,代码发生变化的类型包括善意修改和恶意篡改。可选的,确定各目标接口与目标函数的关联权重包括:确定一目标接口作为目标测试接口;确定目标测试接口未被更改之前的版本作为第一版本;确定目标测试接口被更改之后的版本作为第二版本;获取代码在第一版本下的运行结果作为第一测试结果;获取代码在第二版本下的运行结果作为第二测试结果;如果第二测试结果与第一测试结果之间的差异度确定目标测试接口与目标函数的关联权重。可选的,根据确定出的各目标接口与目标函数的关联权重判断代码发生变化的类型包括:确定目标函数发生变化前测试用例的执行结果作为第一执行结果;确定目标函数发生变化后测试用例的执行结果作为第二执行结果;如果第二执行结果与第一执行结果之间的差异度与关联权重的对应度大于预设阈值,则确定代码变化类型为善意修改;如果第二执行结果与第一执行结果之间的差异度与关联权重的对应度小于或等于预设阈值,则确定代码变化类型为恶意篡改。根据本公开的第二方面,提供一种代码测试装置,包括:关系存储模块,用于采用定义代码中的接口和函数之间关系的存储方式将接口和函数进行存储;目标接口确定模块,用于如果代码中函数发生变化,确定与发生变化的函数对应的接口作为目标接口;测试用例生成模块,用于根据接口与测试用例的预设映射关系确定目标接口对应的测试用例,以便基于测试用例对函数发生变化的代码进行测试。可选的,关系存储模块包括关系存储单元,用于确定代码中的多个接口以及分别与各接口对应的函数;采用树形结构对多个接口与各接口对应的函数进行存储;其中,树形结构定义多个接口和与各接口对应的函数之间关系的。可选的,关系存储单元包括关系存储子单元,用于将接口作为树形结构中的根节点,将代码中的函数作为树形结构中的中间节点或叶子结点。可选的,目标接口确定模块包括目标接口确定单元,用于将代码中发生改变的函数确定为目标函数;基于目标函数自底向上遍历树形结构以确定出与目标函数对应的接口作为目标接口。可选的,所述代码测试装置还包括代码变化类型确定模块,用于如果目标接口为多个,则确定各目标接口与目标函数的关联权重;根据确定出的各目标接口与目标函数的关联权重判断代码发生变化的类型;其中,代码发生变化的类型包括善意修改和恶意篡改。可选的,代码变化类型确定模块包括关联权重确定单元,用于确定一目标接口作为目标测试接口;确定目标测试接口未被更改之前的版本作为第一版本;确定目标测试接口被更改之后的版本作为第二版本;获取代码在第一版本下的运行结果作为第一测试结果;获取代码在第二版本下的运行结果作为第二测试结果;如果第二测试结果与第一测试结果之间的差异度确定目标测试接口与目标函数的关联权重。可选的,代码变化类型确定模块包括代码变化类型确定单元,用于确定目标函数发生变化前测试用例的执行结果作为第一执行结果;确定目标函数发生变化后测试用例的执行结果作为第二执行结果;如果第二执行结果与第一执行结果之间的差异度与关联权重的对应度大于预设阈值,则确定代码变化类型为善意修改;如果第二执行结果与第一执行结果之间的差异度与关联权重的对应度小于或等于预设阈值,则确定代码变化类型为恶意篡改。根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述代码测试的方法。根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的代码测试方法。本公开的示例性实施例中的代码测试方法,采用定义代码中的接口和函数之间关系的存储方式将接口和函数进行存储;如果代码中函数发生变化,则确定与发生变化的函数对应的接口作为目标接口;根据接口与测试用例的预设映射关系确定目标接口对应的测试用例,以便基于测试用例对函数发生变化的代码进行测试。一方面,本公开将代码中定义接口和函数之间关系的存储方式将接口和函数进行存储,当代码中的函数发生变化时,能够快速定位到接口层发生变化的相应接口;另一方面,定位到发生变化的接口后,根据事先设定好的接口与测试用例之间的映射关系,可以生成最新精准测试用例,并执行测试用例,缩小了测试范围,因此减少了工作量。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示意性示出了根据本公开的示例性实施方式的代码测试方法的流程图;图2示意性示出了根据本公开的示例性实施方式的代码测试方法构建的第一树形结构图;图3示意性示出了根据本公开的示例性实施方式的代码测试方法构建的第二树形结构本文档来自技高网...

【技术保护点】
1.一种代码测试方式,应用于测试管理中的测试流程改进,其特征在于,包括:采用定义代码中的接口和函数之间关系的存储方式将所述接口和所述函数进行存储;如果所述代码中函数发生变化,则确定与发生变化的函数对应的接口作为目标接口;根据接口与测试用例的预设映射关系确定所述目标接口对应的测试用例,以便基于所述测试用例对函数发生变化的代码进行测试。

【技术特征摘要】
1.一种代码测试方式,应用于测试管理中的测试流程改进,其特征在于,包括:采用定义代码中的接口和函数之间关系的存储方式将所述接口和所述函数进行存储;如果所述代码中函数发生变化,则确定与发生变化的函数对应的接口作为目标接口;根据接口与测试用例的预设映射关系确定所述目标接口对应的测试用例,以便基于所述测试用例对函数发生变化的代码进行测试。2.根据权利要求1所述的代码测试方式,其特征在于,采用定义代码中的接口和函数之间关系的存储方式将所述接口和所述函数进行存储包括:确定代码中的多个接口以及分别与各所述接口对应的函数;采用树形结构对所述多个接口与各所述接口对应的函数进行存储;其中,所述树形结构定义所述多个接口和与各所述接口对应的函数之间关系的。3.根据权利要求2所述的代码测试方式,其特征在于,采用树形结构对所述多个接口与各所述接口对应的函数进行存储包括:将所述接口作为所述树形结构中的根节点,将代码中的函数作为所述树形结构中的中间节点或叶子结点。4.根据权利要求2所述的代码测试方式,其特征在于,确定与发生变化的函数对应的接口作为目标接口包括:将代码中发生改变的函数确定为目标函数;基于所述目标函数自底向上遍历所述树形结构以确定出与所述目标函数对应的接口作为目标接口。5.根据权利要求4所述的代码测试方式,其特征在于,确定与发生变化的函数对应的接口作为目标接口后,所述代码测试方法还包括:如果所述目标接口为多个,则确定各所述目标接口与所述目标函数的关联权重;根据确定出的各所述目标接口与所述目标函数的关联权重判断代码发生变化的类型;其中,所述代码发生变化的类型包括善意修改和恶意篡改。6.根据权利要求5所述的代码测试方式,其特征在于,确定各所述目标接口与所述目标函数的关联权重包括:确定一目...

【专利技术属性】
技术研发人员:湛淼湘李江
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

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

1