一种执行测试用例的方法和装置的制造方法

文档序号:8430575阅读:368来源:国知局
一种执行测试用例的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种执行测试用例的方法和装置。
【背景技术】
[0002]软件测试已经变得越来越普及了,并且软件测试在开发项目的过程中占据着非常重要的地位。
[0003]在现有技术中,软件测试的方法可以是单机执行测试。所述单机执行测试,是指测试执行和执行控制都在同一个机器上,这种测试执行方案虽然简单、成本低,但是当执行某些测试用例而导致系统蓝屏错误时,将无法保证测试执行的稳定性。

【发明内容】

[0004]本发明实施例所要解决的技术问题在于,提供一种执行测试用例的方法和装置,可通过在虚拟机中执行测试用例,以保证测试执行的稳定性。
[0005]本发明实施例第一方面提供了一种执行测试用例的方法,可包括:
[0006]将测试代码同步到虚拟机中设置的测试执行代理,并将测试用例发送到所述测试执行代理;
[0007]在所述测试执行代理根据所述测试代码执行所述测试用例过程中,检测虚拟机状态;
[0008]当检测到所述虚拟机状态为异常状态时,记录虚拟机的异常错误信息。
[0009]本发明实施例第二方面提供了一种执行测试用例的装置,可包括:
[0010]测试执行接口模块,用于将测试代码同步到虚拟机中设置的测试执行代理,并将测试用例发送到所述测试执行代理;
[0011 ] 虚拟机检测模块,用于在所述测试执行代理根据所述测试代码执行所述测试用例过程中,检测虚拟机状态;
[0012]虚拟机调试模块,用于当所述虚拟机检测模块检测到所述虚拟机状态为异常状态时,记录虚拟机的异常错误信息。
[0013]在本发明实施例中,通过在虚拟机中执行测试用例,使得在虚拟机执行某些测试用例而导致虚拟机出现蓝屏错误时,可以避免虚拟机的宿主机器出现蓝屏错误,从而保证了测试执行的稳定性,同时还可以及时记录关于虚拟机蓝屏错误的异常错误信息。
【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明实施例提供的一种执行测试用例的方法的流程示意图;
[0016]图2为本发明实施例提供的另一种执行测试用例的方法的流程示意图;
[0017]图3为本发明实施例提供的又一种执行测试用例的方法的流程示意图;
[0018]图4为本发明实施例提供的一种执行测试用例的装置的结构示意图;
[0019]图5为本发明实施例提供的另一种执行测试用例的装置的结构示意图;
[0020]图6为本发明实施例提供的一种虚拟机调试模块的结构示意图;
[0021]图7为本发明实施例提供的一种测试执行接口模块的结构示意图。
【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]请参见图1,为本发明实施例提供的一种执行测试用例的方法的流程示意图,所述方法包括:
[0024]S101,将测试代码同步到虚拟机中设置的测试执行代理,并将测试用例发送到所述测试执行代理;
[0025]具体的,在宿主机器中创建虚拟机,所述虚拟机主要提供一种沙盒的执行环境,并用于隔离对具有蓝屏错误风险的测试用例的执行,以避免宿主机器的系统出现蓝屏错误。所述宿主机器可以将测试代码同步到虚拟机中设置的测试执行代理,并将测试用例发送到所述测试执行代理,以使所述测试执行代理执行所述测试用例。所述测试执行代理可以在虚拟机系统中运行,主要提供一种远程执行的能力,并用于接收宿主系统提交的测试用例并执行。
[0026]其中,所述测试代码也可以换成一种可执行程序,所述宿主机器将当前测试执行所需要的测试代码或可执行程序同步到虚拟机系统中。所述宿主机器中还包括测试执行接口,所述测试执行接口用于提供给用户的使用接口和控制端。所述测试代码或可执行程序可以通过所述测试执行接口和所述测试执行代理之间的进程间通信通道传输,例如,通过RPC (Remote Procedure Call Protocol,远程过程调用协议)的方式传输所述测试代码或可执行程序;所述测试代码或可执行程序也可以通过所述测试执行接口和所述测试执行代理之间的网络文件系统进行传输。
[0027]S102,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,检测虚拟机状态;
[0028]具体的,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,可以通过虚拟机调试器实时检测虚拟机状态,所述虚拟机调试器主要用于监控所述测试执行代理在执行测试用例时是否导致虚拟机发生蓝屏错误。所述虚拟机调试器是通过内核调试技术,并利用虚拟机的虚拟设备端口实现对虚拟机系统的监控。对于不同的虚拟机系统类型,需要使用不同的内核调试器。
[0029]当然,当虚拟机具备监控虚拟机状态的接口,也可以通过该接口代替虚拟机调试器。
[0030]S103,当检测到所述虚拟机状态为异常状态时,记录虚拟机的异常错误信息;
[0031]具体的,当检测到所述虚拟机状态为异常状态时,所述虚拟机调试器还可以记录虚拟机的异常错误信息。所述异常状态可以为发生蓝屏错误的状态,所述异常错误可以发生蓝屏错误时虚拟机的系统上下文信息。在虚拟机发生蓝屏错误时,所述测试执行接口会失去与所述测试执行代理的连接。所述虚拟机调试器还可以将所述异常错误信息发送到所述测试执行接口,使用户可以通过所述测试执行接口查看所述异常错误信息。
[0032]在本发明实施例中,通过在虚拟机中执行测试用例,使得在虚拟机执行某些测试用例而导致虚拟机出现蓝屏错误时,可以避免虚拟机的宿主机器出现蓝屏错误,从而保证了测试执行的稳定性,同时还可以及时记录关于虚拟机蓝屏错误的异常错误信息。
[0033]再请参见图2,为本发明实施例提供的另一种执行测试用例的方法的流程示意图,所述方法包括:
[0034]S201,启动虚拟机并对所述虚拟机进行初始化;
[0035]具体的,在宿主机器中创建虚拟机,所述虚拟机主要提供一种沙盒的执行环境,并用于隔离对具有蓝屏错误风险的测试用例的执行,以避免宿主机器的系统出现蓝屏错误。当需要在虚拟机中执行测试用例时,可以通过虚拟机控制器启动虚拟机并对所述虚拟机进行初始化。所述虚拟机控制器用于宿主系统控制虚拟机启动、重启和恢复等等。虚拟机控制器是通过虚拟机提供的控制接口实现,根据使用的虚拟机系统的不同,接口会有所差异。
[0036]S202,将测试代码同步到虚拟机中设置的测试执行代理;
[0037]所述宿主机器可以将测试代码同步到虚拟机中设置的测试执行代理。所述测试执行代理可以在虚拟机系统中运行,主要提供一种远程执行的能力,并用于接收宿主系统提交的测试用例并执行。
[0
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1