定位回归用例的方法和系统技术方案

技术编号:8562938 阅读:182 留言:0更新日期:2013-04-11 04:35
本发明专利技术提供了定位回归用例的方法和系统。其中,该方法包括:A,在每个用例运行结束后,生成包含以下内容的映射关系:该用例的标识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识;B,当源码文件中语句行的信息发生修改时,以该语句行的标识为关键字查找包含该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例,这实现了快速、准确定位出需要回归的用例,提高回归效率。

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别涉及定位回归用例的方法和系统
技术介绍
为便于理解本申请,将本申请涉及到的术语进行描述源码信息是指被测的源码文件的标识(具体可为源码文件名)、源码文件中的语 句行信息和源码流程图信息;语句覆盖信息是指在用例运行结束后,记录该用例相关的源码文件的标识、该用 例在该相关的源码文件所覆盖的语句行信息、覆盖的语句的执行次数,以及每个基本块执 行次数等信息;覆盖率是指用例运行结束后,(覆盖的语句行数/源码中有效的行数)*100%。有效行源码文件中不包含{, }的行(即空行是无效行)称为有效行, 源码文件中包含的头文件,宏定义都不算有效行。目前,现有的统计覆盖率工具算法是在用例运行完成后,记录其覆盖源码文件的 覆盖率,具体可通过图1所示的流程实现,以给出源码文件中的哪些语句被覆盖,哪些语句 未被覆盖,便于工作人员重新设计用例。但是,当源码文件中的语句行被修改时,现有的统计覆盖率工具算法通常是将现 有的用例全部回归一次。如果修改比较频繁,则需要频繁回归所有用例,这增加了回归成 本,且降低需要回归的用例的回归效率。
技术实现思路
本专利技术提供了定位回归用例的方法和系统,以便快速、准确定位出需要回归的用 例,提高回归效率。本专利技术提供的技术方案包括一种定位回归用例的方法,包括A,在每个用例运行结束后,生成包含以下内容的映射关系该用例的标识、该用例 相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识;B,当源码文件中语句行的信息发生修改时,以该语句行的标识为关键字查找包含 该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射关系中 的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。一种定位回归用例的系统,包括映射关系建立装置,用于在每个用例运行结束后,生成包含以下内容的映射关系 该用例的标识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识;回归用例确定装置,其包括查找单元和确定单元,其中,所述查找单元,用于当源码文件中语句行的信息发生修改时,以该语句行的标识 为关键字查找包含该关键字的映射关系;所述确定单元,用于在所述查找单元查找到包含该关键字的映射关系时,将该查 找到的映射关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。由以上技术方案可以看出,本专利技术中,在源码文件中语句行的信息发生修改时,本 专利技术以该语句行的标识为关键字查找包含该关键字的映射关系,仅将查找到的映射关系中 的用例标识对应的用例确定为需要回归的用例,这相比于现有技术,能够快速、准确定位出 需要回归的用例;并且,本专利技术仅将查找到的映射关系中的用例标识对应的用例进行回归,相比于 现有技术将源码文件相关的所有用例回归,这大大减少了用例回归数量,提高回归效率。附图说明图1为现有统计覆盖率工具算法不意图2为本专利技术实施例提供的基本流程图3和图4为本专利技术提供的方法的应用示意图5为本专利技术提供的详细流程图6为本专利技术提供的定位回归用例的系统结构图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本专利技术进行详细描述。本专利技术提供的方法包括图2所示的流程参见图2,图2为本专利技术实施例提供的流程图。如图2所示,该流程可包括以下步 骤步骤201,在每个用例运行结束后,生成包含以下内容的映射关系该用例的标 识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识。本步骤201中,一个用例可以同时与多个源码文件相关。步骤202,当源码文件中语句行的信息发生修改时,以该语句行的标识为关键字查 找包含该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射 关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。为使图2所示的流程更加清楚,下面举一个具体实施例进行描述基于步骤201,则假如得到用例I至用例5均与同一个源码文件(记为源码文件 I)相关,具体如图3所示。其中,针对每一用例得到以下映射关系为用例1,源码文件1、 用例I覆盖源码文件I的第10至15行之间的映射关系,用例2、源码文件1、用例2覆盖源 码文件I的第20至25行之间的映射关系,用例3、源码文件1、用例3覆盖源码文件I的第 30至35行之间的映射关系,用例4、源码文件1、用例4覆盖源码文件I的第40至45行之 间的映射关系,以及用例5、源码文件1、用例5覆盖源码文件I的第50至55行之间的映射 关系。则,当根据实际需求需要修改源码文件I的第20行至25行中的代码信息(简称 信息),则基于步骤202的描述,可以以源码文件I中第20行至25行为关键字查找包含该 关键字的映射关系,如此,即可得到只有用例2对应的映射关系中包含该关键字,如此,将该查找到的映射关系中的用例标识对应的用例(即用例2)确定为需要回归的用例,而其他 用例比如用例1、用例3、用例4和用例5则不需要回归,具体可参见图4所示。在图4中, 由于用例2需要回归,而其他用例不需要回归,为便于区分,用比较粗的实线表示用例2,其 他用例则用相对比较细的实线来表示。通过图4可以看出,在源码文件I的第20行至25行中的信息发生修改时,本专利技术 只需要回归覆盖了该第20行至25行中的用例2,而非将源码文件I相关的所有用例回归, 这大大减少了用例回归数量,提高回归效率。需要说明的是,本专利技术中,如果在未查找到包含该语句行标识即关键字的映射关 系,则确定不存在需要回归的用例,并进一步定位出该语句行标识,以及该语句行标识所处 的源码文件,这可保存在设置的无用例源码文件中,由find_modify_line_caseid. sh脚本 实现;这样做,目的是使用户比如测试人员根据定位出的语句行标识和源码文件有针对性 地设计用例,降低测试成本,提高测试效率。进一步地,还可以提供针对该语句行标识、以及该语句行信息所处的源码文件增 加新用例的建议。基于上面描述,下面通过图5所示的流程对本专利技术进行详细描述参见图5,图5为本专利技术提供的详细流程图。如图5所示,该流程可包括以下步骤步骤501,在每个用例运行结束后,记录该用例的标识。本步骤501中的记录可由被测程序运行后执行或者用例自动化运行后执行。其 中,可将该用例的标识记录至设置的用例标识信息文件中。步骤502,生成该用例相关的源码文件。本步骤502实质是从通过添加编译选项、使用覆盖率工具产生的源码文件中找到 该用例相关的源码文件。该源码文件包含源码文件的标识(比如源码文件名)、语句行信息 和内部流程信息。其中,源码文件的标识以用例的标识区分。在具体实现时,该步骤502可 由脚本 caseid_line_info. sh 实现。步骤503,针对该用例相关的每一源码文件,生成包含该用例在该源码文件覆盖的 语句行标识的语句覆盖信息文件。本步骤503针对用例相关的不同源码文件,生成不同的语句覆盖信息文件,每一 个语句覆盖信息文件的标识比如文件名以用例标识来区分。本步骤503由程序rename_ gcda. cpp程序来完成。步骤504,汇总步骤503生成的各个语句覆盖信息文件包含的内容,生成所述用例 相关的覆盖率信息文件,所述用例相关的覆盖率信息文件包含该用例各个相关的源码文件 以及在各个相本文档来自技高网...

【技术保护点】
一种定位回归用例的方法,其特征在于,该方法包括:A,在每个用例运行结束后,生成包含以下内容的映射关系:该用例的标识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识;B,当源码文件中语句行的信息发生修改时,以该语句行的标识为关键字查找包含该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。

【技术特征摘要】
1.一种定位回归用例的方法,其特征在于,该方法包括 A,在每个用例运行结束后,生成包含以下内容的映射关系该用例的标识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识; B,当源码文件中语句行的信息发生修改时,以该语句行的标识为关键字查找包含该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。2.根据权利要求1所述的方法,其特征在于,该方法进一步包括 当源码文件的标识发生修改时,针对该源码文件中的每一语句行,以该语句行的标识为关键字查找包含该关键字的映射关系,如果查找到包含该关键字的映射关系,则将该查找到的映射关系中的用例标识对应的用例确定为需要回归的用例,回归该确定的用例。3.根据权利要求1或2所述的方法,其特征在于,如果未查找到包含关键字的映射关系,贝1J进一步包括 定位出作为该关键字的语句行标识,以及该语句行标识所处的源码文件,以使用户根据定位出的语句行标识和源码文件有针对性地设计用例。4.根据权利要求1所述的方法,其特征在于,步骤A中生成包括 Al,在每个用例运行结束后,记录该用例的标识; A2,生成该用例相关的源码文件; A3,针对该用例相关的每一源码文件,生成包含该用例在该源码文件覆盖的语句行标识的语句覆盖信息文件; A4,汇总步骤A3生成的各个语句覆盖信息文件包含的内容,得到所述用例相关的覆盖率信息文件,所述用例相关的覆盖率信息文件包含该用例各个相关的源码文件以及在各个相关的源码文件覆盖的语句行的标识; 根据所述用例的标识以及所述用例相关的覆盖率信息文件包含的内容,生成包含以下内容的映射关系该用例的标识、该用例相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识。5.一种定位回归用例的系统,其特征在于,该系统包括 映射关系建立装置,用于在...

【专利技术属性】
技术研发人员:陈明师王谊麟徐勇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1