测试系统、方法和装置的制造方法

文档序号:9750617阅读:486来源:国知局
测试系统、方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别是一种测试系统、方法和装置。
【背景技术】
[0002] USB (Universal Serial Bus,通用串行总线)是连接计算机系统与外部设备的一 个串口总线标准,也是一种输入输出接口的技术规范,被广泛应用于个人电脑和移动设备 等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。目前, 常见的USB设备包括U盘(全称USB闪存驱动器)、摄像头、键盘、鼠标、打印机、扫描仪等。 很多软件的功能涉及到与USB设备交互,因此此类软件的测试环节中,测试人员需要在实 体机上插入USB设备进行测试。
[0003] 相关技术中,USB设备测试主要依靠测试人员在实体机上手工进行测试。为了模拟 USB设备初始连接系统、以及从系统断开等场景,测试过程需要经常手工插拔设备。由于人 工能够同时操作的实体机数量以及单台实体机上能操作的USB设备的数量限制,导致手工 测试效率非常低。针对该问题,已有的半自动化测试方案是将USB设备的插拔过程工具化, 测试人员可以使用实体机上的工具操作USB设备,在一定程度上提高了测试效率。然而,这 种半自动化测试方案仍然不能解决大量USB设备测试的问题,测试效率提升幅度小。
[0004] 因此,在大量设备测试的需求下,如何提高测试效率成为目前亟待解决的技术问 题。

【发明内容】

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的测试系统、方法和相应的装置。
[0006] 依据本发明的第一个方面,提供了一种测试系统,包括中央控制器,至少一台实体 机,以及同所述实体机的连接器接口物理连接的多个被测试设备,其中,
[0007] 所述至少一台实体机,每台实体机上设置有至少一个能够对被测试设备进行测试 的虚拟机;
[0008] 所述中央控制器,适于接收测试任务,向一个或多个虚拟机各自所在的实体机下 发测试命令;
[0009] 所述至少一台实体机,适于接收所述测试命令,启动实体机上对应的虚拟机,由启 动的各虚拟机识别被测试设备,以执行所述测试任务。
[0010] 所述中央控制器,接收测试任务,根据预先存储的测试任务与虚拟机的对应关系, 查询能够执行所述测试任务的一个或多个虚拟机;
[0011] 所述中央控制器下发的所述测试命令中携带有对应的实体机上能够执行所述测 试任务的虚拟机的信息;
[0012] 所述至少一台实体机,根据所述测试命令中携带的虚拟机的信息启动实体机上对 应的虚拟机。
[0013] 可选地,由启动的各虚拟机执行所述测试任务之前,启动的各虚拟机,检查其是否 识别被测试设备,若是,则在虚拟机中执行所述测试任务;若否,则在虚拟机中生成表示虚 拟机未识别被测试设备的日志文件,以在所述实体机扫描到所述日志文件时,由所述实体 机关闭虚拟机,并先禁用再启用被测试设备,进而重新启动虚拟机执行所述测试任务。
[0014] 可选地,所述各虚拟机,创建与被测试设备建立初始连接的虚拟机快照,并保存; 所述虚拟机通过回滚到所述虚拟机快照,进而遍历其上所有设备的设备标识,通将对被测 试设备的识别结果同所述虚拟机快照比对,判断虚拟机是否识别被测试设备。
[0015] 可选地,所述设备标识包括下列至少之一:
[0016] 设备类型;
[0017] 设备接口标准协议分配给各个设备厂商的标识;
[0018] 设备厂商分配给各个设备的标识;
[0019] 设备接口的标识。
[0020] 可选地,由启动的各虚拟机执行所述测试任务之后,所述至少一台实体机,检查被 测试设备是否已从虚拟机中释放;若否,则先禁用再启用被测试设备,以便下次在虚拟机中 对被测试设备进行测试操作。
[0021] 可选地,所述至少一台实体机,检查被测试设备在虚拟机的设备管理器中的设备 名称;若检查到的所述设备名称与被测试设备从虚拟机中释放后的设备名称不相同,则确 定被测试设备未从虚拟机中释放;若检查到的所述设备名称与被测试设备从虚拟机中释放 后的设备名称相同,则确定被测试设备已从虚拟机中释放。
[0022] 可选地,所述实体机先禁用再启用被测试设备,包括:所述实体机遍历其上所有的 设备句柄,发现设备句柄的设备实例路径等于被测试设备的设备标识时,将被测试设备的 连接状态先置为断开disable,然后置为连接enable,实现对被测试设备的插拔操作。
[0023] 可选地,在所述多个被测试设备同所述实体机的连接器接口物理连接、且分别与 所述实体机上设置的虚拟机建立初始连接时,
[0024] 所述至少一台实体机,根据被测试设备的类型,为各虚拟机配置能够执行的测试 任务;
[0025] 所述各虚拟机,将其自身的信息、被配置的能够执行的测试任务以及所在的实体 机的信息发送至所述中央控制器,由所述中央控制器对应存储;
[0026] 所述中央控制器,还适于接收所述各虚拟机发送的其自身的信息、被配置的能够 执行的测试任务以及所在的实体机的信息,并对应存储。
[0027] 依据本发明的第二个方面,提供了一种测试方法,应用于至少一台实体机,每台实 体机上设置有至少一个能够对被测试设备进行测试的虚拟机,多个被测试设备同所述实体 机的连接器接口物理连接,包括 :
[0028] 接收测试命令,所述测试命令由中央控制器根据测试任务下发的;
[0029] 启动实体机上对应的虚拟机,由启动的各虚拟机识别被测试设备,以执行所述测 试任务。
[0030] 可选地,所述测试命令中携带有对应的实体机上能够执行所述测试任务的虚拟机 的信息,所述启动实体机上对应的虚拟机,包括:
[0031] 根据所述测试命令中携带的虚拟机的信息启动实体机上对应的虚拟机。
[0032] 可选地,由启动的各虚拟机执行所述测试任务之前,还包括:
[0033] 由启动的各虚拟机检查其是否识别被测试设备;
[0034] 若是,则在虚拟机中执行所述测试任务;
[0035] 若否,则在虚拟机中生成表示虚拟机未识别被测试设备的日志文件,以在所述实 体机扫描到所述日志文件时,由所述实体机关闭虚拟机,并先禁用再启用被测试设备,进而 重新启动虚拟机执行所述测试任务。
[0036] 可选地,由启动的各虚拟机检查其是否识别被测试设备,包括:
[0037] 所述各虚拟机创建与被测试设备建立初始连接的虚拟机快照,并保存;
[0038] 由启动的各虚拟机通过回滚到所述虚拟机快照,进而遍历其上所有设备的设备标 识,通将对被测试设备的识别结果同所述虚拟机快照比对,判断虚拟机是否识别被测试设 备。
[0039] 可选地,所述设备标识包括下列至少之一:
[0040] 设备类型;
[0041] 设备接口标准协议分配给各个设备厂商的标识;
[0042] 设备厂商分配给各个设备的标识;
[0043] 设备接口的标识。
[0044] 可选地,由启动的各虚拟机执行所述测试任务之后,还包括:
[0045] 检查被测试设备是否已从虚拟机中释放;
[0046] 若否,则先禁用再启用被测试设备,以便下次在虚拟机中对被测试设备进行测试 操作。
[0047] 可选地,检查被测试设备是否已从虚拟机中释放,包括:
[0048] 检查被测试设备在虚拟机的设备管理器中的设备名称;
[0049] 若检查到的所述设备名称与被测试设备从虚拟机中释放后的设备名称不相同,则 确定被测试设备未从虚拟机中释放;
[0050] 若检查到的所述设备名称与被测试设备从虚拟机中释放后的设备名称相同,则确 定被测试设备已从虚拟机中释放。
[0051] 可选地,所述实体机先禁用再启用被测试设备,包括:所述实体机遍历其上所有的 设备句柄,发现设备句柄的设备实例路径等于被测试设备的设备标识时,将被测试设备的 连接状态先置为断开disable,然后置为连接enable,实现对被测试设备的插拔操作。
[0052] 可选地,在所述多个被测试设备同所述实体机的连接器接口物理连接、且分别与 所述实体机上设置的虚拟机建立初始连接时,还包括:
[0053] 根据被测试设备的类型,为各虚拟机配置能够执行的测试任务,由各虚拟机将其 自身的信息、被配置的能够执行的测试任务以及所在的实体机的信息发送至所述中央控制 器。
[0054] 依据本发明的第三个方面,提供了一种测试装置,应用于至少一台实体机,每台实 体机上设置有至少一个能够对被测试设备进行测试的虚拟机,多个被测试设备同所述实体 机的连接器接口物理连接,包括 :
[0055] 接收模块,适于接收测试命令,所述测试命令由中央控制器根据测试任务下发 的;
[0056] 测试模块,适于启动实体机上对应的虚拟机,由启动的各虚拟机识别被测试设备, 以执行所述测试任务。
[0057] 可选地,所述测试命令中携带有对应的实体机上能够执行测试任务的虚拟机的信 息,所述测试模块,还适于:
[0058] 根据所述测试命令中携带的虚拟机的信息启动实体机上对应的虚拟机。
[0059] 可选地,由启动的各虚拟机执行所述测试任务之前,所述测试模块,还适于:
[0060] 由启动的各虚拟机检查其是否识别被测试设备;
[0061] 若是,则在虚拟机中执行所述测试任务;
[0062] 若否,则在虚拟机中生成表示虚拟机未识别被测试设备的日志文件,以在所述实 体机扫描到所述日志文件时,由所述实体机关闭虚拟机,并先禁用再启用被测试设备,进而 重新启动虚拟机执行所述测试任务。
[0063] 可选地,所述装置还包括:
[0064] 创建模块,适于所述各虚拟机创建与被测试设备建立初始连接的虚拟机快照,并 保存;
[0065] 所述测试模块,还适于由启动的各虚拟机通过回滚到所述虚拟机快照,进而遍历 其上所有设备的设备标识,通将对被测试设备的识别结果同所述虚拟机快照比对,判断虚 拟机是否识别被测试设备。
[0066] 可选地,所述设备标识包括下列至少之一:
[0067] 设备类型;
[0068] 设备接口标准协议分配给各个设备厂商的标识;
[0069] 设备厂商分配给各个设备的标识;
[0070] 设备接口的标识。
[0071] 可选地,由启动的各虚拟机执行所述测试任务之后,所述测试模块,还适于:
[0072] 检查被测试设备是否已从虚拟机中释放;
[0073] 若否,则先禁用再启用被测试设备,以便下次在虚拟机中对被测试设备进行测试 操作。
[0074] 可选地,所述测试模块,还适于:
[0075] 检查被测试设备在虚拟机的设备管理器中的设备名称;
[0076] 若检查到的所述设备名称与被测试设备从虚拟机中释放后的设备名称不相同,则 确定被测试设备未从虚拟机中释放;
[0077] 若检查到的所述设备名称与被测试设备从虚拟机中释放后的设备名称
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1