测试方法及装置的制造方法

文档序号:8258304阅读:239来源:国知局
测试方法及装置的制造方法
【专利说明】
【技术领域】
[0001]本申请涉及测试技术,尤其涉及一种测试方法及装置。
【【背景技术】】
[0002]在软件测试过程例如,单元测试中,为了避免程序的风险,需要利用设计的测试用例,执行被测程序,以覆盖尽量多的代码分支。现有技术中,可以通过打桩方法,将测试程序从产品项目中分离出来,使之能够独立编译、链接,并独立运行。桩,还可以称为桩代码,是指用来代替关联代码或者未实现代码的代码。因此,将测试程序之外的,并且与测试程序相关的代码,用桩来代替,从而能够实现分离测试程序。
[0003]然而,由于对测试程序的代码进行了修改,操作复杂,且容易出错,从而导致了测试操作的效率和可靠性的降低。

【发明内容】

[0004]本申请的多个方面提供一种测试方法及装置,用以提高测试操作的效率和可靠性。
[0005]本申请的一方面,提供一种测试方法,包括:
[0006]获取被测程序中的代码分支信息,所述代码分支信息用于指示所述被测程序所包含的代码分支;
[0007]根据所述代码分支信息,在所述被测程序中设置断点;
[0008]若执行所述被测程序的停止位置为所述断点,执行调试操作;
[0009]若没有执行所述断点之后的代码分支,获取所述断点所在代码分支中的变量状态,以供调整测试用例重新执行所述被测程序。
[0010]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述代码分支信息,在所述被测程序中设置断点,包括:
[0011]根据所述代码分支信息,利用MI命令,在所述被测程序中设置断点。
[0012]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述代码分支信息,在所述被测程序中设置断点,包括:
[0013]在所述代码分支信息所指示的代码分支之前,设置所述断点。
[0014]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若执行所述被测程序的停止位置为所述断点,执行调试操作,包括:
[0015]若执行所述被测程序的停止位置为所述断点,执行下一步操作。
[0016]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述下一步操作包括下一行操作或下一断点操作。
[0017]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若执行所述被测程序的停止位置为所述断点,执行调试操作之后,还包括:
[0018]若没有执行所述断点之后的代码分支,在未执行分支池中添加所述断点之后的代码分支的状态信息。
[0019]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若执行所述被测程序的停止位置为所述断点,执行调试操作之后,还包括:
[0020]若执行所述断点之后的代码分支,在未执行分支池中删除所述断点之后的代码分支的状态信息。
[0021]本申请的另一方面,提供一种测试装置,包括:
[0022]获取单元,用于获取被测程序中的代码分支信息,所述代码分支信息用于指示所述被测程序所包含的代码分支;
[0023]设置单元,用于根据所述代码分支信息,在所述被测程序中设置断点;
[0024]调试单元,用于若执行所述被测程序的停止位置为所述断点,执行调试操作;
[0025]所述获取单元,还用于若没有执行所述断点之后的代码分支,获取所述断点所在代码分支中的变量状态,以供调整测试用例重新执行所述被测程序。
[0026]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设置单元,具体用于
[0027]根据所述代码分支信息,利用MI命令,在所述被测程序中设置断点。
[0028]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设置单元,具体用于
[0029]在所述代码分支信息所指示的代码分支之前,设置所述断点。
[0030]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述调试单元,具体用于
[0031]若执行所述被测程序的停止位置为所述断点,执行下一步操作。
[0032]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述下一步操作包括下一行操作或下一断点操作。
[0033]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括操作单元,用于
[0034]若没有执行所述断点之后的代码分支,在未执行分支池中添加所述断点之后的代码分支的状态信息。
[0035]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述操作单元,还用于
[0036]若执行所述断点之后的代码分支,在未执行分支池中删除所述断点之后的代码分支的状态信息。
[0037]由上述技术方案可知,本申请实施例通过获取被测程序中的代码分支信息,所述代码分支信息用于指示所述被测程序所包含的代码分支,进而根据所述代码分支信息,在所述被测程序中设置断点,若执行所述被测程序的停止位置为所述断点,执行调试操作,若没有执行所述断点之后的代码分支,获取所述断点所在代码分支中的变量状态,使得能够根据变量状态调整测试用例重新执行所述被测程序,由于没有对测试程序的代码进行修改,操作简单,且准确率高,从而提高了测试操作的效率和可靠性。
[0038]另外,采用本申请提供的技术方案,能够自动获取未执行代码分支所对应的变量状态即所述断点所在代码分支中的变量状态,无需操作人员对未执行的代码分支进行分析,准确率高,能够进一步提高测试操作的效率和可靠性。
【【附图说明】】
[0039]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本申请一实施例提供的测试方法的流程示意图;
[0041]图2为本申请另一实施例提供的测试装置的结构示意图;
[0042]图3为本申请另一实施例提供的测试装置的结构示意图。
【【具体实施方式】】
[0043]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
[0044]需要说明的是,本申请实施例中所述的被测程序可以包括但不限于C语言代码编译的程序、C++语言代码编译的程序或java语言代码编译的程序,其他任何可实现编译的程序语言均在本申请保护范围之内,本申请对此并不做特别限定。
[0045]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0046]图1为本申请一实施例提供的测试方法的流程示意图,如图1所示。
[0047]101、获取被测程序中的代码分支信息,所述代码分支信息用于指示所述被测程序所包含的代码分支。
[0048]其中,所述代码分支信息可以用于指示所述被测程序所包含的一个代码分支,或者还可以用于指示所述被测程序所包含的两个或两个以上代码分支。所述代码分支信息可以包括但不限于代码分支行号。
[0049]可选地,所述代码分支信息还可以进一步包括代码分支
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1