• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 18
    • 下载费用:30 金币  

    重庆时时彩结束时间: 一种测试范围确定方法及装置.pdf

    关 键 词:
    一种 测试 范围 确定 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201510432313.9

    申请日:

    2015.07.21

    公开号:

    CN106354625A

    公开日:

    2017.01.25

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06F 11/36申请日:20150721|||公开
    IPC分类号: G06F11/36 主分类号: G06F11/36
    申请人: 北京搜狗科技发展有限公司
    发明人: 汪德合; 李佳; 王艳娜
    地址: 100084 北京市海淀区中关村东路1号院9号楼搜狐网络大厦9层01房间
    优先权:
    专利代理机构: 北京华沛德权律师事务所 11302 代理人: 马苗苗
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510432313.9

    授权公告号:

    |||

    法律状态公告日:

    2017.11.24|||2017.01.25

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明涉及软件工程领域,公开了一种测试范围确定方法及装置,以解决现有技术中对测试范围确定不够准确的技术问题。该方法包括:获取待测试代码所包含的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.如权利要求3所述的方法,其特征在于,所述从所述M个函数和所述
    N个函数中确定出L个函数,具体包括:
    将所述M个函数和所述N个函数全部作为所述L个函数;或
    确定所述M个函数和所述N个函数的脉络关系,所述脉络关系表征所述
    M个函数和所述N个函数之间的调用关系;以及确定出所述脉络关系中层级
    位于前S级的函数作为所述L个函数,S为大于1的正整数。
    7.如权利要求1-6任一所述的方法,其特征在于,在所述基于所述待测
    试代码、所述M个函数和所述N个函数确定测试范围之后,所述方法还包括:
    对所述测试范围所包含的代码进行测试。
    8.如权利要求1-6任一所述的方法,其特征在于,在所述获取待测试代
    码所包含的M个函数之前,所述方法还包括:
    通过日志分析工具从版本控制服务器导入日志信息;
    从所述日志信息中提取出内容发生变化的代码作为所述待测试代码。
    9.一种测试范围确定装置,其特征在于,包括:
    获取???,用于获取待测试代码所包含的M个函数,M为正整数;
    第一确定???,用于确定与所述M个函数存在调用关系的N个函数,N
    为正整数;
    第二确定???,用于基于所述待测试代码、所述M个函数和所述N个函
    数确定测试范围。
    10.如权利要求9所述的装置,其特征在于,所述获取???,具体包括:
    第一获取单元,用于获取所述待测试代码的第一路径信息;
    第二获取单元,用于获取到路径信息为所述第一路径信息的所述M个函
    数。

    说明书

    一种测试范围确定方法及装置

    技术领域

    本发明涉及软件工程领域,尤其涉及一种测试范围确定方法及装置。

    背景技术

    在较大的互联网软件项目工程里,代码工程庞大且整体更新迭代速度快,
    软件系统人员需要在测试新增功能和原有功能迭代的基础上,需要全面的确认
    测试范围。其中,申请号为: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个函数确定测试范围。也就是在确定测试范围时,不仅考虑待测试代码,
    还要考虑待测试代码所包含的函数的影响范围,从而达到了提高所确定的测试
    范围的准确性的技术效果;

    并且,该方案还能够防止由于底层函数变化,影响上层其他函数,而人工
    方式无法发现这些问题,从而导致测试范围的遗漏,另外,也能够防止所确定
    的测试范围过大,从而还能够提高确定测试范围的时间。

    为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技
    术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本
    发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情
    况下,本发明实施例以及实施例中的技术特征可以相互组合。

    第一方面,本发明实施例提供一种测试范围确定方法,请参考图1,包括:

    步骤S101:获取待测试代码所包含的M个函数,M为正整数;

    步骤S102:确定与M个函数存在调用关系的N个函数,N为正整数;

    步骤S103:基于待测试代码、M个函数和N个函数确定测试范围。

    如图2所示,为该测试范围确定方法的软件架构图,其可以包括以下几个
    功能??椋?br />

    函数管理系统20;

    函数分析工具21,用于自动对工程项目进行分析,进而将函数关系信息导
    入到函数管理系统20,其中,每个函数的函数关系信息包括:函数的路径信息、
    函数名、函数调用信息、函数被调信息、函数源码、函数行数等信息。

    日志分析工具22;

    日志变更管理系统23日志分析工具22用于将日志信息导入到日志变更管
    理系统23,每个日志信息可以包括:提交人、提交时间、备注信息、提交版本、
    变更文件信息等信息,其中变更文件信息又可以包括:文件名、路径信息、修
    改类型(例如:新增一段代码、在一段代码中增加内容、在一段代码中删除内
    容、修改一段代码等等)。

    作为一种可选的实施例,在基于步骤S101获得待测试代码之前,该方法
    还包括:

    通过日志分析工具22从版本控制服务器导入日志信息;

    从日志信息中提取出内容发生变化的代码作为待测试代码。

    举例来说,软件开发人员进行代码修改之后,将修改后的代码提交至版本
    控制服务器,进而在版本控制服务器中就会新增一条日志信息,然后由日志分
    析工具22将日志信息导入日志变更管理系统23,日志变更管理系统23通过对
    日志信息进行分析确定出内容发生变化的代码,该内容发生变化的代码即为待
    测试代码,其中,日志分析工具22例如为:SVN日志工具、版本控制服务器
    例如为:SVN服务器,在这种情况下,则日志信息为SVN日志信息。

    另外,在具体实施过程中,待测试代码可以仅仅包含内容发生变化的代码,
    也可以还包含一些其他代码,本发明实施例不作限制。

    步骤S101中,函数指的是一段预处理好的程序,能完成特定的功能,在函
    数写好之后,就可以在代码中被调用,进而不需要在代码中将函数重新再写一
    遍,待测试代码中所包含的M个函数指的是被待测试代码所调用的M个函数。

    步骤S101中,可以通过多种方式获得待测试代码所包含的M个函数,下
    面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。

    获取待测试代码所包含的M个函数的第一种方式,具体包括:获取待测
    试代码的第一路径信息;获取到路径信息为第一路径信息的M个函数。

    举例来说,从日志信息中的变更文件信息中就可以确定出待测试代码所对
    应的第一路径信息;然后将第一路径信息与函数管理系统20中的每个函数的
    路径信息进行匹配,如果匹配成功,则说明匹配成功的函数位于待测试代码中,
    进而就可以确定出M个函数。

    获取待测试代码所包含的M个函数的第二种方式,具体包括:在待测试
    代码中遍历获得M段满足预设格式的代码,这M段代码即对应M个函数。

    通常情况下,函数都满足预设格式,以该代码为C语言编写的代码为例,
    则函数会包含以下格式:

    函数类型函数名称(参数列表)

    故而,通过预设格式在待测试代码中遍历也可以获得M个函数。

    步骤S102中,确定与M个函数存在调用关系的N个函数,具体为:确定
    与M个函数中的任意一个函数存在直接或间接调用关系的N个函数。

    以M个函数中的函数A为例,则首先通过函数A的函数被调关系确定出
    直接调用函数A的函数,假设为函数B、C;然后再确定出间接调用函数A的
    函数,首先确定出直接调用函数B、C的函数,其中,假设不存在调用函数B
    的函数,而函数D、E直接调用函数C,则接着再确定出直接调用函数D、E
    的函数,依此类推。

    作为一种可选的实施例,在确定与M个函数中的任意一个函数存在直接
    或间接调用关系的N个函数时,本发明实施例所述方法还包括:确定M个函
    数和N个函数的脉络关系,脉络关系表征M个函数和N个函数之间的调用关
    系。

    举例来说,在确定直接或间接调用函数A的函数时,还可以确定出对应的
    脉络信息,该脉络信息能够表征调用函数A的多个函数之间的调用关系,其中
    脉络关系可以通过脉络图表示,也可以通过文字方式表示,如图3所示,为函
    数A的脉络信息的脉络图,从图3可以看出,其包含三条脉络,分别为:

    ①A→B

    ②A→C→D→A

    ③A→C→E

    而如果通过文字方式表示,则可以为:函数A被函数B或函数C调用,
    函数C被函数D或函数E调用,函数D被函数A调用,其中,函数A位于第
    一层级,函数B、C位于第二层级,函数D、E位于第三层级等等,当然在通
    过文字方式表示时,也可以通过上面的脉络方式表示,对于采用何种方式表示
    脉络信息,本发明实施例不再详细列举,并且不作限制。

    由图3所示的脉络图可知,函数A位于待测试代码,而函数A直接影响到函
    数B、C,间接影响到函数D、E,故而函数A涉及到的??榛蛭募?,以及函数B、
    C、D、E涉及到的??榛蛭募伎赡苄枰氐愎刈⒔胁馐?。

    其中,在类推过程中,如果遇到下面两种情况,则针对对应函数的类推结
    束:

    ①如果类推至某个函数时,不存在其他函数调用该函数,则针对该函数的
    类推结束,例如:在上述类推过程中,在第①条脉络中,在类推至函数B之后,
    不存在调用函数B的函数,则针对函数B的类推结束;在第③条脉络中,在
    类推至函数E之后,不存在调用函数E的函数,故而针对函数E的类推结束。

    ②若在脉络信息所包含的至少一条脉络的第一脉络中,第一函数出现第二
    次,则停止继续获取第一脉络上所对应的函数。例如,在上述脉络图中,第②
    条脉络中,函数A出现了两次,如果继续获取调用函数A的函数的话,则会
    出现死循环,为了防止这种情况,则停止搜索获得第②条脉络中的函数。

    在上述方案中,如果M为大于1的整数的话,针对M个函数中的每个函
    数都会存在一个脉络信息,进而可以确定出M个脉络信息,这M个脉络信息
    表征M个函数和N个函数之间的调用关系。

    步骤S103中,可以通过多种方式确定出测试范围,下面列举其中的两种
    方式进行介绍,当然,在具体实施过程中,不限于以下两种情况。

    步骤S103基于待测试代码、M个函数和N个函数确定测试范围的第一种
    方式,具体包括:

    步骤S401:从M个函数和N个函数中确定出L个函数,L为不大于M与
    N之和的正整数;

    步骤S402:将待测试代码和包含有L个函数的至少一个函数的文件和/或
    ??樗杂Φ拇胱魑馐苑段?。

    步骤S401中,又可以通过多种方式从M个函数和N个函数中确定出L
    个函数,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以
    下两种情况。

    第一种情况:从M个函数和N个函数中确定出L个函数,请参考图5,
    具体包括:

    步骤S501:确定M个函数和N个函数的脉络信息,脉络信息表征M个函
    数和N个函数之间的调用关系;

    步骤S502:将脉络信息提供给测试人员;

    步骤S503:响应测试人员基于脉络信息的选择操作,进而确定出L个函
    数。

    步骤S501中,脉络信息例如图3所示,其中通过该脉络信息能够表征各
    个函数之间的调用关系,例如:函数B、函数C为直接调用函数A的函数,而
    函数D、E、A则是间接调用函数A的函数等等。

    步骤S502中,可以将脉络信息对应的脉络图、或者脉络信息直接显示到
    测试人员的显示单元,进而将脉络信息提供给测试人员。

    步骤S503中,测试人员可以根据需要选择出L个函数,例如:为了提高
    测试速率,则测试人员可以仅仅选择M个函数以及直接调用M个函数的其他
    函数作为L个函数,为了保证测试范围更加全面,则测试人员可以选择M个
    函数以及N个函数的总和作为L个函数,当然,测试人员还可以基于其他原
    则选择L个函数,对此本发明实施例不再详细列举,并且不作限制。

    第二种情况从M个函数和N个函数中确定出L个函数,具体为:系统直
    接确定L个函数的范围,而不需要测试人员手动选择。

    在这种情况下,又可以通过多种方式确定出L个函数,其中一种可选的实
    施例为,将M个函数和L个函数全部作为L个函数,在这种情况下,所确定
    的测试范围更加广泛;另一种可选的实施例为,确定M个函数和N个函数的
    脉络关系,脉络关系表征M个函数和N个函数之间的调用关系;以及确定出
    脉络关系中层级位于前S级的函数作为L个函数,S为大于1的正整数,以图
    3所示的脉络关系为例,则函数A位于第一层级,函数B、C位于第二层级,
    函数D、E位于第三层级,S可以根据实际需求进行设定,例如:2、3等等,
    其中,如果S等于2,则是获取位于第一层级、第二层级的函数(也即函数A、
    B、C)作为L个函数;如果S等于3,则是获取位于第一层级至第三层级的函
    数(也即函数A、B、C、D、E)作为L个函数等等。

    步骤S402中,通常情况下,一个工程项目中可以包含多个???,而每个
    ??橛挚梢园喔鑫募?,在基于L个函数确定测试范围时,为了节省测试时
    间,可以选择包含L个函数中的任一函数的所有文件的代码作为测试范围;而
    为了保证测试的准确性,则可以选择包含L个函数中的任一函数的所有??榈?br />代码作为测试范围。另外,也可以针对L个函数中的L1函数,选择包含其中
    任一函数的所有??樽魑馐苑段?,针对L个函数中的其他L2个函数,则选
    择包含其中任一函数的所有文件作为测试范围等等,其中,L等于L1与L2之
    和,对于如何基于L个函数确定出测试范围,本发明实施例不再详细列举,并
    且不作限制。

    步骤S103基于待测试代码、M个函数和N个函数确定测试范围的第二种
    方式,具体包括:

    确定包含M个函数和N个函数中的任意一个函数的全部或部分??楹?或
    文件;

    将待测试代码以及上步骤确定的全部或部分??楹?或文件作为测试范围。

    具体来讲,也就是在确定测试范围时,会考虑M个函数和N个函数中的
    所有函数或部分函数;其中,在确定测试范围时,考虑M个函数和N个函数
    中的所有函数,基于M个函数和N个函数确定出对应的全部??楹?或文件的
    方式,与通过L个函数确定出对应的??楹?或文件的方式类似,故而在此不
    再赘述,在这种情况下,确定出的测试范围与将M与N个函数全部作为L个
    函数所确定出的测试范围相同。

    作为进一步的优选实施例,在步骤S103基于待测试代码、M个函数和N
    个函数确定测试范围之后,方法还可以包括:

    对测试范围所包含的代码进行测试。

    在具体实施过程中,通过Web页面,相关人可以查看到函数列表及代码变
    更列表。测试人员也可以查看到某个变更日志影响的范围信息(也即测试范围),
    包含了由于函数调用受到影响的文件列表和/或??榱斜?,如图6所示。测试人
    员在获得对应的测试范围之后,就可以进行对应的测试,无需担心测试范围的
    遗漏,同时还节省了验证全部功能的时间。

    为了使本领域所属技术人员能够进一步地了解本发明实施例所介绍的测
    试范围确定方法,下面将以该方法在具体实施过程中的应用对其进行介绍,当
    然,以下实施例仅仅为举例,并不作为限制。

    实施例一

    本实施例中以该测试范围确定方法应用于SVN(Subversion)系统为例进
    行介绍,请参考图7,该测试范围确定方法包括以下步骤:

    步骤S701:预先通过函数分析工具导入函数关系信息,每个函数的函数关
    系信息可以包括:函数的路径信息、函数名、函数调用信息、函数被调信息、
    函数源码、函数行数等信息。

    步骤S702:通过SVN日志工具从SVN服务器导入SVN日志信息,每个
    日志信息可以包括:提交人、提交时间、备注信息、提交版本、变更文件信息
    等信息,其中变更文件信息又可以包括:文件名、路径信息、修改类型,当然,
    在实际应用中,也可以通过其他日志分析工具导入其他日志信息,本发明实施
    例不作限制。

    步骤S703:从日志信息中提取出内容发生变化的代码作为待测试代码;

    步骤S704:从待测试代码中确定出M个函数,以及直接或间接调用M个
    函数的N个函数;

    步骤S705:构建这M个函数和N个函数的脉络图,通过该脉络图可以包
    含M个函数和N个函数之间的调用关系;

    步骤S706:将该脉络图显示于测试人员的显示单元;

    步骤S707:响应测试人员的选择操作,从M个函数和N个函数选择出L
    个函数,另外,在具体实施过程中,也可以由系统自动从M个函数以及N各
    函数中选择出L个函数;

    步骤S708:确定包含L个函数中的至少一个函数的所有文件(或者???,
    并将这些文件(或者???以及待测试代码作为测试范围。

    实施例二

    本实施例中基于该测试范围确定方法的系统框图对该测试范围确定方法
    进行介绍,请参考图8,该系统包括以下结构:

    SVN服务器80,SVN服务器80中存储有工程项目的项目代码,并且开发
    人员会将修改的代码提交到SVN服务器80,基于开发人员提交的代码,就会
    在SVN服务器80生成对应的日志信息;

    配置系统81,用于存储配置信息,配置信息例如为:测试人员信息。

    函数管理系统82,用于获取函数分析工具所提取的函数关系信息,函数关
    系信息中可以包括:函数的路径信息、函数名、函数调用信息、函数被调信息、
    函数源码、函数行数等信息;

    SVN变更管理系统83,用于接收SVN日志分析工具所获取的日志信息,
    每个日志信息中可以包括:提交人、提交时间、备注信息、提交版本、变更文
    件信息等信息,其中变更文件信息又可以包括:文件名、路径信息、修改类型。

    其中,SVN变更管理系统83基于日志信息和函数关系信息,就可以确定
    出测试范围,然后将其提供给测试人员。

    第二方面,基于同一发明构思,本发明实施例提供一种测试范围确定装置,
    请参考图9,包括:

    获取???0,用于获取待测试代码所包含的M个函数,M为正整数;

    第一确定???1,用于确定与所述M个函数存在调用关系的N个函数,
    N为正整数;

    第二确定???2,用于基于所述待测试代码、所述M个函数和所述N个
    函数确定测试范围。

    可选的,所述获取???0,具体包括:

    第一获取单元,用于获取所述待测试代码的第一路径信息;

    第二获取单元,用于获取到路径信息为所述第一路径信息的所述M个函
    数。

    可选的,所述第二确定???2,具体包括:

    第一确定单元,用于从所述M个函数和所述N个函数中确定出L个函数,
    L为不大于M与N之和的正整数;

    第二确定单元,用于将所述待测试代码和包含有所述L个函数的至少一个
    函数的文件和/或??樗杂Φ拇胱魑霾馐苑段?。

    可选的,所述第一确定???1,具体用于:

    确定与所述M个函数中的任意一个函数存在直接或间接调用关系的N个
    函数。

    可选的,所述第一确定???1,具体包括:

    第三确定单元,用于确定所述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个函数确定测试范围。也就是在确定测试范
    围时,不仅考虑待测试代码,还要考虑待测试代码所包含的函数的影响范围,
    从而达到了提高所确定的测试范围的准确性的技术效果;

    并且,该方案还能够防止由于底层函数变化,影响上层其他函数,而人工
    方式无法发现这些问题,从而导致测试范围的遗漏,另外,也能够防止所确定
    的测试范围过大,从而还能够提高确定测试范围的时间。

    本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计
    算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结
    合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包
    含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、
    CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

    本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产
    品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和
    /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/
    或方框的结合??商峁┱庑┘扑慊绦蛑噶畹酵ㄓ眉扑慊?、专用计算机、嵌入
    式处理机或其他可编程数据处理设备的嵌入式控制器以产生一个机器,使得通
    过计算机或其他可编程数据处理设备的嵌入式控制器执行的指令产生用于实
    现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的
    功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设
    备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中
    的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个
    流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使
    得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处
    理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个
    流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基
    本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要
    求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

    显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱
    离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属
    于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和
    变型在内。

    关于本文
    本文标题:一种测试范围确定方法及装置.pdf
    链接地址://www.4mum.com.cn/p-6027123.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 澳门赌 能攻击棋牌游戏的黑客 pc28双面盘1999 pk10走势图查询 北京pk赛车手机版 澳门博彩骗局 网上快三怎么玩稳赚 北京塞车pk10官网开奖 江苏时时大小单双 虚拟篮球投注技巧 稳赚包六肖永久 全年无错36码特围网址80期 2016年3d走势图带连线 极速时时杀号 幸运pk10怎么玩 七乐彩开奖结果今天