一种测试范围确定方法及装置制造方法及图纸

技术编号:14484710 阅读:53 留言:0更新日期:2017-01-26 16:56
本发明专利技术涉及软件工程领域,公开了一种测试范围确定方法及装置,以解决现有技术中对测试范围确定不够准确的技术问题。该方法包括:获取待测试代码所包含的M个函数,M为正整数;确定与M个函数存在调用关系的N个函数,N为正整数;基于待测试代码、M个函数和N个函数确定测试范围。达到了提高所确定的测试范围的准确性的技术效果。

【技术实现步骤摘要】

本专利技术涉及软件工程领域,尤其涉及一种测试范围确定方法及装置
技术介绍
在较大的互联网软件项目工程里,代码工程庞大且整体更新迭代速度快,软件系统人员需要在测试新增功能和原有功能迭代的基础上,需要全面的确认测试范围。其中,申请号为:201410209145.2的中国专利申请,公开了通过以下方式确定出测试方式:获取待测试的变更代码数据的路径信息;根据所述获取的路径信息到预先构建的数据库中查找与所述获取的路径信息匹配的回归测试范围参考信息;输出所述查找到的回归测试范围参考信息,以使测试人员根据所述回归测试范围参考信息确定回归测试范围。该方案存在以下技术问题:该方案中确定出回归测试范围时,仅仅考虑变更代码的路径信息以及与变更代码对应的参考信息,故而能够提示的测试范围仅是发生变化的代码本身,对于未变化的代码产生的影响无法涵盖。由此可见,现有技术中的方案存在着对测试范围确定不够准确的技术问题。
技术实现思路
本专利技术提供一种测试范围确定方法及装置,以解决现有技术中对测试范围确定不够准确的技术问题。第一方面,本专利技术实施例提供一种测试范围确定方法,包括:获取待测试代码所包含的M个函数,M为正整数;确定与所述M个函数存在调用关系的N个函数,N为正整数;基于所述待测试代码、所述M个函数和所述N个函数确定测试范围。可选的,所述获取待测试代码所包含的M个函数,具体包括:获取所述待测试代码的第一路径信息;获取到路径信息为所述第一路径信息的所述M个函数。可选的,所述基于所述待测试代码、所述M个函数和所述N个函数确定测试范围,具体包括:从所述M个函数和所述N个函数中确定出L个函数,L为不大于M与N之和的正整数;将所述待测试代码和包含有所述L个函数的至少一个函数的文件和/或模块所对应的代码作为所述测试范围。可选的,所述确定与所述M个函数存在调用关系的N个函数,具体为:确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个函数。可选的,在所述确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个函数时,所述方法还包括:确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述M个函数和所述N个函数之间的调用关系;若在所述脉络信息所包含的至少一条脉络的第一脉络中,第一函数出现第二次,则停止继续获取所述第一脉络上所对应的函数。可选的,所述从所述M个函数和所述N个函数中确定出L个函数,具体包括:将所述M个函数和所述N个函数全部作为所述L个函数;或确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述M个函数和所述N个函数之间的调用关系;以及确定出所述脉络关系中层级位于前S级的函数作为所述L个函数,S为大于1的正整数。可选的,在所述基于所述待测试代码、所述M个函数和所述N个函数确定测试范围之后,所述方法还包括:对所述测试范围所包含的代码进行测试。可选的,在所述获取待测试代码所包含的M个函数之前,所述方法还包括:通过日志分析工具从版本控制服务器导入日志信息;从所述日志信息中提取出内容发生变化的代码作为所述待测试代码。第二方面,本专利技术实施例提供一种测试范围确定装置,包括:获取模块,用于获取待测试代码所包含的M个函数,M为正整数;第一确定模块,用于确定与所述M个函数存在调用关系的N个函数,N为正整数;第二确定模块,用于基于所述待测试代码、所述M个函数和所述N个函数确定测试范围。可选的,所述获取模块,具体包括:第一获取单元,用于获取所述待测试代码的第一路径信息;第二获取单元,用于获取到路径信息为所述第一路径信息的所述M个函数。可选的,所述第二确定模块,具体包括:第一确定单元,用于从所述M个函数和所述N个函数中确定出L个函数,L为不大于M与N之和的正整数;第二确定单元,用于将所述待测试代码和包含有所述L个函数的至少一个函数的文件和/或模块所对应的代码作为所述测试范围。可选的,所述第一确定模块,具体用于:确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个函数。可选的,所述第一确定模块,具体包括:第三确定单元,用于确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述M个函数和所述N个函数之间的调用关系;停止单元,用于若在所述脉络信息所包含的至少一条脉络的第一脉络中,第一函数出现第二次,则停止继续获取所述第一脉络上所对应的函数。可选的,所述第一确定单元,具体用于:将所述M个函数和所述N个函数全部作为所述L个函数;或确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述M个函数和所述N个函数之间的调用关系;以及确定出所述脉络关系中层级位于前S级的函数作为所述L个函数,S为大于1的正整数。可选的,所述装置还包括:测试模块,用于在基于所述待测试代码、所述M个函数和所述N个函数确定测试范围之后,对所述测试范围所包含的代码进行测试。可选的,所述装置还包括:导入模块,用于在获取待测试代码所包含的M个函数之前,通过日志分析工具从版本控制服务器导入日志信息;提取模块,用于从所述日志信息中提取出内容发生变化的代码作为所述待测试代码。本专利技术有益效果如下:由于在本专利技术实施例中,首先获取待测试代码所包含的M个函数,M为正整数;然后确定与M个函数存在调用关系的N个函数,N为正整数;最后基于待测试代码、M个函数和N个函数确定测试范围。也就是在确定测试范围时,不仅考虑待测试代码,还要考虑待测试代码所包含的函数的影响范围,从而达到了提高所确定的测试范围的准确性的技术效果;并且,该方案还能够防止由于底层函数变化,影响上层其他函数,而人工方式无法发现这些问题,从而导致测试范围的遗漏,另外,也能够防止所确定的测试范围过大,从而还能够提高确定测试范围的时间。附图说明图1为本专利技术实施例中测试范围确定方法的流程图;图2为本专利技术实施例测试范围确定方法的软件架构图;图3为本专利技术实施例测试范围确定方法中函数A的脉络图;图4为本专利技术实施例测试范围确定方法中基于待测试代码、M个函数和N个函数确定测试范围的流程图;图5为本专利技术实施例测试范围确定方法中从M个函数和N个函数中确定出L个函数的流程图;图6为本专利技术实施例测试范围确定方法中测试范围的示意图;图7为本专利技术实施例一中测试范围确定方法的流程图;图8为本专利技术实施例二中测试范围确定方法的系统架构图;图9为本专利技术实施例中测试范围确定装置的结构图。具体实施方式本专利技术提供一种测试范围确定方法及装置,以解决现有技术中对测试范围确定不够准确的技术问题。本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:首先获取待测试代码所包含的M个函数,M为正整数;然后确定与M个函数存在调用关系的N个函数,N为正整数;最后基于待测试代码、M个函数和N个函数确定测试范围。也就是在确定测试范围时,不仅考虑待测试代码,还要考虑待测试代码所包含的函数的影响范围,从而达到了提高所确定的测试范围的准确性的技术效果;并且,该方案还能够防止由于底层函数变化,影响上层其他函数,而人工方式无法发现这些问题,从而导致测试范围的遗漏,另外,也能够防止所确定的测试范围过大,从而还能够提高确定测试范围的时间。为了更好的理解上述技术方案,下面通过附图以及具体实施例对本专利技术技术方案做详细的说明,应本文档来自技高网...
一种测试范围确定方法及装置

【技术保护点】
一种测试范围确定方法,其特征在于,包括:获取待测试代码所包含的M个函数,M为正整数;确定与所述M个函数存在调用关系的N个函数,N为正整数;基于所述待测试代码、所述M个函数和所述N个函数确定测试范围。

【技术特征摘要】
1.一种测试范围确定方法,其特征在于,包括:获取待测试代码所包含的M个函数,M为正整数;确定与所述M个函数存在调用关系的N个函数,N为正整数;基于所述待测试代码、所述M个函数和所述N个函数确定测试范围。2.如权利要求1所述的方法,其特征在于,所述获取待测试代码所包含的M个函数,具体包括:获取所述待测试代码的第一路径信息;获取到路径信息为所述第一路径信息的所述M个函数。3.如权利要求1所述的方法,所述基于所述待测试代码、所述M个函数和所述N个函数确定测试范围,具体包括:从所述M个函数和所述N个函数中确定出L个函数,L为不大于M与N之和的正整数;将所述待测试代码和包含有所述L个函数的至少一个函数的文件和/或模块所对应的代码作为所述测试范围。4.如权利要求1所述的方法,其特征在于,所述确定与所述M个函数存在调用关系的N个函数,具体为:确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个函数。5.如权利要求4所述的方法,其特征在于,在所述确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个函数时,所述方法还包括:确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述M个函数和所述N个函数之间的调用关系;若在所述脉络信息所包含的至少一条脉络的第一脉络中,第一函数出现第二次,则停止继续获取所述第一脉络上所对应的函数。6.如...

【专利技术属性】
技术研发人员:汪德合李佳王艳娜
申请(专利权)人:北京搜狗科技发展有限公司
类型:发明
国别省市:北京;11

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

1