植入仿真器的自动化测试系统及SSD硬盘测试方法技术方案

技术编号:35168517 阅读:17 留言:0更新日期:2022-10-12 17:32
本发明专利技术涉及一种植入仿真器的自动化测试系统及SSD硬盘测试方法,该系统包括部署在同一台测试主机上的客户端和服务端;客户端上部署有第一中间件,第一中间件用于在对SSD设备进行第二阶段的测试场景中接收测试管理系统发送来的第一测试用例,生成对应的测试指令,若需要调用的驱动程序为仿真驱动程序,则将测试指令发送给仿真驱动程序;仿真驱动程序将测试指令发送给仿真器;服务端上部署有仿真器和共享内存,仿真器通过软件模拟SSD设备,根据测试指令和共享内存中的测试数据对软件模拟的SSD设备进行测试,在测试完成后依次通过仿真驱动程序和第一中间件反馈至测试管理系统。本发明专利技术消除了软硬件调用不一致导致的天然“应用孤岛”现象。现象。现象。

【技术实现步骤摘要】
植入仿真器的自动化测试系统及SSD硬盘测试方法


[0001]本专利技术涉及SSD
,尤其是涉及一种植入仿真器的自动化测试系统及SSD硬盘测试方法。

技术介绍

[0002]在SSD产品开发的各个验证阶段,企业会针对自己的产品研发出对应的测试平台,特别是在EVT测试阶段和DVT测试阶段,主要对当前产品的主要设计和功能进行验证。成熟的SSD测试验证平台可以提早发现产品设计开发阶段的诸多问题和故障,同时对产品验证的加速性、可靠性也提出了更高的要求。由于SSD产品具有周期短、功能迭代快等特点,因此对测试的提升空间巨大。
[0003]目前现有的EVT测试适用于当前研发产品的FPGA,以此来模拟或替代产品的内嵌式单元、输入输出单元等,以达到功能调试的目的。但对于隐蔽性故障或特殊的硬件错误在短时间内无法复现或复现成本极高。为加快主控芯片固件设计研发周期的功能验证、提高固件代码质量、扫清固件代码隐藏故障,研发部门研发了一套搭载主控芯片固件的仿真器。SSD仿真器采用软件模拟SSD的主要外围硬件及寄存器的行为动作,SSD仿真器在搭载主控固件后可以仿真出一台SSD Device,从而可以模拟现有SSD产品的功能,接收并响应测试主机发送的指令。
[0004]现有DVT测试采用的是一套自动化测试系统,自动化测试系统主要是通过第三方系统对测试任务和缺陷进行自动化管理,由第三方系统向测试主机下发测试指令,通知测试主机执行对应的测试用例。测试主机是搭载着需要测试的SSD Device的测试服务器,SSD Device不仅限于直接连接测试主机。有时也会根据测试需求放入一些特定的测试环境(例如,高低温箱、风速盒等)中。因此测试需求繁多,一些硬件环境或测试环境变更麻烦且复杂,所以虽然现有的测试能够满足自动化测试基本需求,但投入成本高、维护性不佳、测试效率不高。
[0005]随着SSD仿真器建设的深入,用SSD仿真器替代SSD Device势必会提升当前的测试效率。将仿真器植入自动化测试系统,让SSD仿真器代理真实的SSD Device完成一些需求复杂、测试环境多样性的测试,所以加快测试平台的改善变得越来越迫切。
[0006]在测试主机中,测试用例无法直接操作SSD Device,需要一个中间件来协助脚本对SSD Device进行控制,该中间件可以称为SOHO中间件。SOHO中间件是一套使用C++开发的动态库文件,它支持NVMe协议,封装了多套NVMe协议下的标准指令和公司自主研发的NVMe自定义指令。当NVMe驱动即NVMeDrive注册PCIe总线后,SOHO中间件通过NVMe驱动将NVMe指令通过PCIe总线传输到SSD Device。SOHO中间件还支持测试主机的其他硬件或驱动控制,如电源管理、IO管理、总线驱动管理、温控等。整个测试主机装载着测试用例、SOHO中间件和SSD Device三部分,由测试用例协同SOHO中间件提供的接口对SSD Device进行读/写、控制或Dera自研指令进行下发,配合测试主机的第三方系统务达到自动化测试的目的。
[0007]现有SSD仿真器测试平台,简称Sim_Test平台,采用双进程方式,包含2个程序,一
个是Simulator设备端,采用软件模拟SSD主要外围硬件,搭载主控CPU固件后可模拟真实SSD盘的功能,另一个是模拟Host主机端程序TestPro。可见整个Sim_Test平台全部由软件实现,部署在测试服务器上后,使用Socket 代替PCIe接口传输NVMe协议标准格式的请求指令,由Simulator设备端模拟SSD Device, 模拟Host主机端程序来模拟测试主机端向设备端发送指令,Simulator设备端应答返回给主机,从而完成一次通信。
[0008]现有的自动化测试系统的缺陷主要集中在测试主机。由测试用例协同SOHO中间件提供的接口对SSD盘进行指令下发的这种常规测试操作虽然是产品测试阶段必须完成的,但也限制了自动化测试系统。试想在EVT测试初期,即在还没有真实产品的测试阶段,只针对真实盘测试的自动化测试系统是无法适配EVT测试的。即,在EVT阶段采用Sim_Test平台测试,在DVT阶段可以采用自动化测试系统测试。在EVT测试阶段和DVT测试阶段之间却没有办法进行测试,即测试阶段之间产生真空区域,无法被现有测试流程全覆盖。可见,EVT测试阶段使用Sim_Test平台对产品主控固件代码进行了初期设计验证,在DVT测试阶段对应的真实SSD Device进行测试,而在这之间没有其他测试衔接,自动化测试系统的作用被削弱和制约。

技术实现思路

[0009]为了解决上述技术问题或者至少部分地解决上述技术问题,本专利技术提供了一种植入仿真器的自动化测试系统及SSD硬盘测试方法。
[0010]第一方面,本专利技术实施例提供一种植入仿真器的自动化测试系统,所述系统包括部署在同一台测试主机上的客户端和服务端;其中:所述客户端上部署有第一中间件,所述第一中间件中封装有仿真驱动程序;所述第一中间件用于:在对SSD设备进行第二阶段的测试场景中,接收测试管理系统发送来的第一测试用例,根据所述第一测试用例生成对应的测试指令,确定需要调用的驱动程序,若需要调用的驱动程序为所述仿真驱动程序,则将所述测试指令发送给所述仿真驱动程序;所述仿真驱动程序用于将所述测试指令通过socket协议发送给仿真器;所述服务端上部署有所述仿真器和共享内存,所述仿真器用于:通过软件模拟SSD设备,在接收到所述测试指令后,根据所述测试指令和所述共享内存中的测试数据对软件模拟的SSD设备进行测试,并在测试完成后依次通过所述仿真驱动程序和所述第一中间件反馈至所述测试管理系统;其中,所述第二阶段位于第一阶段和第三阶段之间,所述第一阶段为对SSD设备进行设计之前进行测试的阶段,所述第三阶段为对SSD设备的设计完成之后进行测试的阶段。
[0011]第二方面,本专利技术实施例提供一种SSD硬盘测试方法,所述方法基于第一方面提供的自动化测试系统实现,在对SSD设备进行第二阶段的测试场景中,所述方法包括如下步骤:所述第一中间件接收测试管理系统发送来的第一测试用例,根据所述第一测试用例生成对应的测试指令,确定需要调用的驱动程序,若需要调用的驱动程序为所述仿真驱动程序,则将所述测试指令发送给所述仿真驱动程序;所述仿真驱动程序将所述测试指令通过socket协议发送给仿真器;所述仿真器在接收到所述测试指令后,根据所述测试指令和所述共享内存中的测
试数据对软件模拟的SSD设备进行测试,并在测试完成后依次通过所述仿真驱动程序和所述第一中间件反馈至所述测试管理系统。
[0012]本专利技术实施例提供的植入仿真器的自动化测试系统及SSD硬盘测试方法,在测试主机上,第一中间件中的仿真驱动程序将测试指令发送给仿真器使仿真器对模拟的SSD设备进行测试,测试完成后的测试结果也通过仿真驱动程序反馈给第一中间件,可见第一中间件和仿真器之间通过仿真驱动程序进行交互,而且仿真驱动程序通过socket协议与仿真器交互,仿真器通过软件模拟SS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种植入仿真器的自动化测试系统,其特征在于,所述系统包括部署在同一台测试主机上的客户端和服务端;其中:所述客户端上部署有第一中间件,所述第一中间件中封装有仿真驱动程序;所述第一中间件用于:在对SSD设备进行第二阶段的测试场景中,接收测试管理系统发送来的第一测试用例,根据所述第一测试用例生成对应的测试指令,确定需要调用的驱动程序,若需要调用的驱动程序为所述仿真驱动程序,则将所述测试指令发送给所述仿真驱动程序;所述仿真驱动程序用于将所述测试指令通过socket协议发送给仿真器;所述服务端上部署有所述仿真器和共享内存,所述仿真器用于:通过软件模拟SSD设备,在接收到所述测试指令后,根据所述测试指令和所述共享内存中的测试数据对软件模拟的SSD设备进行测试,并在测试完成后依次通过所述仿真驱动程序和所述第一中间件反馈至所述测试管理系统;其中,所述第二阶段位于第一阶段和第三阶段之间,所述第一阶段为对SSD设备进行设计之前进行测试的阶段,所述第三阶段为对SSD设备的设计完成之后进行测试的阶段。2.根据权利要求1所述的系统,其特征在于,所述客户端上还部署有仿真驱动测试程序,所述服务端上还部署有专家数据库;其中:所述仿真驱动测试程序用于:在对所述仿真驱动程序进行测试的场景中,接收所述测试管理系统发送来的第二测试用例,将所述第二测试用例提交给所述专家数据库,接收所述专家数据库反馈回来的测试业务代码段,将所述测试业务代码段提交给所述仿真驱动程序,以使所述仿真驱动程序执行所述测试业务代码段,实现对所述仿真驱动程序的测试;所述专家数据库用于:接收所述仿真驱动测试程序发送来的第二测试用例,根据所述第二测试用例确定适用于所述仿真驱动程序执行的测试业务代码段,并将所述测试业务代码段反馈至所述仿真驱动测试程序;其中,在对所述仿真驱动程序进行测试的场景中,所述仿真驱动程序设置在所述仿真驱动测试程序中,在对所述仿真驱动程序测试通过后,根据所述仿真驱动程序形成所述第一中间件。3.根据权利要求1所述的系统,其特征在于,所述服务端中还部署有仿真服务程序,所述仿真服务程序用于:管理第一共享数据,并将所述第一共享数据存储至所述共享内存中;所述第一共享数据用于在所述客户端和所述服务端为Windows系统的场景下进行测试所采用的测试数据,所述第一中间件为Windows系统下的第一中间件。4.根据权利要求1所述的系统,其特征在于,所述服务端中还部署有仿真服务程序,所述仿真服务程序用于:管理第二共享数据,并将所述第二共享数据存储至所述共享内存中;所述第二共享数据用于在所述客户端和所述服务端为不同的操作系统的场景下进行测试采用的测试数据;其中,所述客户端运行于WLS2系统上,WLS2系统中创建有Linux虚拟系统,所述服务端运行于Windows系统上;所述仿真服务程序能够使得所述Linux虚拟系统中的所述客户端和Windows系统中的服务端访问同一份第二共享数据,以实现跨操作系统的测试数据传输;所述Windows系统下的第一中间件被封装为所述Linux虚拟系统下的第一中间件进行跨平台使用。5.根据权利要求1所述的系统,其特征在于,所述第一中间件为将仿真驱动程序内嵌至
第二中间件中封装得到,所述第二中间件中包括NVMe驱动程序,所述NVMe驱动程序用于通过PCIe 总线与SSD设备连接。6.根据权利要求5所述的系统,其特征在于,所述第一中间件还用于:在对SSD设备进行第三阶段的测试场景中,接收所述测试管理系统发送来的第三测试用例,根...

【专利技术属性】
技术研发人员:余凯李娜周后理吴德全肖王健
申请(专利权)人:北京得瑞领新科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1