基于虚拟机进行硬件装置测试的计算机系统及方法

文档序号:8502107阅读:652来源:国知局
基于虚拟机进行硬件装置测试的计算机系统及方法
【技术领域】
[0001]本发明有关于一种基于虚拟机进行硬件装置测试的计算机系统及方法,尤指一种利用虚拟机来测试硬件装置的硬件或韧体的计算机系统及方法。
【背景技术】
[0002]以往在进行硬件装置的硬件或韧体开发时,测试人员会将开发中的硬件装置连接一计算机主机,并将驱动装置的韧体驱动程序安装在计算机主机的主机端操作系统之中。而后,利用驱动程序去发送一连串的测试指令至硬件装置,以测试硬件装置是否可以正常运作或验证硬件装置对于错误的测试指令是否可以正确的响应。
[0003]然而,传统硬件装置的测试流程中,当硬件装置的硬件或韧体驱动程序测试时产生异常情况,很容易造成计算机主机的主机端操作系统当机或崩溃,严重的话甚至导致主机端操作系统的数据损坏,而造成系统测试时的风险。此外,当计算机主机的主机端操作系统当机或崩溃时,计算机主机必须花费一段重新启动的时间,方能重新进行硬件装置的软硬件测试,此不仅会造成测试流程的不便且会增加测试流程的时程。

【发明内容】

[0004]本发明提出一种基于虚拟机进行硬件装置测试的计算机系统及方法,其计算机系统可以利用虚拟机来测试真实硬件装置的硬件或韧体,若真实硬件装置的硬件或韧体驱动程序测试时产生异常的情况,只会影响到虚拟机的客户端操作系统的运作,不会造成计算机系统的主机端操作系统的当机或崩溃,将可确保计算机系统测试真实硬件装置的硬件或韧体驱动程序时的安全性。
[0005]本发明提出一种基于虚拟机进行硬件装置测试的计算机系统及方法,其计算机系统利用一虚拟硬件装置仿真周边硬件装置的操作功能,则,无须连接一外部的周边硬件装置,即可对于周边硬件装置的韧体驱动程序进行开发,以提升韧体驱动程序开发的便利性及时效性。
[0006]为达成上述目的,本发明提供一种基于虚拟机进行硬件装置测试的计算机系统,包括:一虚拟机,包括:一客户端操作系统,包括:一客户端驱动程序,配置在客户端操作系统中,用以发出一连串的测试指令;及一虚拟机管理程序,包括一扩充测试模块;及一真实硬件装置,透过一硬件直通单元连接扩充测试模块,其中客户端驱动程序经由扩充测试模块依序传送测试指令至真实硬件装置,真实硬件装置处理测试指令以产生至少一响应消息且经由扩充测试模块传送响应消息至客户端驱动程序。
[0007]本发明一实施例中,扩充测试模块在测试指令中加入一错误指令或一不符合传输协议规范的指令。
[0008]本发明一实施例中,扩充测试模块设定一延迟时间,扩充测试模块根据延迟时间以延迟每一测试指令传送至真实硬件装置的时间。
[0009]本发明一实施例中,当真实硬件装置经由处理测试指令以判断出测试指令包含有一错误指令、一不符合传输协议规范的指令或存在有指令传送延迟的情况,将产生标示有韧体错误的响应消息。
[0010]本发明一实施例中,扩充测试模块复制测试指令以重复传送测试指令至真实硬件
目.0
[0011]本发明一实施例中,扩充测试模块在响应消息中加入一错误数据或一不符合传输协议规范的数据。
[0012]本发明一实施例中,扩充测试模块设定一延迟时间,扩充测试模块根据延迟时间以延迟每一响应消息传送至客户端驱动程序的时间。
[0013]本发明一实施例中,真实硬件装置为一符合于PC1、PCI Express、SATA或USB传输协议规范的周边硬件装置。
[0014]本发明又提供一种基于虚拟机进行硬件装置测试的计算机系统,包括:一虚拟机,包括:一客户端操作系统,包括:一客户端驱动程序,配置在客户端操作系统中,用以发出一连串的测试指令;及一虚拟机管理程序,包括一扩充测试模块及一虚拟硬件装置,其中客户端驱动程序经由扩充测试模块依序传送测试指令至虚拟硬件装置,虚拟硬件装置处理测试指令以产生至少一响应消息且经由扩充测试模块传送响应消息至客户端驱动程序。
[0015]本发明一实施例中,虚拟硬件装置被虚拟机管理程序仿真成一符合于PC1、PCIExpress、SATA或USB传输协议规范的装置。
[0016]本发明又提供一种基于虚拟机进行硬件装置测试的计算机系统,包括:一虚拟机,包括:一客户端操作系统,包括:一客户端驱动程序,配置在客户端操作系统中,用以发出一连串的测试指令;及一虚拟机管理程序,包括一扩充测试模块及一虚拟硬件装置,其中客户端驱动程序依序传送测试指令至扩充测试模块,若扩充测试模块能够处理测试指令,扩充测试模块直接产生至少一响应消息;否则,扩充测试模块传送测试指令至虚拟硬件装置,由虚拟硬件装置处理测试指令而产生响应消息,且响应消息经由扩充测试模块传送至客户端驱动程序。
[0017]本发明又提供一种基于虚拟机进行硬件装置测试的方法,其方法适用在一配置有一虚拟机的计算机系统上,虚拟机包括一客户端操作系统及一虚拟机管理程序,客户端操作系统配置有至少一客户端驱动程序,虚拟机管理程序包括一扩充测试模块,方法步骤包括:令客户端驱动程序发出一连串的测试指令且传送测试指令至扩充测试模块;令扩充测试模块传送测试指令至一真实硬件装置或一虚拟硬件装置;令真实硬件装置或虚拟硬件装置处理测试指令以产生至少一响应消息;及令真实硬件装置或虚拟硬件装置经由扩充测试模块传送响应消息至客户端驱动程序。
【附图说明】
[0018]图1是本发明基于虚拟机进行硬件装置测试的计算机系统一实施例的结构示意图。
[0019]图2是本发明基于虚拟机进行硬件装置测试的计算机系统又一实施例的结构示意图。
[0020]图3是本发明基于虚拟机进行硬件装置的硬件测试的一实施例的方法流程图。
[0021]图4是本发明基于虚拟机进行硬件装置的韧体测试的一实施例的方法流程图。
[0022]图5是本发明基于虚拟机进行硬件装置测试的又一实施例的方法流程图。
【具体实施方式】
[0023]请参阅图1,为本发明基于虚拟机进行硬件装置测试的计算机系统一实施例的结构示意图。如图1所示,本实施例计算机系统100包括一虚拟机12,其配置于一主机端操作系统11之中。虚拟机12包括一虚拟机管理程序(Hyper-visor) 13及一客户端操作系统15。虚拟机管理程序13包括一扩充测试模块131,而客户端操作系统15配置有一客户端驱动程序151。
[0024]在本实施例中,虚拟机12的扩充测试模块131可以经由一硬件直通(hardwarepass-through)单元130连接一外部的真实硬件装置20。此硬件直通单元130为一可以在虚拟机12与真实硬件装置20之间建构通讯连接的软件接口。在本发明中,真实硬件装置20亦可为一符合于PC1、PCI Express、SATA、USB或其他接口传输协议规范的周边硬件装置。
[0025]当计算机系统100欲对于真实硬件装置20进行测试时,客户端驱动程序151发出一连串的测试指令1510,测试指令1510经由扩充测试模块131传送至真实硬件装置20。真实硬件装置20处理测试指令1510以产生至少一响应消息2000,且经由扩充测试模块131传送响应消息2000至客户端驱动程序151。之后,客户端驱动程序151检测响应消息2000以得知是否可以驱使真实硬件装置20正常运作。
[0026]本发明又一实施例中,扩充测试模块131可以复制客户端驱动程序151所发送的测试指令1510,且重复传送测试指令1510至真实硬件装置20,使得真实硬件装置20重复处理这些测试指令1510,来验证真实硬件装置20的可靠度。
[0027]另,本发明又一实施例中,计算机系统100可以对于真实硬件装置20执行除错的测试流程。扩充测试模块131可以在客户端驱动程序151所发出的测试指令1510之中加入一额外指令1511,此额外指令1511可以为一错误指令或一不符合传输协议规范的指令;或者,扩充测试模块131设定一延迟时间,扩充测试模块131根据延迟时间以延迟每一测试指令1510传送至真实硬件装置20的时间。若真实硬件装置20接收到测试指令1510时,可以正确判断出此测试指令1510包含有错误指令、不符合传输协议规范的指令或存在有指令传送延迟的情况,将产生一标示有韧体错误的响应消息2000,并经由扩充测试模块131传送此标示有韧体错误的响应消息2000至客户端驱动程序151。客户端驱动程序151经由检测此标示有韧体错误的响应消息2000即可得知真实硬件装置20能够对于错误的测试指令1510执行正确的处理。反之,若真实硬件装置20接收到测试指令1510时,无法判断出此测试指令1510包含有错误指令、不符合传输协议规范的指令或存在有指令
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1