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

文档序号:8430575阅读:来源:国知局
038]其中,所述测试代码也可以换成一种可执行程序,所述宿主机器将当前测试执行所需要的测试代码或可执行程序同步到虚拟机系统中。所述宿主机器中还包括测试执行接口,所述测试执行接口用于提供给用户的使用接口和控制端。所述测试代码或可执行程序可以通过所述测试执行接口和所述测试执行代理之间的进程间通信通道传输,例如,通过RPC的方式传输所述测试代码或可执行程序;所述测试代码或可执行程序也可以通过所述测试执行接口和所述测试执行代理之间的网络文件系统进行传输。
[0039]S203,对测试用例进行序列化处理,并将序列化后的测试用例发送到所述测试执行代理,以使所述测试执行代理对所述序列化后的测试用例进行反序列化处理以获取到所述测试用例;
[0040]具体的,在所述测试执行接口将所述测试用例发送到所述测试执行代理的过程中,所述测试执行接口对测试用例进行序列化处理,并将序列化后的测试用例发送到所述测试执行代理,以使所述测试执行代理对所述序列化后的测试用例进行反序列化处理以获取到所述测试用例。
[0041]S204,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,检测虚拟机状态;
[0042]具体的,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,可以通过虚拟机调试器实时检测虚拟机状态,所述虚拟机调试器主要用于监控所述测试执行代理在执行测试用例时是否导致虚拟机发生蓝屏错误。所述虚拟机调试器是通过内核调试技术,并利用虚拟机的虚拟设备端口实现对虚拟机系统的监控。对于不同的虚拟机系统类型,需要使用不同的内核调试器。
[0043]S205,当检测到所述虚拟机状态为异常状态时,采集虚拟机的系统上下文信息;
[0044]S206,将所述虚拟机的系统上下文信息记录为虚拟机的异常错误信息;
[0045]具体的,当检测到所述虚拟机状态为异常状态时,所述虚拟机调试器还可以采集虚拟机的系统上下文信息,并将所述虚拟机的系统上下文信息记录为虚拟机的异常错误信息。所述异常状态可以为发生蓝屏错误的状态,所述异常错误可以发生蓝屏错误时虚拟机的系统上下文信息。在虚拟机发生蓝屏错误时,所述测试执行接口会失去与所述测试执行代理的连接。
[0046]S207,控制所述虚拟机重启和恢复;
[0047]在所述虚拟机调试器记录了所述异常错误信息之后,所述虚拟机控制器还可以控制所述虚拟机重启和恢复。
[0048]S208,提示所述虚拟机的异常错误信息;
[0049]在所述虚拟机调试器记录了所述异常错误信息之后,所述宿主机器可以向用户提示所述虚拟机的异常错误信息,其实现过程可以为:所述虚拟机调试器将记录得到的所述虚拟机的异常错误信息发送到所述测试执行接口,所述测试执行接口可以将所述虚拟机的异常错误信息发送到客户端,使用户可以查看所述虚拟机的异常错误信息。
[0050]在本发明实施例中,通过在虚拟机中执行测试用例,使得在虚拟机执行某些测试用例而导致虚拟机出现蓝屏错误时,可以避免虚拟机的宿主机器出现蓝屏错误,从而保证了测试执行的稳定性,同时还可以及时记录关于虚拟机蓝屏错误的异常错误信息。
[0051]再请参见图3,为本发明实施例提供的又一种执行测试用例的方法的流程示意图,所述方法包括:
[0052]S301,启动虚拟机并对所述虚拟机进行初始化;
[0053]具体的,在宿主机器中创建虚拟机,所述虚拟机主要提供一种沙盒的执行环境,并用于隔离对具有蓝屏错误风险的测试用例的执行,以避免宿主机器的系统出现蓝屏错误。当需要在虚拟机中执行测试用例时,可以通过虚拟机控制器启动虚拟机并对所述虚拟机进行初始化。所述虚拟机控制器用于宿主系统控制虚拟机启动、重启和恢复等等。虚拟机控制器是通过虚拟机提供的控制接口实现,根据使用的虚拟机系统的不同,接口会有所差异。
[0054]S302,将测试代码同步到虚拟机中设置的测试执行代理;
[0055]所述宿主机器可以将测试代码同步到虚拟机中设置的测试执行代理。所述测试执行代理可以在虚拟机系统中运行,主要提供一种远程执行的能力,并用于接收宿主系统提交的测试用例并执行。
[0056]其中,所述测试代码也可以换成一种可执行程序,所述宿主机器将当前测试执行所需要的测试代码或可执行程序同步到虚拟机系统中。所述宿主机器中还包括测试执行接口,所述测试执行接口用于提供给用户的使用接口和控制端。所述测试代码或可执行程序可以通过所述测试执行接口和所述测试执行代理之间的进程间通信通道传输,例如,通过RPC的方式传输所述测试代码或可执行程序;所述测试代码或可执行程序也可以通过所述测试执行接口和所述测试执行代理之间的网络文件系统进行传输。
[0057]S303,对测试用例进行序列化处理,并将序列化后的测试用例发送到所述测试执行代理,以使所述测试执行代理对所述序列化后的测试用例进行反序列化处理以获取到所述测试用例;
[0058]具体的,在所述测试执行接口将所述测试用例发送到所述测试执行代理的过程中,所述测试执行接口对测试用例进行序列化处理,并将序列化后的测试用例发送到所述测试执行代理,以使所述测试执行代理对所述序列化后的测试用例进行反序列化处理以获取到所述测试用例。
[0059]S304,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,检测虚拟机状态;
[0060]具体的,在所述测试执行代理根据所述测试代码执行所述测试用例过程中,可以通过虚拟机调试器实时检测虚拟机状态,所述虚拟机调试器主要用于监控所述测试执行代理在执行测试用例时是否导致虚拟机发生蓝屏错误。所述虚拟机调试器是通过内核调试技术,并利用虚拟机的虚拟设备端口实现对虚拟机系统的监控。对于不同的虚拟机系统类型,需要使用不同的内核调试器。
[0061]S305,当检测到所述虚拟机状态为正常状态时,判断所述测试执行代理是否成功执行完所述测试用例;
[0062]具体的,当所述虚拟机调试器检测到所述虚拟机状态为正常状态时,即虚拟机系统正常运行,则可以判断所述测试执行代理是否成功执行完所述测试用例。当所述虚拟机调试器检测到所述虚拟机状态为异常状态时,即虚拟机系统发生蓝屏错误,则可以记录关于虚拟机蓝屏错误的异常错误信息。
[0063]S306,接收所述测试执行代理发送的正常执行结果;
[0064]当S305的步骤中判断所述测试执行代理成功执行完所述测试用例时,可以通过所述测试执行接口接收所述测试执行代理发送的正常执行结果。
[0065]S307,接收所述测试执行代理发送的异常执行结果;
[0066]当S305的步骤中判断所述测试执行代理没有成功执行完所述测试用例时,可以通过所述测试执行接口接收所述测试执行代理发送的异常执行结果。
[0067]在本发明实施例中,通过在虚拟机中执行测试用例,使得在虚拟机执行某些测试用例而导致虚拟机出现蓝屏错误时,可以避免虚拟机的宿主机器出现蓝屏错误,从而保证了测试执行的稳定性,同时还可以及时记录关于虚拟机蓝屏错误的异常错误信息,并在虚拟机正常运行时也可以接收虚拟机执行完测试用例后的执行结果。
[0068]请参见图4,为本发明实施例提供的一种执行测试用例的装置I的结构示意图,所述执行测试用例的装置I包括:测试执行接口模块10、虚拟机检测模块20、虚拟机调试模块30 ;
[0069]所
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1