本发明专利技术公开了一种实现白盒测试的方法和测试控制端,包括需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中的测试单元的代码,并编译测试控制端的代码,以得到可运行的测试控制端;输入测试命令组给测试控制端,以进行测试。通过本发明专利技术提供的技术方案,实现了需要支持新增测试用例时,修改并编译测试控制端的代码,避免了修改并编译被测端的代码,有效减少了测试时间,从而提高了测试效率。
【技术实现步骤摘要】
本专利技术涉及测试技术,尤指一种实现白盒测试的方法和测试控制端。
技术介绍
众所周知,白盒测试已经成为一种常用的软件测试手段。目前,主流的白盒测试系统包括测试控制端和被测端。测试控制端主要用于接收测试命令组并转发给被测端,以及接收来自被测端的分析结果并进行分析。其中,由一个或一个以上测试命令组成的测试命令组用于描述测试用例,即用于描述针对一个测试需求点的测试环境;分析结果至少包括指示测试是否成功的信息。通常,很多个测试需求点构成测试需求,即白盒测试的测试目标。被测端包括测试单元、运行单元和需要进行测试的被测单元。其中,测试单元用于将接收到的来自测试控制端的测试命令组转换成测试代码;运行单元,用于将测试代码编译成可执行信息,根据可执行信息测试被测单元并返回测试结果给测试控制端。以测试控制端为例来看,通常本领域中将编译前的测试控制端称为测试控制端的代码,而将编译后的测试控制端称为可运行的测试控制端,简称为测试控制端。通常,测试控制端采用支持即时编译的编程语言(例如,脚本语言)编写;而被测端采用更容易实现被测单元的软件开发语言如易于实现复杂功能的编程语言(例如,面向对象语言)编写。由于被测端包括功能复杂的被测单元,因此其实现复杂度明显大于测试控制端的实现复杂度,而且易于实现复杂功能的编程语言的编译效率相对于支持即时编译的编程语言的编译效率低得多。综上所述,由于功能明显复杂且采用的编程语言的编译效率较低,因此被测端的编译时间明显大于测试控制端的编译时间。在上述白盒测试系统中,需要支持新增测试用例时,根据新增测试用例修改被测端中测试单元的代码,修改并编译被测端的代码,以得到可运行的被测端。由于被测端的编译时间较长,这样降低了测试效率,甚至延后产品发布从而带来重大经济损失。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种实现白盒测试的方法和测试控制端,能够减少编译时间,从而提高测试效率。为了达到本专利技术目的,本专利技术公开了一种实现白盒测试的方法,包括:需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中的测试单元的代码,并编译测试控制端的代码,以得到可运行的测试控制端;输入测试命令组给测试控制端,以进行测试。所述进行测试包括:所述测试控制端将接收到的测试命令组转换成测试代码,并发送给被测端;被测端将接收到的测试代码编译成可执行信息,根据可执行信息测试被测端中的被测单元,并返回测试结果给所述测试控制端;所述测试控制端分析返回的测试结果,以得到分析结果。所述得到可运行的测试控制端的编译为即时编译。所述测试控制端采用支持即时编译的编程语言进行编程实现。所述支持即时编译的编程语言为脚本语言。本专利技术还公开了一种实现白盒测试的测试控制端,包括接收单元和测试单元,其中,接收单元,用于接收测试命令组;测试单元,用于将来自接收单元的的测试命令组转换成测试代码并发送给被测端。所述测试单元还用于接收所述被测端返回的根据所述测试代码测试所述被测端中的被测单元得到测试结果,并分析返回的测试结果,以得到分析结果。所述测试控制端采用支持即时编译的编程语言进行编程实现。所述支持即时编译的编程语言为脚本语言。与现有技术相比,本专利技术技术方案包括:需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中的测试单元的代码,并编译测试控制端的代码,以得到可运行的测试控制端;输入测试命令组给测试控制端,以进行测试。从本专利技术技术方案来看,通过将测试单元设置在测试控制端中,实现了需要支持新增测试用例时,修改并编译测试控制端的代码,避免了修改并编译被测端的代码,有效减少了编译时间,从而提高了测试效率。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实现白盒测试的方法的流程图;图2为本专利技术实现白盒测试的测试控制端的组成结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术实现白盒测试的方法的流程图,如图1所示,包括:步骤101:需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中的测试单元的代码。本步骤的具体实现,属于本领域技术人员的惯用技术手段,不用于限定本专利技术的保护范围,此处不再赘述。这里强调的是,修改测试控制端中的测试单元的代码,而不必修改被测端的代码。步骤102:编译测试控制端的代码,以得到可运行的测试控制端。优选地,测试控制端的代码通过支持即时编译的脚本语言进行编写的。在本专利技术的一个实施例中,测试控制端的代码通过Python语言编写,本步骤中的编译测试控制端的代码的具体实现为:对测试控制端的代码进行即时编译。在本专利技术的另一个实施例中,测试控制端的代码通过Ruby语言编写。需要说明的是,本步骤是利用测试控制端的编程语言对应的编译工具进行的。步骤103:输入测试命令组给测试控制端,以进行测试。其中,测试命令组可以包括在一个文件中,通常该文件称为测试脚本。测试命令组还可以由一个或一个以上以人机交互方式输入的测试命令组成。在本专利技术的一个实施例中,测试脚本保存后,以保存测试脚本的位置信息作为参数启动测试控制端,从而实现输入测试命令组给测试控制端的步骤。在本专利技术的另一个实施例中,测试控制端启动后,以人机交互方式接收输入的测试命令组,从而实现了输入测试命令组给测试控制端。从步骤101~103来看,通过将测试单元设置在测试控制端中,实现了需要支持新增测试用例时,修改并编译测试控制端的代码,避免了修改并编译被测端的代码,有效减少了编译时间,从而提高了测试效率。步骤103之后还包括:测试控制端将接收到的测试命本文档来自技高网...
【技术保护点】
一种实现白盒测试的方法,其特征在于,该方法包括:需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中的测试单元的代码,并编译测试控制端的代码,以得到可运行的测试控制端;输入测试命令组给测试控制端,以进行测试。
【技术特征摘要】
1.一种实现白盒测试的方法,其特征在于,该方法包括:
需要支持新增测试用例时,根据新增测试用例修改设置在测试控制端中
的测试单元的代码,并编译测试控制端的代码,以得到可运行的测试控制端;
输入测试命令组给测试控制端,以进行测试。
2.根据权利要求1所述的方法,其特征在于,所述进行测试包括:
所述测试控制端将接收到的测试命令组转换成测试代码,并发送给被测
端;
被测端将接收到的测试代码编译成可执行信息,根据可执行信息测试被
测端中的被测单元,并返回测试结果给所述测试控制端;
所述测试控制端分析返回的测试结果,以得到分析结果。
3.根据权利要求1或2所述的方法,其特征在于,所述得到可运行的测
试控制端的编译为即时编译。
4.根据权利要求1或2所述的方法,其特征在于,所述测试控制端采用
支持即时...
【专利技术属性】
技术研发人员:王师墨,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。