一种测试方法和装置制造方法及图纸

技术编号:21246800 阅读:24 留言:0更新日期:2019-06-01 07:14
本发明专利技术实施例提供一种测试方法和装置,其中所述方法包括:获取待测代码的全部路径分支;基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例;基于所述优选用例对所述待测代码进行测试。本发明专利技术实施例提供的方法和装置,通过建立路径分支与测试用例之间的关系,为待测代码选取优选用例提供了依据,有助于从代码层面上缩小测试范围,增强待测代码的优选用例的针对性。

A Test Method and Device

The embodiment of the present invention provides a test method and device, which includes acquiring all path branches of the code to be tested, selecting the preferred case of the code to be tested based on each path branch of the code to be tested and the relationship between each path branch and the test case, and testing the code to be tested based on the preferred use case. The method and device provided by the embodiment of the present invention can provide a basis for selecting the optimal use case for the code to be tested by establishing the relationship between the path branch and the test case, help to narrow the test scope from the code level, and enhance the pertinence of the preferred use case for the code to be tested.

【技术实现步骤摘要】
一种测试方法和装置
本专利技术实施例涉及计算机软件测试
,尤其涉及一种测试方法和装置。
技术介绍
在软件工程和软件开发领域,需要对软件应用程序实施软件测试,以纠正该软件应用程序中存在的错误。通常情况下,使用测试用例(testcase)对软件应用程序进行测试。测试用例为一组测试输入、执行条件以及预期结果,以便核实软件应用程序是否按照其初始设计的方式运行和工作。然而,随着产品复杂性的增加,软件应用程序的测试过程中需要设计的测试用例数量大大增加,最终导致的结果是测试用例库异常的庞大。由于测试范围不明确,在进行程序测试时常常需要基于大量测试用例进行大范围的测试以及大范围的回归测试。由于测试独占周期较长,敏捷度很低。因而,如何缩减测试范围,缩短测试的独占周期,提升敏捷度仍然是软件测试领域亟待解决的问题。
技术实现思路
本专利技术实施例提供一种测试方法和装置,用以解决现有的软件测试由于测试范围不明确导致的独占周期长、敏捷度低的问题。第一方面,本专利技术实施例提供一种测试方法,包括:获取待测代码的全部路径分支;基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例;基于所述优选用例对所述待测代码进行测试。第二方面,本专利技术实施例提供一种测试装置,包括:分支获取单元,用于获取待测代码的全部路径分支;用例选取单元,用于基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例;测试单元,用于基于所述优选用例对所述待测代码进行测试。第三方面,本专利技术实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第一方面所提供的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提供的一种测试方法和装置,通过建立路径分支与测试用例之间的关系,为待测代码选取优选用例提供了依据,有助于从代码层面上缩小测试范围,增强待测代码的优选用例的针对性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的测试方法的流程示意图;图2为本专利技术实施例提供的测试装置的结构示意图;图3为本专利技术实施例提供的电子设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。由于测试范围不明确,在进行程序测试时常常需要基于大量测试用例进行大范围的测试以及大范围的回归测试,由此导致了测试独占周期较长,敏捷度很低。针对上述问题,本专利技术实施例提供了一种测试方法。图1为本专利技术实施例提供的测试方法的流程示意图,如图1所示,该方法包括:110,获取待测代码的全部路径分支。具体地,待测代码为需要进行测试的代码。待测代码的路径分支是基于待测代码中的跳转指令确定的,待测代码中的路径分支可以通过程序插桩技术等方法获取,本专利技术实施例对此不作具体限定。120,基于待测代码的每一路径分支,以及每一路径分支与测试用例之间的关系,选取待测代码的优选用例。具体地,路径分支与测试用例之间的关系是预先设定的,每一路径分支对应若干个能够覆盖该路径分支的测试用例。优选用例是基于待测代码的路径分支,以及路径分支与测试用例之间的关系获取的用于对待测代码进行测试的测试用例,优选用例可以包括一个或多个测试用例,本专利技术实施例不对此作具体限定。在得到待测代码的全部路径分支后,基于路径分支与测试用例之间的关系,对待测代码中的路径分支与预先设定的测试用例进行匹配,从测试用例中选取与待测代码中的路径分支之间存在对应关系的测试用例,作为优选用例,用于待测代码的测试。130,基于优选用例对待测代码进行测试。本专利技术实施例提供的方法,基于待测代码的路径分支,以及路径分支与测试用例之间的关系,选取优选用例用于待测代码的测试,从代码层面上缩小了测试范围,缩短了测试独占周期,提升了测试敏捷度,提高了测试效率。基于上述实施例,步骤120之前还包括:101,标记每一测试用例中的路径分支;102,获取每一路径分支所在的每一测试用例,建立每一路径分支与测试用例之间的关系。具体地,在基于待测代码的每一路径分支,以及每一路径分支与测试用例之间的关系选取待测代码的优选用例之前,需要预先建立路径分支与测试用例之间的关系。在大量的测试用例中,首先针对每一测试用例,标记每一测试用例中的每一路径分支,即确定每一测试用例中分别包含的全部路径分支。随后,对全部测试用例中包含的全部路径分支进行汇总,并针对每一路径分支,确定包含该路径分支的全部测试用例,并由此建立路径分支与测试用例之间的关系,即任一路径分支是否包含在任一测试用例中。本专利技术实施例提供的方法,通过建立路径分支与测试用例之间的关系,为待测代码选取优选用例提供了依据,有助于从代码层面上缩小测试范围,增强待测代码的优选用例的针对性。基于上述任一实施例,步骤120具体包括:121,基于待测代码的任一路径分支,以及该路径分支与测试用例之间的关系,选取该路径分支的候选用例;122,将待测代码的每一路径分支的候选用例进行合并,得到待测代码的优选用例。具体地,在获取待测代码的全部路径分支后,针对待测代码的每一路径分支,分别执行如下操作:针对待测代码的任一路径分支,从预先设定的路径分支与测试用例之间的关系中,选取该路径分支与测试用例之间的关系,进而得到包含有该路径分支的测试用例,将每一包含有该路径分支的测试用例作为该路径分支的候选用例。在得到待测代码的每一路径分支的候选用例之后,对待测代码的每一路径分支的候选用例进行合并,并将合并后的全部候选用例,作为对待测代码进行测试的优选用例。例如,待测代码的路径分支包括路径分支A、路径分支B和路径分支C,其中路径分支A的候选用例为测试用例1、测试用例2和测试用例5,路径分支B的候选用例为测试用例2、测试用例4和测试用例6,路径分支C的候选用例为测试用例1、测试用例4和测试用例5,则合并后得到的优选用例包括测试用例1、测试用例2、测试用例4、测试用例5和测试用例6。基于上述任一实施例,待测代码包括若干个基本块;对应地,步骤130具体包括:针对任一基本块,基于该基本块中的路径分支对应的优选用例,对该基本块进行测试。具体地,基本块是指待测代码中顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中的第—个语句,出口就是其中的最后一个语句。任一基本块中可能包含一个或多个路径分支。针对任一基本块,从优选用例中获取该基本块中包含的路径分支对应的测试用例对该基本块进行测试。每一基本块均本文档来自技高网...

【技术保护点】
1.一种测试方法,其特征在于,包括:获取待测代码的全部路径分支;基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例;基于所述优选用例对所述待测代码进行测试。

【技术特征摘要】
1.一种测试方法,其特征在于,包括:获取待测代码的全部路径分支;基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例;基于所述优选用例对所述待测代码进行测试。2.根据权利要求1所述的方法,其特征在于,所述基于所述待测代码的路径分支,以及用例与路径分支之间的关系,选取所述待测代码的优选用例,之前还包括:标记每一所述测试用例中的路径分支;获取每一所述路径分支所在的每一所述测试用例,建立每一所述路径分支与测试用例之间的关系。3.根据权利要求1所述的方法,其特征在于,所述基于所述待测代码的每一所述路径分支,以及所述每一路径分支与测试用例之间的关系,选取所述待测代码的优选用例,具体包括:基于所述待测代码的任一所述路径分支,以及所述任一路径分支与测试用例之间的关系,选取所述任一路径分支的候选用例;将所述待测代码的每一所述路径分支的所述候选用例进行合并,得到所述待测代码的优选用例。4.根据权利要求1所述的方法,其特征在于,所述待测代码包括若干个基本块;对应地,所述基于所述优选用例对所述待测代码进行测试,具体包括:针对任一所述基本块,基于所述任一基本块中的路径分支对应的优选用例,对所述任一基本块进行测试。5.根据权利要求1所述的方法,其特征在于,所述基于所述优选用例对所述待测代码进行测试,之后还包括:获取基于所述优选用例的代码覆盖率;基于所述代码覆盖率,获取用例选取结果。6.根据权利要...

【专利技术属性】
技术研发人员:周雪娇吴江
申请(专利权)人:北京仁科互动网络技术有限公司
类型:发明
国别省市:北京,11

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

1