CN117238357A - 一种存储设备自动测试方法、装置、设备及介质 - Google Patents
一种存储设备自动测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117238357A CN117238357A CN202311269967.5A CN202311269967A CN117238357A CN 117238357 A CN117238357 A CN 117238357A CN 202311269967 A CN202311269967 A CN 202311269967A CN 117238357 A CN117238357 A CN 117238357A
- Authority
- CN
- China
- Prior art keywords
- test
- scene
- injection
- determining
- execution result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 460
- 238000002347 injection Methods 0.000 claims abstract description 293
- 239000007924 injection Substances 0.000 claims abstract description 293
- 230000006870 function Effects 0.000 claims abstract description 72
- 238000001514 detection method Methods 0.000 claims abstract description 41
- 238000010998 test method Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 16
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种存储设备自动测试方法、装置、设备及介质,涉及存储技术领域,包括判断虚拟产品开发信息是否符合预设测试条件;若符合,确定与测试字段对应的场景注入数据,确定场景注入数据文件和注入查询指令文件,判断测试期望查询结果与场景注入数据文件是否一致;若一致,执行场景注入检测指令,得到执行结果,确定目标执行结果,判断目标执行结果与测试期望值是否一致;若一致,进行设备状态复原操作,得到当前目标执行结果,判断当前目标执行结果与测试期望值是否一致,若不一致,则结束存储设备自动测试。本申请能实现对多种场景下的功能进行全面高效测试,降低存储设备自动测试复杂性,提高储设备自动测试工作效率,节约人力资源。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储设备自动测试方法、装置、设备及介质。
背景技术
存储设备的正常运行与工作需要对设备的各个状态性能及场景进行实时监控并在特定场景或出现问题时能够及时对设备状态进行告警等处理,设备电源状态异常时应不允许设备进行CCU(Central Control Unit,中央控制单元)升级并进行相应的告警等,在产品交付及测试工作过程中也可能会遇到硬件设备方面的条件限制的问题,如:测试设备缺少PSU(Power Supply Unit,电脑电源供应单元)、BBU(Building Base band Unit,内基带处理单元)等FRU(Field Replaceable Unit,现场可更换单元)阻塞测试工作的进行;当前测试设备的类型不满足测试条件时,对多种场景下的功能进行全面并高效的测试较为困难,且当前测试的方法大多需要根据测试功能和对象的不同通过硬件设备模拟各种设备的故障场景,过程繁琐,操作复杂,且在测试结束后恢复测试设备的正常状态较为困难。
由上可见,如何实现对多种场景下的功能进行全面高效的测试,降低存储设备自动测试的复杂性,提高储设备自动测试的工作效率,节约人力资源是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种存储设备自动测试方法、装置、设备及介质,能够实现对多种场景下的功能进行全面高效的测试,降低存储设备自动测试的复杂性,提高储设备自动测试的工作效率,节约人力资源。其具体方案如下:
第一方面,本申请公开了一种存储设备自动测试方法,应用于预设自动测试装置,包括:
获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;
若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;
若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;
若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
可选的,所述从本地的配置文件中确定与所述测试字段对应的场景注入数据,包括:
基于场景注入值确定函数和场景注入位置函数构建场景注入函数;
调用所述场景注入函数,利用所述场景注入函数中的所述场景注入值确定函数和所述场景注入位置函数从本地的所述配置文件中确定与所述测试字段对应的所述场景注入数据;所述场景注入数据包括:场景注入的现场可更换单元数量、现场可更换单元类型、测试字段注入值、注入数据偏移值、注入数据长度、基板管理控制器查询指令以及测试字段查询指令。
可选的,所述基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,包括:
基于所述场景注入数据中的所述现场可更换单元类型、所述测试字段注入值、所述注入数据偏移值以及所述注入数据长度确定场景注入数据文件;
基于所述场景注入数据中的所述现场可更换单元数量、所述现场可更换单元类型以及所述基板管理控制器查询指令确定所述注入查询指令文件;
相应的,所述基于所述配置文件确定场景注入检测指令,包括:
利用所述配置文件中的所述测试字段查询指令、当前需要查询控制器以及现场可更换单元信息确定场景注入检测指令。
可选的,所述判断所述虚拟产品开发信息是否符合预设测试条件之后,还包括:
若所述虚拟产品开发信息不符合所述预设测试条件,则确定与所述待测试存储设备对应的不符合测试信息;
判断本地的预设场景测试信息中是否存在与所述不符合测试信息对应的目标预设场景测试信息,若存在,则调用所述目标预设场景测试信息,并跳转至所述设置测试期望值和测试字段的步骤,以实现对存储设备的自动测试。
可选的,所述若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,包括:
若所述虚拟产品开发信息符合所述预设测试条件,则确定所述待测试存储设备对应的平台类型、待测试存储设备信息以及测试功能;
基于所述待测试存储设备信息设置所述测试期望值,基于所述测试功能设置测试字段,然后根据所述平台类型、所述测试期望值以及所述测试字段从本地的配置文件中确定与所述测试字段对应的所述场景注入数据。
可选的,所述判断所述测试期望查询结果与所述场景注入数据文件是否一致之后,还包括:
若所述测试期望查询结果与所述场景注入数据文件不一致,则生成并发送用于表征场景注入数据文件的注入失败结果至客户端;
相应的,所述判断所述目标执行结果与所述测试期望值是否一致之后,还包括:
若所述目标执行结果与所述测试期望值不一致,则判定当前测试环境构建失败,且所述目标执行结果异常,然后生成并发送用于表征检查或修复的结果至所述客户端;
所述判断所述当前目标执行结果与所述测试期望值是否一致之后,还包括:
若所述当前目标执行结果与所述测试期望值不一致,则判定所述设备状态复原操作失败,生成并发送用于表征设备状态复原失败的报错信息至所述客户端。
可选的,所述对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,包括:
执行设备状态复原操作,并将所述待测试存储设备中的所述场景注入文件进行删除,然后再次执行所述场景注入检测指令,以得到所述当前目标执行结果。
第二方面,本申请公开了一种存储设备自动测试装置,应用于预设自动测试装置,包括:
判断模块,用于获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;
数据确定模块,用于当所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;
指令执行模块,用于若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;
测试结束模块,用于若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的存储设备自动测试方法。
第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的存储设备自动测试方法的步骤。
可见,本申请提供了一种存储设备自动测试方法,包括获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。本申请通过对设备实现场景注入,构建各种测试场景,从而达到对存储设备在特定场景下进行测试的目的,降低存储设备自动测试的复杂性,本申请应用于预设自动测试装置,在面对不同的测试对象及测试任务时无需模拟各种特殊的故障场景,对存储设备的所有功能都能够统一地进行测试,并且对测试工作中的硬件环境要求较低,有效缓解测试工作中的硬件设备的需求压力,测试结束后恢复设备状态的流程复杂性低,解决了测试场景繁多、测试程序影响设备状态等问题,提高储设备自动测试的工作效率,节约人力资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种存储设备自动测试方法流程图;
图2为本申请公开的一种预设自动测试装置结构图;
图3为本申请公开的一种存储设备自动测试方法流程图;
图4为本申请公开的一种存储设备自动测试方法的具体流程图;
图5为本申请公开的一种存储设备自动测试装置结构示意图;
图6为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
存储设备的正常运行与工作需要对设备的各个状态性能及场景进行实时监控并在特定场景或出现问题时能够及时对设备状态进行告警等处理,设备电源状态异常时应不允许设备进行CCU升级并进行相应的告警等,在产品交付及测试工作过程中也可能会遇到硬件设备方面的条件限制的问题,如:测试设备缺少PSU、BBU等FRU阻塞测试工作的进行;当前测试设备的类型不满足测试条件时,对多种场景下的功能进行全面并高效的测试较为困难,且当前测试的方法大多需要根据测试功能和对象的不同通过硬件设备模拟各种设备的故障场景,过程繁琐,操作复杂,且在测试结束后恢复测试设备的正常状态较为困难。由上可见,如何实现对多种场景下的功能进行全面高效的测试,降低存储设备自动测试的复杂性,提高储设备自动测试的工作效率,节约人力资源是本领域有待解决的问题。
参见图1所示,本发明实施例公开了一种存储设备自动测试方法,应用于预设自动测试装置,具体可以包括:
步骤S11:获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件。
本实施例中,首先遍历包含各存储设备IDE设备机箱,通过读取机箱的VPD(Virtual Product Development,虚拟产品开发)信息判断待测试存储设备的是否符合预设测试条件。
步骤S12:若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致。
本实施例中,若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,然后基于场景注入值确定函数和场景注入位置函数构建场景注入函数,调用场景注入函数,利用所述场景注入函数中的所述场景注入值确定函数和所述场景注入位置函数从本地的所述配置文件中确定与所述测试字段对应的所述场景注入数据;所述场景注入数据包括:场景注入的现场可更换单元数量、现场可更换单元类型、测试字段注入值、注入数据偏移值、注入数据长度、基板管理控制器查询指令以及测试字段查询指令,基于所述场景注入数据中的所述现场可更换单元类型、所述测试字段注入值、所述注入数据偏移值以及所述注入数据长度确定场景注入数据文件,基于所述场景注入数据中的所述现场可更换单元数量、所述现场可更换单元类型以及所述基板管理控制器查询指令确定所述注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致。
具体的,若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,然后遍历待测试存储设备的两个控制器,遍历过程中依次调用场景注入函数,其中,所述场景注入函数是基于场景注入值确定函数和场景注入位置函数构建的,利用场景注入函数中的所述场景注入值确定函数和所述场景注入位置函数从本地的所述配置文件中确定与测试字段对应的场景注入数据,包括但不限于:场景注入的FRU数量、FRU类型、测试字段的注入值、注入数据的偏移值、注入数据的长度、BMC(Baseboard ManagementController,基板管理控制器)查询指令、测试字段的查询指令等。然后根据FRU类型、测试字段注入值、注入数据偏移值和注入数据长度拼接出需要写入测试设备的场景注入数据文件,根据FRU数量、FRU类型和BMC查询指令拼接出需要写入测试设备的注入查询指令文件,在执行场景注入函数中将场景注入数据文件和注入查询指令文件写入两个控制器的特定目录下。在将场景注入数据文件和注入查询指令文件写入设备后,执行相应的BMC查询指令,待测试存储设备发送的测试期望查询结果,将测试期望查询结果与场景注入数据文件进行对比,若一致,则说明文件写入成功,否则便认为在刚才的注入过程中存在问题,返回场景注入失败的结果。
步骤S13:若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致。
本实施例中,若所述测试期望查询结果与所述场景注入数据文件一致,则利用所述配置文件中的所述测试字段查询指令、当前需要查询控制器以及现场可更换单元信息确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致。
步骤S14:若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
本实施例中,若所述目标执行结果与所述测试期望值一致,则执行设备状态复原操作,并将所述待测试存储设备中的所述场景注入文件进行删除,然后再次执行所述场景注入检测指令,以得到所述当前目标执行结果。
具体的,根据从配置文件中获取的测试字段查询指令和当前需要查询控制器、FRU等信息拼接出场景注入检测指令,执行该指令,以得到执行结果,根据测试字段在执行结果中查找场景注入后测试字段对应的目标执行结果,将该目标执行结果与测试期望值进行对比,若不一致,则认为本次测试环境构建失败且相应的查询功能的测试结果为异常,需要对该功能进行检查或修复,若一致,则认为场景注入成功,本次测试环境构建结果为正常,然后对所述待测试存储设备进行设备状态复原操作:首先会删除待测试存储设备中的场景注入文件,然后执行场景注入检测指令,以得到当前目标执行结果,判断当前目标执行结果与测试期望值是否一致,如果该结果与测试期望值依然一致,则认为设备仍处于场景注入的状态,设备状态没有恢复,程序报错,提示设备状态恢复失败。
本申请应用于预设自动测试装置,所述预设自动测试装置由测试平台判断、场景文件注入、场景注入检测、设备状态恢复四个模块组成,如图2所示,测试平台判断模块,用于通过读取机箱的VPD信息符合预设测试条件;场景文件注入模块,用于设置测试期望值和测试字段,从而确定场景注入数据,并将数据文件写入设备,使设备处于测试需要的场景状态下;场景注入检测模块,用于对设备在场景文件注入后运行相应的功能,对该功能的结果进行检查,根据检查结果判断场景文件的注入是否起到了预期的作用,从而判断设备是否准确的检测到了注入的场景并进行了相应的处理,从而达到测试的作用;设备状态恢复模块,用于在对设备及功能完成测试后将设备环境恢复至场景注入前的状态以保证之后的正常使用。
本实施例中,获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。本申请通过对设备实现场景注入,构建各种测试场景,从而达到对存储设备在特定场景下进行测试的目的,降低存储设备自动测试的复杂性,本申请应用于预设自动测试装置,在面对不同的测试对象及测试任务时无需模拟各种特殊的故障场景,对存储设备的所有功能都能够统一地进行测试,并且对测试工作中的硬件环境要求较低,有效缓解测试工作中的硬件设备的需求压力,测试结束后恢复设备状态的流程复杂性低,解决了测试场景繁多、测试程序影响设备状态等问题,提高储设备自动测试的工作效率,节约人力资源。
参见图3所示,本发明实施例公开了一种存储设备自动测试方法,应用于预设自动测试装置,具体可以包括:
步骤S21:获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件。
本实施例中,在判断所述虚拟产品开发信息是否符合预设测试条件之后,还包括:若所述虚拟产品开发信息不符合所述预设测试条件,则确定与所述待测试存储设备对应的不符合测试信息;判断本地的预设场景测试信息中是否存在与所述不符合测试信息对应的目标预设场景测试信息,若存在,则调用所述目标预设场景测试信息,并跳转至所述设置测试期望值和测试字段的步骤,以实现对存储设备的自动测试。具体的,测试平台判断模块遍历设备机箱,通过读取机箱的VPD信息判断当前设备是否为BMC平台、具体的类型等,从而判断当前设备是否支持该测试流程以及接下来场景文件注入的具体内容。
具体的,如果当前测试设备缺少某些硬件配置,如PSU、BBU、风扇等FRU时,可通过上述过程注入缺少的硬件配置在线的场景,从而满足测试条件。若当前测试设备的类型与测试工作所需的平台类型不一致时,可通过修改设备的配置文件,如设备中的xml(eXtensible Markup Language,可扩展标记语言格式)配置文件、VPD信息等,同时通过上述过程注入与所需设备的状态,从而实现对测试环境的模拟,可满足通过当前设备提供所有BMC平台存储设备的测试功能。
步骤S22:若所述虚拟产品开发信息符合所述预设测试条件,则确定所述待测试存储设备对应的平台类型、待测试存储设备信息以及测试功能,基于所述待测试存储设备信息设置所述测试期望值,基于所述测试功能设置测试字段,然后根据所述平台类型、所述测试期望值以及所述测试字段从本地的配置文件中确定与所述测试字段对应的所述场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致。
本实施例中,BMC平台存储设备的CPU(Central Processing Unit,中央处理器)通过BMC对各硬件设备的状态进行监测,场景文件注入模块的功能在于直接修改CPU的读取数据,从而控制CPU对于设备的监控结果,以实现测试过程中使设备处于各种不同的场景下对各功能进行测试的目的,程序在通过测试平台判断模块获知本测试方法支持当前平台,然后触发场景文件注入模块。
步骤S23:若所述测试期望查询结果与所述场景注入数据文件不一致,则生成并发送用于表征场景注入数据文件的注入失败结果至客户端;若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致。
步骤S24:若所述目标执行结果与所述测试期望值不一致,则判定当前测试环境构建失败,且所述目标执行结果异常,然后生成并发送用于表征检查或修复的结果至所述客户端;若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试;若所述当前目标执行结果与所述测试期望值不一致,则判定所述设备状态复原操作失败,生成并发送用于表征设备状态复原失败的报错信息至所述客户端。
本实施例中,在对设备进行了场景文件注入和场景注入检测后程序会触发设备状态恢复模块,在该模块中,程序首先会删除设备中的场景注入文件,然后执行场景注入检测指令,在指令的执行结果中查找测试字段的查询结果,如果该结果与场景注入的预期结果依然一致,则认为设备仍处于场景注入的状态,设备状态没有恢复,程序报错,提示设备状态恢复失败。某些功能的测试过程可能会破坏设备的集群状态或修改设备的VPD信息从而会影响到下一次的测试,该模块在删除注入文件后会检查集群状态与VPD信息,若设备的VPD发生了修改则将其恢复至注入前的值,若设备没有集群,则会重新建立集群。
本申请的预设自动测试装置中的模块工作流程如图4所示,测试平台判断模块:通过读取机箱的VPD信息判断该测试方法是否支持当前平台,并根据平台类型设置场景文件注入的具体内容;场景文件注入模块:根据平台类型,测试对象及测试功能选择场景注入数据,并将数据文件写入设备,使设备处于测试需要的场景状态下;场景注入检测模块:通过查询指令检测场景注入是否成功,并查看在注入场景下设备的功能及状态的查询结果与测试的预期值是否一致,确定测试是否通过;设备状态恢复模块:在对设备及功能完成测试后将设备环境恢复至场景注入前的状态以保证之后的正常使用。本申请通过自动化方式向存储设备注入多种测试场景,不需要根据测试功能测试对象的不同模拟各种复杂的测试场景,可简单高效地实现在各种场景下对各种功能的测试,并且可通过修改配置文件及场景注入内容模拟BMC平台的各种存储设备环境,以有限的硬件设备资源提供更多的测试条件,注入之后恢复设备环境较为简单。此外,OSES(Organic SCSI Enclosure service,“有机的”SCSI机箱管理服务程序)平台存储设备自动测试亦可采用此种方式。
本实施例中,获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。本申请通过对设备实现场景注入,构建各种测试场景,从而达到对存储设备在特定场景下进行测试的目的,降低存储设备自动测试的复杂性,本申请应用于预设自动测试装置,在面对不同的测试对象及测试任务时无需模拟各种特殊的故障场景,对存储设备的所有功能都能够统一地进行测试,并且对测试工作中的硬件环境要求较低,有效缓解测试工作中的硬件设备的需求压力,测试结束后恢复设备状态的流程复杂性低,解决了测试场景繁多、测试程序影响设备状态等问题,提高储设备自动测试的工作效率,节约人力资源。
参见图5所示,本发明实施例公开了一种存储设备自动测试装置,应用于预设自动测试装置,具体可以包括:
判断模块11,用于获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;
数据确定模块12,用于当所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;
指令执行模块13,用于若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;
测试结束模块14,用于若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
本实施例中,获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。本申请通过对设备实现场景注入,构建各种测试场景,从而达到对存储设备在特定场景下进行测试的目的,降低存储设备自动测试的复杂性,本申请应用于预设自动测试装置,在面对不同的测试对象及测试任务时无需模拟各种特殊的故障场景,对存储设备的所有功能都能够统一地进行测试,并且对测试工作中的硬件环境要求较低,有效缓解测试工作中的硬件设备的需求压力,测试结束后恢复设备状态的流程复杂性低,解决了测试场景繁多、测试程序影响设备状态等问题,提高储设备自动测试的工作效率,节约人力资源。
在一些具体实施例中,所述数据确定模块12,具体可以包括:
函数构建模块,用于基于场景注入值确定函数和场景注入位置函数构建场景注入函数;
数据确定模块,用于调用所述场景注入函数,利用所述场景注入函数中的所述场景注入值确定函数和所述场景注入位置函数从本地的所述配置文件中确定与所述测试字段对应的所述场景注入数据;所述场景注入数据包括:场景注入的现场可更换单元数量、现场可更换单元类型、测试字段注入值、注入数据偏移值、注入数据长度、基板管理控制器查询指令以及测试字段查询指令。
在一些具体实施例中,所述数据确定模块12,具体可以包括:
第一文件确定模块,用于基于所述场景注入数据中的所述现场可更换单元类型、所述测试字段注入值、所述注入数据偏移值以及所述注入数据长度确定场景注入数据文件;
第二文件确定模块,用于基于所述场景注入数据中的所述现场可更换单元数量、所述现场可更换单元类型以及所述基板管理控制器查询指令确定所述注入查询指令文件。
在一些具体实施例中,所述数据确定模块12,具体可以包括:
指令确定模块,用于利用所述配置文件中的所述测试字段查询指令、当前需要查询控制器以及现场可更换单元信息确定场景注入检测指令。
在一些具体实施例中,所述判断模块11,具体可以包括:
不符合测试信息确定模块,用于若所述虚拟产品开发信息不符合所述预设测试条件,则确定与所述待测试存储设备对应的不符合测试信息;
自动测试模块,用于判断本地的预设场景测试信息中是否存在与所述不符合测试信息对应的目标预设场景测试信息,若存在,则调用所述目标预设场景测试信息,并跳转至所述设置测试期望值和测试字段的步骤,以实现对存储设备的自动测试。
在一些具体实施例中,所述数据确定模块12,具体可以包括:
类型、信息及功能确定模块,用于若所述虚拟产品开发信息符合所述预设测试条件,则确定所述待测试存储设备对应的平台类型、待测试存储设备信息以及测试功能;
场景注入数据确定模块,用于基于所述待测试存储设备信息设置所述测试期望值,基于所述测试功能设置测试字段,然后根据所述平台类型、所述测试期望值以及所述测试字段从本地的配置文件中确定与所述测试字段对应的所述场景注入数据。
在一些具体实施例中,所述数据确定模块12,具体可以包括:
注入失败结果发送模块,用于若所述测试期望查询结果与所述场景注入数据文件不一致,则生成并发送用于表征场景注入数据文件的注入失败结果至客户端。
在一些具体实施例中,所述指令执行模块13,具体可以包括:
结果发送模块,用于若所述目标执行结果与所述测试期望值不一致,则判定当前测试环境构建失败,且所述目标执行结果异常,然后生成并发送用于表征检查或修复的结果至所述客户端。
在一些具体实施例中,所述指令执行模块13,具体可以包括:
报错信息发送模块,用于若所述当前目标执行结果与所述测试期望值不一致,则判定所述设备状态复原操作失败,生成并发送用于表征设备状态复原失败的报错信息至所述客户端。
在一些具体实施例中,所述测试结束模块14,具体可以包括:
当前目标执行结果确定模块,用于执行设备状态复原操作,并将所述待测试存储设备中的所述场景注入文件进行删除,然后再次执行所述场景注入检测指令,以得到所述当前目标执行结果。
图6为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的存储设备自动测试方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的存储设备自动测试方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括存储设备自动测试设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的存储设备自动测试方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储设备自动测试方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种存储设备自动测试方法,其特征在于,应用于预设自动测试装置,包括:
获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;
若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;
若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;
若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
2.根据权利要求1所述的存储设备自动测试方法,其特征在于,所述从本地的配置文件中确定与所述测试字段对应的场景注入数据,包括:
基于场景注入值确定函数和场景注入位置函数构建场景注入函数;
调用所述场景注入函数,利用所述场景注入函数中的所述场景注入值确定函数和所述场景注入位置函数从本地的所述配置文件中确定与所述测试字段对应的所述场景注入数据;所述场景注入数据包括:场景注入的现场可更换单元数量、现场可更换单元类型、测试字段注入值、注入数据偏移值、注入数据长度、基板管理控制器查询指令以及测试字段查询指令。
3.根据权利要求2所述的存储设备自动测试方法,其特征在于,所述基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,包括:
基于所述场景注入数据中的所述现场可更换单元类型、所述测试字段注入值、所述注入数据偏移值以及所述注入数据长度确定场景注入数据文件;
基于所述场景注入数据中的所述现场可更换单元数量、所述现场可更换单元类型以及所述基板管理控制器查询指令确定所述注入查询指令文件;
相应的,所述基于所述配置文件确定场景注入检测指令,包括:
利用所述配置文件中的所述测试字段查询指令、当前需要查询控制器以及现场可更换单元信息确定场景注入检测指令。
4.根据权利要求1所述的存储设备自动测试方法,其特征在于,所述判断所述虚拟产品开发信息是否符合预设测试条件之后,还包括:
若所述虚拟产品开发信息不符合所述预设测试条件,则确定与所述待测试存储设备对应的不符合测试信息;
判断本地的预设场景测试信息中是否存在与所述不符合测试信息对应的目标预设场景测试信息,若存在,则调用所述目标预设场景测试信息,并跳转至所述设置测试期望值和测试字段的步骤,以实现对存储设备的自动测试。
5.根据权利要求1所述的存储设备自动测试方法,其特征在于,所述若所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,包括:
若所述虚拟产品开发信息符合所述预设测试条件,则确定所述待测试存储设备对应的平台类型、待测试存储设备信息以及测试功能;
基于所述待测试存储设备信息设置所述测试期望值,基于所述测试功能设置测试字段,然后根据所述平台类型、所述测试期望值以及所述测试字段从本地的配置文件中确定与所述测试字段对应的所述场景注入数据。
6.根据权利要求1所述的存储设备自动测试方法,其特征在于,所述判断所述测试期望查询结果与所述场景注入数据文件是否一致之后,还包括:
若所述测试期望查询结果与所述场景注入数据文件不一致,则生成并发送用于表征场景注入数据文件的注入失败结果至客户端;
相应的,所述判断所述目标执行结果与所述测试期望值是否一致之后,还包括:
若所述目标执行结果与所述测试期望值不一致,则判定当前测试环境构建失败,且所述目标执行结果异常,然后生成并发送用于表征检查或修复的结果至所述客户端;
所述判断所述当前目标执行结果与所述测试期望值是否一致之后,还包括:
若所述当前目标执行结果与所述测试期望值不一致,则判定所述设备状态复原操作失败,生成并发送用于表征设备状态复原失败的报错信息至所述客户端。
7.根据权利要求1至6任一项所述的存储设备自动测试方法,其特征在于,所述对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,包括:
执行设备状态复原操作,并将所述待测试存储设备中的所述场景注入文件进行删除,然后再次执行所述场景注入检测指令,以得到所述当前目标执行结果。
8.一种存储设备自动测试装置,其特征在于,应用于预设自动测试装置,包括:
判断模块,用于获取待测试存储设备的虚拟产品开发信息,判断所述虚拟产品开发信息是否符合预设测试条件;
数据确定模块,用于当所述虚拟产品开发信息符合所述预设测试条件,则设置测试期望值和测试字段,从本地的配置文件中确定与所述测试字段对应的场景注入数据,基于所述场景注入数据确定场景注入数据文件和注入查询指令文件,以便所述待测试存储设备执行所述注入查询指令文件中的基板管理控制器查询指令,获取所述待测试存储设备发送的测试期望查询结果,判断所述测试期望查询结果与所述场景注入数据文件是否一致;
指令执行模块,用于若所述测试期望查询结果与所述场景注入数据文件一致,则基于所述配置文件确定场景注入检测指令,执行所述场景注入检测指令,以得到执行结果,从所述执行结果中确定与所述测试字段对应的目标执行结果,判断所述目标执行结果与所述测试期望值是否一致;
测试结束模块,用于若所述目标执行结果与所述测试期望值一致,则对所述待测试存储设备进行设备状态复原操作,以得到当前目标执行结果,判断所述当前目标执行结果与所述测试期望值是否一致,若不一致,则结束存储设备自动测试。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的存储设备自动测试方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的存储设备自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311269967.5A CN117238357A (zh) | 2023-09-28 | 2023-09-28 | 一种存储设备自动测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311269967.5A CN117238357A (zh) | 2023-09-28 | 2023-09-28 | 一种存储设备自动测试方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117238357A true CN117238357A (zh) | 2023-12-15 |
Family
ID=89085885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311269967.5A Pending CN117238357A (zh) | 2023-09-28 | 2023-09-28 | 一种存储设备自动测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117238357A (zh) |
-
2023
- 2023-09-28 CN CN202311269967.5A patent/CN117238357A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3036633B1 (en) | Cloud deployment infrastructure validation engine | |
US9569325B2 (en) | Method and system for automated test and result comparison | |
CN106951345B (zh) | 一种虚拟机磁盘数据的一致性测试方法及装置 | |
CN108388489B (zh) | 一种服务器故障诊断方法、系统、设备及存储介质 | |
US7984332B2 (en) | Distributed system checker | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
CN113946499A (zh) | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 | |
CN111949551A (zh) | 应用程序测试方法、装置、设备及存储介质 | |
CN110673936A (zh) | 编排业务的断点续作方法、装置、存储介质及电子设备 | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN113626288B (zh) | 故障处理方法、系统、装置、存储介质和电子设备 | |
CN117238357A (zh) | 一种存储设备自动测试方法、装置、设备及介质 | |
CN115454860A (zh) | 一种自动化测试的方法、装置、存储介质及电子设备 | |
CN115373929A (zh) | 测试方法、装置、设备、可读存储介质及程序产品 | |
CN111400094A (zh) | 一种服务器系统恢复出厂设置的方法、装置、设备及介质 | |
CN113110955B (zh) | 一种系统盘修复方法、存储介质及设备 | |
CN105407112B (zh) | 一种设备能力的学习方法、装置和系统 | |
US8825610B1 (en) | System management based on goals relevant to a current state of a managed system | |
CN113568795A (zh) | 一种静态化服务测试方法、装置、设备及存储介质 | |
CN115221065A (zh) | 一种服务器固件程序纠错自检方法、系统 | |
CN115543672A (zh) | 一种错误数据定位方法、装置、设备及存储介质 | |
CN116991445A (zh) | 一种固件升级方法、装置、设备及可读存储介质 | |
CN115964236A (zh) | 一种故障检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |