CN115981929A - 故障注入方法、测试用例下发方法及相关装置 - Google Patents
故障注入方法、测试用例下发方法及相关装置 Download PDFInfo
- Publication number
- CN115981929A CN115981929A CN202211446942.3A CN202211446942A CN115981929A CN 115981929 A CN115981929 A CN 115981929A CN 202211446942 A CN202211446942 A CN 202211446942A CN 115981929 A CN115981929 A CN 115981929A
- Authority
- CN
- China
- Prior art keywords
- fault
- test
- test case
- module
- case
- 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 312
- 238000002347 injection Methods 0.000 title claims abstract description 75
- 239000007924 injection Substances 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004088 simulation Methods 0.000 claims abstract description 66
- 238000001514 detection method Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 2
- 101100166829 Mus musculus Cenpk gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施方式公开了一种故障注入方法、测试用例下发方法及相关装置,其中,故障注入方法包括:获取测试用例,其中,测试用例用于指示故障模拟装置执行对应的故障;执行测试用例,以向被测试的硬件设备注入故障;接收错误码,其中,错误码是待测试硬件上的故障检测装置根据故障产生的测试信号生成的;当错误码与预设的结果匹配时,确定故障注入成功。采用本申请的方法,通过采用故障模拟装置实现故障的全自动注入,相比于传统硬件测试中的人工手动故障调试,测试效率更高的同时,极大的降低了人力成本。
Description
技术领域
本发明涉及故障测试技术领域,具体涉及一种故障注入方法、测试用例下发方法及相关装置。
背景技术
随着计算机技术的发展,计算系统对硬件的可靠性要求越来越高,随之而来的是在硬件可靠性测试中增加的测试要求越来越高。在硬件可靠性测试中,硬件故障注入是必不可少的测试项,传统的方法是手动在硬件上焊线去模拟注入硬件故障,继而实现硬件故障注入,系统再基于判断做电源告警,最终达到可靠性测试结果。
但是,传统测试的方法较为粗糙,需要重复焊线,工程繁琐,人力成本高,测试的效率低下。同时,硬件故障注入测试用例繁多,硬件的类型众多,对应的接口数量多,导致测试工作量巨大,传统的手动测试方法已无法满足日益需求庞大的硬件可靠性测试的需求。
发明内容
本申请实施方式提供了一种故障注入方法、测试用例下发方法及相关装置,可以提高测试效率的同时,极大的降低人力成本。
本发明的实施方式采用如下技术方案:
第一方面,本申请实施方式提供一种故障注入方法,该方法应用于故障模拟装置,故障模拟装置用于安装至待测试硬件上,该方法包括:
获取测试用例,其中,测试用例用于指示故障模拟装置执行对应的故障;
执行测试用例,以向被测试的硬件设备注入故障;
接收错误码,其中,错误码是待测试硬件上的故障检测装置根据测试信号生成的;
当错误码与预设的结果匹配时,确定故障注入成功。
可以看出,在本实施方式中,通过安装在待测试硬件上的故障模拟装置运行相应的测试用例,继而向被测试的硬件设备注入故障,并通过接收待测试硬件上的故障检测装置根据测试信号生成的错误码进行比对,实现故障的全自动注入和测试。同时,全程无需人力干涉,相比于传统硬件测试中的人工手动故障调试,测试效率更高的同时,极大的降低了人力成本。
在一种可能的实施方式中,在执行测试用例之前,方法还包括:
根据测试用例的标识,识别测试用例对应的注入故障类型;
根据注入故障类型在至少一个执行模块中确定测试用例对应的第一执行模块;
将测试用例发送至第一执行模块。
在一种可能的实施方式中,执行模块包括:
高速信号故障注入模块、低速信号故障注入模块和电源信号故障注入模块。
在一种可能的实施方式中,根据注入故障类型在至少一个执行模块中确定测试用例对应的第一执行模块,包括:
确定第二执行模块的任务数量,其中,第二执行模块为至少一个执行模块中故障类型与注入故障类型相同的执行模块,任务数量为第二执行模块中等待执行的测试用例的数量;
当任务数量大于阈值时,确定第三执行模块为第一执行模块,其中,第三执行模块为至少一个执行模块中除去第二执行模块剩下的执行模块中,任务数量小于阈值的任意一个执行模块;
当任务数量小于阈值时,确定第二执行模块为第一执行模块。
在一种可能的实施方式中,接收错误码,包括:
从测试终端接收错误码,其中,错误码是待测试硬件上的控制电路上报给测试终端的,错误码用于标识故障检测装置识别出的故障。
在一种可能的实施方式中,接收错误码,包括:
从待测试硬件接收错误码。
在一种可能的实施方式中,在确定故障注入成功之后,方法,还包括:
执行故障清除指令,以向待测试硬件注入清除故障的清除信号;
接收清除结果,其中,清除结果是硬件设备根据清除信号生成的;
当清除结果为无异常时,结束测试用例的故障注入测试。
第二方面,本申请实施方式提供一种测试用例下发方法,该方法应用于测试终端,测试终端与故障模拟装置通讯连接,该方法包括:
从故障模拟装置接收待测试硬件的型号信息;
获取型号信息对应的历史测试信息,其中,历史测试信息用于记录型号信息对应的硬件设备的历史测试记录;
根据型号信息对至少一个测试用例进行分组,得到必要测试用例组和非必要测试用例组,其中,至少一个测试用例存储在测试终端中;
根据历史测试信息在非必要测试用例组中确定至少一个第一测试用例;
将至少一个第一测试用例和必要测试用例组中的所有测试用例下发至故障模拟装置。
可以看出,在本实施方式中,通过待测试硬件的型号信息,获取型号信息对应的历史测试信息,继而根据该历史测试信息在至少一个测试用例自动确定出需要下发至故障模拟装置的测试用例,实现了测试用例的自动筛选和下发,在提升测试效率的同时,可以保证测试项目的全面性,并降低人力成本。
在一种可能的实施方式中,根据历史测试信息在非必要测试用例组中确定至少一个第一测试用例,包括:
获取历史测试信息中,测试次数大于或等于2次的测试用例的名称,得到至少一个第一测试名称;
根据至少一个第一测试名称,在非必要测试用例组中确定至少一个第一测试用例,其中,至少一个第一测试名称包括至少一个第一测试用例中任意一个第一测试用例的名称。
在一种可能的实施方式中,待测试硬件为硬盘背板。
第三方面,本申请实施方式提供一种故障模拟装置,包括:
用例输入模块,用于获取测试用例,其中,测试用例用于指示故障模拟装置执行对应的故障;
用例执行模块,用于执行测试用例,以向被测试的硬件设备注入故障;
用例输入模块,还用于接收错误码,其中,错误码是待测试硬件上的故障检测装置根据故障产生的测试信号生成的;
用例执行模块,还用于在错误码与预设的结果匹配时,确定故障注入成功。
在一种可能的实施方式中,故障模拟装置还包括:
用例处理模块,用于在用例执行模块执行测试用例之前,根据测试用例的标识,识别测试用例对应的注入故障类型,根据注入故障类型在用例执行模块中的至少一个执行模块中确定测试用例对应的第一执行模块,并将测试用例发送至第一执行模块。
在一种可能的实施方式中,执行模块包括:
高速信号故障注入模块、低速信号故障注入模块和电源信号故障注入模块。
在一种可能的实施方式中,用例输入模块包括:
WiFi模块、通用串行总线模块、串口模块和网口模块中的一个或多个。
在一种可能的实施方式中,用例处理模块还包括:
供电模块,用于为故障模拟装置提供电能;
固件芯片,用于存储软件版本信息,并在故障模拟装置启动时,初始化用例处理模块。
在一种可能的实施方式中,用例处理模块包括微控制单元处理器。
第四方面,本申请实施方式提供一种计算设备,包括:障模拟装置、测试终端、待测试硬件、处理器和存储器,故障模拟装置与测试终端和处理器通讯连接,故障模拟装置安装于待测试硬件上,处理器与存储器耦合,存储器用于存储计算机程序指令,当计算机程序指令被处理器执行时,使得计算设备执行如第一方面和/或第二方面的方法。
可见,第三方面和第四方面是第一方面和/或第二方面的方法对应的装置和设备,关于第三方面和第四方面中各步骤的说明,名词的解释、各种实现方式以及有益效果说明,前述有关的论述同样适用,可参见第一方面和/或第二方面中的相关内容,此处不再赘述。
第五方面,本申请实施方式提供一种计算机可读存储介质,计算机可读存储介质存储有用于设备执行的程序代码,该用于设备执行的程序代码使得计算机执行如第一方面和/或第二方面的方法。关于第五方面中涉及各步骤的说明,名词的解释、各种实现方式以及有益效果说明,前述有关的论述同样适用,可参见前述的相关内容,此处不再赘述。
第六方面,本申请实施方式提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机可操作来使计算机执行如第一方面和/或第二方面的方法中任意一项可能的实现方式。关于第六方面中涉及各步骤的说明,名词的解释、各种实现方式以及有益效果说明,前述有关的论述同样适用,可参见前述的相关内容,此处不再赘述。
附图说明
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式。
图1为本发明实施方式提供的一种故障模拟测试方法所适用的计算设备的系统架构图;
图2为本发明实施方式提供的一种故障模拟装置的结构示意图;
图3为本发明实施方式提供的一种故障注入方法的流程示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。
首先,参阅图1,图1为本申请实施方式提供的一种故障模拟测试方法所适用的计算设备的系统架构图,该计算设备可以包括故障模拟装置110、测试终端120、待测试硬件130、处理器140和存储器150。
具体而言,如图2所示,故障模拟装置110可以包括用例输入模块210、用例执行模块220和用例处理模块230。其中,用例输入模块210用于和测试终端120、待测试硬件130建立通讯连接,示例性的,用例输入模块210可以包括:WiFi模块211、通用串行总线(Universal Serial Bus,USB)模块212、串口模块213和网口模块214中的一个或多个,继而通过这些模块与测试终端120、待测试硬件130建立有线和/或无线的通讯连接。
在本实施方式中,用例执行模块220用于执行测试用例,以向待测试硬件130注入故障。具体而言,故障模拟装置110可以是安装在待测试硬件130上的,其安装方式根据待测试硬件130的不同也存在一定的区别,示例性的,当待测试硬件130为硬盘背板时,可以通过硬盘接口转接卡等设备将故障模拟装置110插入硬盘背板Slot中,实现故障模拟装置110和待测试硬件130间的安装。
在本实施方式中,用例执行模块220可以包括:高速信号故障注入模块221、低速信号故障注入模块222和电源信号故障注入模块223。其中,高速信号故障注入模块221用于执行高速信号故障测试的测试用例,以待测试硬件130为硬盘背板为示例,高速信号故障可以是例如时钟丢失、高速信号短路等故障,其对应的硬盘背板针脚为SAS/SATA、PCIE、100M_CLK等。低速信号故障注入模块222用于执行低速信号故障测试的测试用例,以待测试硬件130为硬盘背板为示例,低速信号故障可以是例如硬盘在位丢失、NVME盘时钟挂死、数据挂死等故障,其对应的硬盘背板针脚为I2C等。电源信号故障注入模块223用于执行电源信号故障测试的测试用例,以待测试硬件130为硬盘背板为示例,电源信号故障可以是例如电源短路、电源异常等故障,其对应的硬盘背板针脚为VCC_12V、VCC_5V、STBY_3V3等。
在本实施方式中,用例处理模块230可以包括微控制单元(MicrocontrollerUnit,MCU)处理器231,用于在用例执行模块220执行测试用例之前,根据测试用例的标识,识别测试用例对应的注入故障类型,根据注入故障类型在用例执行模块220中确定测试用例对应的执行模块,并将测试用例发送至该执行模块,使该执行模块执行该测试用例。示例性的,MCU处理器231可以将高速信号测试用例发送至高速信号故障注入模块221执行,将低速信号测试用例发送至低速信号故障注入模块222执行,以及将电源信号测试用例发送至电源信号故障注入模块223执行。
在本实施方式中,用例处理模块230还可以包括供电模块232和固件芯片233,其中,供电模块232用于为故障模拟装置110提供电能,固件芯片233用于存储软件版本信息,并在故障模拟装置110启动时,初始化用例处理模块230。
在本实施方式中,测试终端120用于存储预先编辑好的测试用例,以及向故障模拟装置110下发相应的测试用例。处理器140和存储器150耦合,存储器150用于存储计算机程序指令,并在计算机程序指令被处理器140执行时,使得计算设备执行本申请所提出的故障注入方法和/或测试用例下发方法。
以下,将对本申请提供的一种故障注入方法进行说明:
参阅图3,图3为本申请实施方式提供的一种故障注入方法的流程示意图,该方法可以用于图1中的计算设备,具体包括如下步骤:
301:故障模拟装置向测试终端发送待测试硬件的型号信息。
在本实施方式中,沿用上述待测试硬件为硬盘背板的示例,由于在测试时,故障模拟装置需要插入硬盘背板Solt,以与硬盘背板建立连接,并获取到电源进行上电并初始化。基于此,故障模拟装置110可以读取该硬盘背板的设备信息,从中获取型号信息,并通过用例输入模块210将该型号信息发送至测试终端120。
在可选的实时方式中,该型号信息也可以由测试人员输入测试终端120。
302:测试终端根据型号信息获取对应的历史测试信息。
在本实施方式中,该历史测试信息用于记录型号信息对应的硬件设备的历史测试记录。具体而言,可以根据该型号信息查询历史测试数据库,将历史测试信息中记录的型号信息与该型号信息相同的历史测试系信息提取出来。即,在历史数据库中找寻是否存在同型号的历史测试,若存在,则将其历史测试信息调出。
303:测试终端根据型号信息对至少一个测试用例进行分组,得到必要测试用例组和非必要测试用例组。
在本实施方式中,该至少一个测试用例可以由测试人员进行编写后预先存储在测试终端中,用于指示故障模拟装置执行对应的故障。具体而言,测试终端120在获取到型号信息后,可以根据该型号信息确定该硬件设备的设备类型,继而确定该类型的设备必须进行的测试项目。继而将这些必须进行的测试项目对应的测试用例筛选出来,作为必要测试用例组。而剩下的其他测试用例则归为非必要测试用例组。
同时,在本实施方式中,还可以根据信号信息查询该型号设备的开发文件,确定其开发目的。继而根据开发目的,确定出一些必要的测试项目。示例性的,型号信息A对应的设备其开发目的为提供一种高速信号更加稳定的硬件设备,则可以将与高速信号稳定性相关的测试项目也作为必要的测试项目,继而将高速信号稳定性相关的测试项目对应的测试用例划分至必要测试用例组。
304:测试终端根据历史测试信息在非必要测试用例组中确定至少一个第一测试用例。
在本实施方式中,可以获取历史测试信息中,测试次数大于或等于2次的测试用例的名称,得到至少一个第一测试名称。由此,可以根据至少一个第一测试名称,在非必要测试用例组中确定至少一个第一测试用例,其中,至少一个第一测试名称包括至少一个第一测试用例中任意一个第一测试用例的名称。
具体而言,可以在历史测试信息中,确定历史测试中测试了至少2次才通过,或者没有测试通过的测试用例。将这些测试用例与非必要测试用例组中的测试用例子进行比对,继而在非必要测试用例组中找出相同的测试用例作为第一测试用例再次进行测试。
305:测试终端将至少一个第一测试用例和必要测试用例组中的所有测试用例下发至故障模拟装置。
在本实施方式中,测试终端120可以通过故障模拟装置110中的用例输入模块210,将至少一个第一测试用例和必要测试用例组中的所有测试用例下发至故障模拟装置110。
在可选的实施方式中,测试终端120也可以根据测试人员预先设置的配置信息选取相应的测试用例进行下发,或者将所有测试用例进行下发,或者可以向测试人员展示测试用例列表,由测试人员实时选择相应的测试用例下发,或者由故障模拟装置110主动申请相应的测试用例进行下发,本申请对此不作限制。在故障模拟装置110主动申请相应的测试用例时,上述通过类型信息确定至少一个第一测试用例的方法也可以由故障模拟装置110执行。
306:故障模拟装置执行测试用例。
在本实施方式中,执行步骤306之前,还可以根据测试用例的标识,识别测试用例的注入故障类型。继而,根据注入故障类型在至少一个执行模块中确定测试用例对应的第一执行模块,将该测试用例发送至该第一执行模块进行执行。
示例性的,可以根据测试用例的测试项目为其赋予不同的标识。例如:对于电源故障用例,可以将其标识的前两位设置为“A0”,由此,电源故障用例的标识即为“A0xxx”;对于高速故障用例,可以将其标识的前两位设置为“B0”,由此,高速故障用例的标识即为“B0xxx”;对于低速故障用例,可以将其标识的前两位设置为“C0”,由此,低速故障用例的标识即为“C0xxx”;对于时钟故障用例,可以将其标识的前两位设置为“D0”,由此,时钟故障用例的标识即为“D0xxx”。
基于此,在本实施方式中,通过识别测试用例的标识的前两位,即可确定出测试用例对应的注入故障类型。同时,在本实施方式中,优先将故障类型与该注入故障类型相同的执行模块作为第一执行模块,继而将测试用例交由该第一执行模块进行执行,在提升测试效率的同时,还可以实现多种故障的并行测试。
此外,当某个类型的测试用例有多个时,还可以对这多个测试用例进行排序,继而按顺序依次执行这多个测试用例。具体而言,可以先确定每个测试用例的重要程度、测试时间等信息,同时获取本次测试的测试策略,继而根据重要程度、测试时间、以及测试策略确定出每个测试用例的优先级。最后按照优先级从大到小的顺序对这些测试用例进行排序。当然,也可以按照每个测试用例的下发时间,或由测试人员进行排序,本申请对此不做限制。
在本实施方式中,确定执行顺序后,故障模拟装置110按照执行循序依次执行测试用例,向待测试硬件注入测试信号。具体而言,以电源故障用例为示例,故障模拟装置110先识别出故障用例编码A00001的测试用例的注入故障类型为电源故障,则将其下发至执行电源故障的电源信号故障注入模块223,电源信号故障注入模块223执行该测试用例,将对应电路短路,使硬件设备的电源被拉低短路,模拟电路短路的故障。
在可选的实施方式中,用例执行模块220中的执行模块是可以复用的,即,测试用例也可以交由故障类型不对应的执行模块进行执行,以保证测试的效率。具体而言,在进行第一执行模块的确定时,首先可以确定第二执行模块的任务数量,该第二执行模块为至少一个执行模块中故障类型与注入故障类型相同的执行模块,任务数量为第二执行模块中等待执行的测试用例的数量。简而言之,即确定故障类型与该注入故障类型相同的执行模块上等待执行的测试用例的数量。
然后,当任务数量大于阈值时,则说明对应类型的执行模块上累积的测试用例较多,继续向其分配的话需要等待较长时间才能执行,则可以确定第三执行模块为第一执行模块。具体而言,该第三执行模块为至少一个执行模块中除去第二执行模块剩下的执行模块中,任务数量小于阈值的任意一个执行模块。即在剩下的执行模块中找出任意一个任务数量小于阈值的执行模块进行分配,优先可以选择任务数量最小的执行模块进行分配。当不存在第三执行模块时,可以将该测试用例分配给第二执行模块,或者所有执行中任意一个执行模块,或者所有执行模块中任务数量最小的执行模块,本申请对此不作限制。
当任务数量小于阈值时,可以直接确定该第二执行模块为第一执行模块。
307:故障模拟装置接收错误码。
在本实施方式中,错误码是待测试硬件130上的故障检测装置根据故障产生的测试信号生成的,用于标识待测试硬件130上的故障检测装置识别出的故障。具体而言,故障检测装置在检测到测试信号后,会生成相应的错误码上报值故障模拟装置110。沿用上述故障用例编码A00001的示例,硬件设备的电源被拉低短路后,待测试硬件上的故障检测装置,例如CPLD,逻辑检测收到电源无输出,则生成错误码A00001上报给故障模拟装置110。
在可选的实施方式中,生成的错误码A00001也可以先由待测试硬件130的控制电路上报至测试终端120,再由测试终端120上报错误码A00001给故障模拟装置110。具体而言,当测试终端120可以将错误码A00001上报给故障模拟装置110时,说明该测试终端120识别出了该故障,并及时向用户进行了上报反馈,继而实现对测试终端120的软件可靠性的同步验证。
在可选的实施方式中,该测试终端120可以是服务器,由此,通过上述转发的方式,可以同步对服务器的可靠性进行验证。
308:当错误码与预设的结果匹配时,故障模拟装置确定故障注入成功。
在本实施方式中,故障模拟装置110收到错误码A00001后,将其与预设的预期结果进行对比,当结果匹配时,说明故障注入成功。此时,可以执行故障清除指令,以向待测试硬件注入清除故障的清除信号,清除模拟的故障,并接收待测试硬件返回的清除结果。其中,该清除结果同样可以是由待测试硬件直接上报给故障模拟装置110,也可以是由测试终端120进行转发的。当清除结果为无异常时,则可以结束本次测试用例的故障注入,执行下一个测试用例。
同时,在本实施方式中,当错误码与测试用例对应的预期结果不匹配时,可以再次执行当前的测试用例,直至结果匹配,或者达到预设的重复执行次数。重复执行的次数可以由测试人员进行设置。当达到测试次数后,还没有得到与预期结果一致的错误码时,可以直接强制结束当前的测试用例,执行下一个测试用例。
可以看出,在本实施方式中,通过待测试硬件的型号信息,获取型号信息对应的历史测试信息,继而根据该历史测试信息在至少一个测试用例自动确定出需要下发至故障模拟装置的测试用例,实现了测试用例的自动筛选和下发。同时,通过安装在待测试硬件上的故障模拟装置运行相应的测试用例,继而向被测试的硬件设备注入故障,并通过接收待测试硬件上的故障检测装置根据测试信号生成的错误码进行比对,实现故障的全自动注入和测试。采用本实施方式提供的方法,全程无需人力干涉,相比于传统硬件测试中的人工手动故障调试,测试效率更高的同时,极大的降低了人力成本。
本申请实施方式还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行以实现如上述方法实施方式中记载的任何一种故障注入方法和/或测试用例下发方法的部分或全部步骤。
本申请实施方式还提供了一种计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个故障注入方法和/或测试用例下发方法与中的一个或多个步骤。上述所涉及的设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
应理解,本申请实施方式中提及的处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施方式中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
需要说明的是,对于前述的各方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以利用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于可选实施方式,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其他实施方式的相关描述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以利用硬件的形式实现,也可以利用软件程序模块的形式实现。
集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式方法的全部或部分步骤。
本领域普通技术人员可以理解上述实施方式的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中。存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施方式进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施方式的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (18)
1.一种故障注入方法,其特征在于,所述方法应用于故障模拟装置,所述故障模拟装置用于安装至待测试硬件上,所述方法包括:
获取测试用例,其中,所述测试用例用于指示所述故障模拟装置执行对应的故障;
执行所述测试用例,以向被测试的硬件设备注入所述故障;
接收错误码,其中,所述错误码是所述待测试硬件上的故障检测装置根据所述故障产生的测试信号生成的;
当所述错误码与预设的结果匹配时,确定故障注入成功。
2.根据权利要求1所述的方法,其特征在于,在所述执行所述测试用例之前,所述方法还包括:
根据所述测试用例的标识,识别所述测试用例对应的注入故障类型;
根据所述注入故障类型在至少一个执行模块中确定所述测试用例对应的第一执行模块;
将所述测试用例发送至所述第一执行模块。
3.根据权利要求2所述的方法,其特征在于,所述执行模块包括:
高速信号故障注入模块、低速信号故障注入模块和电源信号故障注入模块。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述注入故障类型在至少一个执行模块中确定所述测试用例对应的第一执行模块,包括:
确定第二执行模块的任务数量,其中,所述第二执行模块为所述至少一个执行模块中故障类型与所述注入故障类型相同的执行模块,所述任务数量为所述第二执行模块中等待执行的测试用例的数量;
当所述任务数量大于阈值时,确定第三执行模块为所述第一执行模块,其中,所述第三执行模块为所述至少一个执行模块中除去所述第二执行模块剩下的执行模块中,任务数量小于所述阈值的任意一个执行模块;
当所述任务数量小于所述阈值时,确定所述第二执行模块为所述第一执行模块。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述接收错误码,包括:
从测试终端接收所述错误码,其中,所述错误码是所述待测试硬件上的控制电路上报给所述测试终端的,所述错误码用于标识所述故障检测装置识别出的故障。
6.根据权利要求1-4中任意一项所述的方法,其特征在于,所述接收错误码,包括:
从所述待测试硬件接收所述错误码。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,在所述确定故障注入成功之后,所述方法,还包括:
执行故障清除指令,以向所述待测试硬件注入清除所述故障的清除信号;
接收清除结果,其中,所述清除结果是所述硬件设备根据所述清除信号生成的;
当所述清除结果为无异常时,结束所述测试用例的故障注入测试。
8.一种测试用例下发方法,其特征在于,所述方法应用于测试终端,所述测试终端与故障模拟装置通讯连接,所述方法包括:
从所述故障模拟装置接收待测试硬件的型号信息;
获取所述型号信息对应的历史测试信息,其中,所述历史测试信息用于记录所述型号信息对应的硬件设备的历史测试记录;
根据所述型号信息对至少一个测试用例进行分组,得到必要测试用例组和非必要测试用例组,其中,所述至少一个测试用例存储在所述测试终端中;
根据所述历史测试信息在所述非必要测试用例组中确定至少一个第一测试用例;
将所述至少一个第一测试用例和所述必要测试用例组中的所有测试用例下发至所述故障模拟装置。
9.根据权利要求7所述的方法,其特征在于,所述根据所述历史测试信息在所述非必要测试用例组中确定至少一个第一测试用例,包括:
获取所述历史测试信息中,测试次数大于或等于2次的测试用例的名称,得到至少一个第一测试名称;
根据所述至少一个第一测试名称,在所述非必要测试用例组中确定所述至少一个第一测试用例,其中,所述至少一个第一测试名称包括所述至少一个第一测试用例中任意一个第一测试用例的名称。
10.根据权利要求1-9中任意一项所述的方法,其特征在于,
所述待测试硬件为硬盘背板。
11.一种故障模拟装置,其特征在于,所述故障模拟装置包括:
用例输入模块,用于获取测试用例,其中,所述测试用例用于指示所述故障模拟装置执行对应的故障;
用例执行模块,用于执行所述测试用例,以向被测试的硬件设备注入所述故障;
所述用例输入模块,还用于接收错误码,其中,所述错误码是所述待测试硬件上的故障检测装置根据所述故障产生的测试信号生成的;
所述用例执行模块,还用于在所述错误码与预设的结果匹配时,确定故障注入成功。
12.根据权利要求11所述的方法,其特征在于,所述故障模拟装置还包括:
用例处理模块,用于在所述用例执行模块执行所述测试用例之前,根据所述测试用例的标识,识别所述测试用例对应的注入故障类型,根据所述注入故障类型在所述用例执行模块中的至少一个执行模块中确定所述测试用例对应的第一执行模块,并将所述测试用例发送至所述第一执行模块。
13.根据权利要求12所述的方法,其特征在于,所述执行模块包括:
高速信号故障注入模块、低速信号故障注入模块和电源信号故障注入模块。
14.根据权利要求11-13中任意一项所述的方法,其特征在于,所述用例输入模块包括:
WiFi模块、通用串行总线模块、串口模块和网口模块中的一个或多个。
15.根据权利要求12-14中任意一项所述的方法,其特征在于,所述用例处理模块还包括:
供电模块,用于为所述故障模拟装置提供电能;
固件芯片,用于存储软件版本信息,并在所述故障模拟装置启动时,初始化所述用例处理模块。
16.根据权利要求11-15中任意一项所述的方法,其特征在于,
所述用例处理模块包括微控制单元处理器。
17.一种计算设备,其特征在于,包括故障模拟装置、测试终端、待测试硬件、处理器和存储器,所述故障模拟装置与所述测试终端和所述处理器通讯连接,所述故障模拟装置安装于所述待测试硬件上,所述处理器和所述存储器耦合;其中,所述存储器用于存储计算机程序指令;当所述计算机程序指令被所述处理器执行时,使得所述计算设备执行如权利要求1-10中任一项所述的方法。
18.一种计算机可读介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211446942.3A CN115981929A (zh) | 2022-11-18 | 2022-11-18 | 故障注入方法、测试用例下发方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211446942.3A CN115981929A (zh) | 2022-11-18 | 2022-11-18 | 故障注入方法、测试用例下发方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115981929A true CN115981929A (zh) | 2023-04-18 |
Family
ID=85957080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211446942.3A Pending CN115981929A (zh) | 2022-11-18 | 2022-11-18 | 故障注入方法、测试用例下发方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981929A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116859210A (zh) * | 2023-05-19 | 2023-10-10 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 通信芯片可靠性测试方法、装置和系统 |
-
2022
- 2022-11-18 CN CN202211446942.3A patent/CN115981929A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116859210A (zh) * | 2023-05-19 | 2023-10-10 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 通信芯片可靠性测试方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763076A (zh) | 一种软件自动测试方法、装置、设备及介质 | |
CN110008129B (zh) | 一种存储定时快照的可靠性测试方法、装置及设备 | |
CN105760268A (zh) | 一种片上随机存取存储器内建自测试方法和装置 | |
CN115981929A (zh) | 故障注入方法、测试用例下发方法及相关装置 | |
CN114139476A (zh) | 一种寄存器验证方法、装置、设备及存储介质 | |
CN114530188A (zh) | 一种半导体测试方法、系统及存储介质 | |
CN112000535A (zh) | 一种基于SAS Expander卡的硬盘异常识别方法及处理方法 | |
CN114138587B (zh) | 服务器电源固件升级的可靠性验证方法、装置和设备 | |
CN114356677B (zh) | NVMe SSD热插拔测试方法、装置、设备及存储介质 | |
CN109032864A (zh) | 一种NVMe SSD热插拔测试的方法及系统 | |
CN109857583B (zh) | 一种处理方法及装置 | |
CN113030753A (zh) | 电池管理系统bms的测试方法、装置及测试系统 | |
CN104678292B (zh) | 一种复杂可编程逻辑器件cpld测试方法和装置 | |
CN117149550A (zh) | 一种固态硬盘性能检测方法、装置以及电子设备 | |
CN110473585B (zh) | 一种擦失效存储单元的替换方法、装置、设备及存储介质 | |
CN116401086A (zh) | 内存漏斗错误上报机制的测试方法、装置、设备及介质 | |
CN112231159B (zh) | 一种内存安装位置测试方法、系统、终端及存储介质 | |
CN111338874B (zh) | 一种测试gpu速率切换的方法及系统 | |
CN111104334B (zh) | 基于eeprom模块接口软件的测试方法、装置及可读取存储介质 | |
CN113448786A (zh) | 一种PCIe设备测试方法、装置、设备及可读存储介质 | |
CN112486717A (zh) | 一种磁盘数据一致性校验方法、系统、终端及存储介质 | |
CN112346919A (zh) | 一种ssd测试方法、系统及存储介质 | |
CN112986806A (zh) | 一种接口测试方法、测试系统及计算机存储介质 | |
CN115357458B (zh) | 测试tisdm显示信息方法和装置 | |
US20240232458A1 (en) | Method and system for analysing simulation data using signatures |
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 |