CN116401086A - 内存漏斗错误上报机制的测试方法、装置、设备及介质 - Google Patents

内存漏斗错误上报机制的测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN116401086A
CN116401086A CN202310369225.3A CN202310369225A CN116401086A CN 116401086 A CN116401086 A CN 116401086A CN 202310369225 A CN202310369225 A CN 202310369225A CN 116401086 A CN116401086 A CN 116401086A
Authority
CN
China
Prior art keywords
memory
error
funnel
test
injection
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
Application number
CN202310369225.3A
Other languages
English (en)
Inventor
周玥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310369225.3A priority Critical patent/CN116401086A/zh
Publication of CN116401086A publication Critical patent/CN116401086A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及服务器测试技术领域,公开了内存漏斗错误上报机制的测试方法、装置、设备及介质,该方法包括:基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;基于日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。从而实现了内存漏斗错误上报机制的自动化测试,测试过程中途无需人工干预,提高了测试效率,减少人工测试成本,可实现长期测试。

Description

内存漏斗错误上报机制的测试方法、装置、设备及介质
技术领域
本发明涉及服务器测试领域,具体涉及内存漏斗错误上报机制的测试方法、装置、设备及介质。
背景技术
内存漏斗错误上报机制是指根据配置的单位时间内存错误阈值,对内存可纠正错误(correctable error,简称CE)进行遗漏处理,基于遗漏后的内存CE错误的数量触发日志上报操作,避免每条CE错误都触发日志报警,同时当遇到大量报错时又能及时上报。在服务器领域,随着内存漏斗错误上报机制的出现,内存错误上报的机制越来越准确和严谨,但同时对于测试人员来说,目前内存漏斗错误上报机制的测试主要通过手动测试完成,测试效率低,测试工作量大,难以实现长期测试。
发明内容
有鉴于此,本发明提供了内存漏斗错误上报机制的测试方法、装置、设备及介质,以解决相关技术中依靠人工对内存漏斗错误上报机制进行测试的方式,测试效率低,测试工作量大,难以实现长期测试的问题。
第一方面,本发明提供了一种内存漏斗错误上报机制的测试方法,方法包括:
基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;
基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;
利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;
基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。
从而通过按照待测内存漏斗错误上报机制对输入输出系统进行相关配置,生成相应的内存漏斗错误测试用例,并利用内存注错工具按照内存漏斗错误测试用例进行自动化注错测试,通过对基板管理控制器中的系统事件日志进行分析的方式实现了内存漏斗错误上报机制的自动化测试,测试过程中途无需人工干预,大大提高了测试效率,减少了更多人工测试成本,可以实现长期测试。
在一种可选的实施方式中,基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例,包括:
基于漏斗上报周期和单次注错时长,确定单漏斗上报周期的第一注错等待时长和不同漏斗上报周期的第二注错等待时长;
基于漏斗数量阈值确定第一注错数量和第二注错数量,第一注错数量等于漏斗数量阈值,第二注错数量小于漏斗数量阈值;
在单个漏斗上报周期内,按照第一注错等待时长对第一注错数量和第二注错数量进行组合,生成多个单周期的内存漏斗错误测试用例;
在不同漏斗上报周期内,按照第二注错等待时长对第一注错数量和第二注错数量进行组合,生成多个不同周期的内存漏斗错误测试用例。
从而利用于漏斗上报周期和单次注错时长确定不同注错场景下的注错时间间隔,以满足内存漏斗错误上报机制全面的测试需求,保障最终测试结果的准确性。
在一种可选的实施方式中,利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志,包括:
利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志。
从而通过利用当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型进行系统事件日志的精确筛选,能够保证系统事件日志与内存漏斗错误测试用例的一致性,以进一步提高最终测试结果的准确性。
在一种可选的实施方式中,在获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志之后,方法还包括:
对操作系统进行重启;
在操作系统重启后,将下一内存漏斗错误测试用例更新为当前内存漏斗测试用例,并返回利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误的步骤,直至完成所有内存漏斗错误测试用例的测试。
从而在每完成一次内存漏斗错误测试用例的注错测试之后,通过对操作系统进行重启的方式重置漏斗上报时间,确保之后的测试不受影响,以保证测试结果的准确性。
在一种可选的实施方式中,在基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例之前,方法还包括:
以操作系统时间为基准,对基本输入输出系统和基板管理控制器进行时间同步。
从而通过对操作系统、基本输入输出系统和基板管理控制器时间同步的方式,保证整个自动测试过程中时间的一致性,以避免时间不同步影响测试结果的问题,提升测试结果准确性。
在一种可选的实施方式中,基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果,包括:
判断内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录是否完全一致;
在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录完全一致时,确定待测内存漏斗错误上报机制测试通过;
在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录不完全一致时,确定待测内存漏斗错误上报机制测试未通过。
从而通过将注错后基板管理控制器中实际的内存错误记录与预期结果进行对比判断测试是否通过,通过自动化的方式实现了内存漏斗错误上报机制的验证,中途无需人工干预。
在一种可选的实施方式中,方法还包括:在确定待测内存漏斗错误上报机制测试未通过时,提取内存错误记录与对应期望内存错误记录不一致的目标内存漏斗错误测试用例;
基于目标内存漏斗错误测试用例分析待测内存漏斗错误上报机制的测试失败原因。
从而通过对注错后基板管理控制器中实际的内存错误记录于期望结果不一致的内存漏斗错误测试用例进行分析的方式,得到测试失败原因,为后续开发人员对待测内存漏斗错误上报机制进行调整提供参考,并为测试人员进行人工验证整体测试方案的测试效果提供参考。
第二方面,本发明提供了一种内存漏斗错误上报机制的测试装置,装置包括:
第一处理模块,用于基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;
第二处理模块,用于基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;
第三处理模块,用于利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;
第四处理模块,用于基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。
在一种可选的实施方式中,第二处理模块包括:
第一处理单元,用于基于漏斗上报周期和单次注错时长,确定单漏斗上报周期的第一注错等待时长和不同漏斗上报周期的第二注错等待时长;
第二处理单元,用于基于漏斗数量阈值确定第一注错数量和第二注错数量,第一注错数量等于漏斗数量阈值,第二注错数量小于漏斗数量阈值;
第三处理单元,用于在单个漏斗上报周期内,按照第一注错等待时长对第一注错数量和第二注错数量进行组合,生成多个单周期的内存漏斗错误测试用例;
第四处理单元,用于在不同漏斗上报周期内,按照第二注错等待时长对第一注错数量和第二注错数量进行组合,生成多个不同周期的内存漏斗错误测试用例。
在一种可选的实施方式中,第三处理模块包括:
第五处理单元,用于利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志。
在一种可选的实施方式中,第三处理模块还包括:
第六处理单元,用于对操作系统进行重启;
第七处理单元,用于在操作系统重启后,将下一内存漏斗错误测试用例更新为当前内存漏斗测试用例,并返回利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误的步骤,直至完成所有内存漏斗错误测试用例的测试。
在一种可选的实施方式中,内存漏斗错误上报机制的测试装置还包括:
第五处理模块,用于以操作系统时间为基准,对基本输入输出系统和基板管理控制器进行时间同步。
在一种可选的实施方式中,第四处理模块包括:
第八处理单元,用于判断内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录是否完全一致;
第九处理单元,用于在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录完全一致时,确定待测内存漏斗错误上报机制测试通过;
第十处理单元,用于在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录不完全一致时,确定待测内存漏斗错误上报机制测试未通过。
在一种可选的实施方式中,内存漏斗错误上报机制的测试装置还包括:
第六处理模块,用于在确定待测内存漏斗错误上报机制测试未通过时,提取内存错误记录与对应期望内存错误记录不一致的目标内存漏斗错误测试用例;
第七处理模块,用于基于目标内存漏斗错误测试用例分析待测内存漏斗错误上报机制的测试失败原因。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的内存漏斗错误上报机制的测试方法的流程示意图;
图2是根据本发明实施例的另一内存漏斗错误上报机制的测试方法的流程示意图;
图3是根据本发明实施例的又一内存漏斗错误上报机制的测试方法的流程示意图;
图4是根据本发明实施例的内存漏斗错误上报机制的测试装置的结构框图;
图5是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在服务器领域,随着内存漏斗错误上报机制的出现,内存错误上报的机制越来越准确和严谨,但同时对于测试人员来说,目前内存漏斗错误上报机制的测试主要通过手动测试完成,测试效率低,测试工作量大,难以实现长期测试。
本发明主要是通过计算机设备如服务器的操作系统实现自动化向内存注入CE错误来验证服务器的内存漏斗错误上报机制是否正常的方案,具体通过记录要注入的CE错误的时间和数量,使用注错工具进行自动化注错,然后通过查询BMC相关日志看是否存在相对应的错误记录,然后与预期结果进行对比,能实现验证内存漏斗错误上报机制的自动化测试。
根据本发明实施例,提供了一种内存漏斗错误上报机制的测试方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种内存漏斗错误上报机制的测试方法,可用于上述的计算机设备如服务器的操作系统,图1是根据本发明实施例的内存漏斗错误上报机制的测试方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值。
具体地,待测内存漏斗错误上报机制由漏斗上报周期和漏斗数量阈值等参数构成,可以通过利用setup配置值得修改工具如:ByoCfg进行setup配置,从而修改基本输入输出系统(Basic Input Output System,简称BIOS)中与内存漏斗相关的setup配置值,示例性地,包括设置漏斗数量阈值也称为内存错误阈值数量为10,漏斗上报周期也称为漏斗时间为120s,设置完成后保存并退出。此外,在实际应用中,与内存漏斗相关的setup配置值还包括开启错误管理,以及漏斗数量等,其中,内存错误阈值与漏斗数量一致。
步骤S102,基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例。
其中,内存漏斗错误测试用例包括:注入内存CE错误的数量及对应的注错时间等信息,示例性地,其中一个内存漏斗错误测试用例为:一次性注入10次CE错误,等待30s,再次注入10次CE错误等。
步骤S103,利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志。
具体地,在CE错误注入内存后,可通过ipmi指令获取基板管理控制器(BaseboardManagement Controller,简称BMC)中相关的系统事件日志以下简称SEL日志。
步骤S104,基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。
具体地,在假设待测内存漏斗错误上报机制测试通过即无测试问题的情况下,对于每个内存漏斗错误测试用例,都会对应一个期望内存错误记录。示例性地,假设设置漏斗数量阈值也称为漏斗数量为10,漏斗上报周期也称为漏斗时间为120s,内存漏斗错误测试用例为:一次性注入10次CE错误,等待30s,再次注入10次CE错误,则对应的期望内存错误记录为在1320s内发生两次错误上报记录。
本实施例提供的内存漏斗错误上报机制的测试方法,通过按照待测内存漏斗错误上报机制对输入输出系统进行相关配置,生成相应的内存漏斗错误测试用例,并利用内存注错工具按照内存漏斗错误测试用例进行自动化注错测试,通过对基板管理控制器中的系统事件日志进行分析的方式实现了内存漏斗错误上报机制的自动化测试,测试过程中途无需人工干预,大大提高了测试效率,减少了更多人工测试成本,可以实现长期测试。
在本实施例中提供了一种内存漏斗错误上报机制的测试方法,可用于上述的计算机设备,图2是根据本发明实施例的内存漏斗错误上报机制的测试方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S202,基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例。
具体地,上述步骤S202包括:
步骤S2021,基于漏斗上报周期和单次注错时长,确定单漏斗上报周期的第一注错等待时长和不同漏斗上报周期的第二注错等待时长。
具体地,由于内存注错工具在进行CE错误注入时需要一定耗时,为了避免CE错误注入影响漏斗上报周期的判断,既要满足第一注错等待时长小于单个漏斗上报周期且不同漏斗上报周期的第二注错等待时长大于单个漏斗上报周期的条件,也要保障内存注错工具可以在规定时间内完成CE注错。示例性地,假设漏斗上报周期为120s,单次注错时长的最大值为10s,则第一注错等待时长的设置范围为10s~120s,如30s、40s等。第二注错等待时长的设置范围为1大于130s,如150s、160s等,具体设置可根据实际测试需求进行灵活的设置,本发明并不以此为限。
步骤S2022,基于漏斗数量阈值确定第一注错数量和第二注错数量。
其中,第一注错数量等于漏斗数量阈值,第二注错数量小于漏斗数量阈值。示例性地,第一注错数量为10次CE错误,第二注错数量为5次CE错误、6次CE错误等。
步骤S2023,在单个漏斗上报周期内,按照第一注错等待时长对第一注错数量和第二注错数量进行组合,生成多个单周期的内存漏斗错误测试用例。
具体地,在单个漏斗上报周期内,内存漏斗错误测试用例中对第一注错数量和第二注错数量进行组合包括三种组合方式:在单个漏斗上报周期内以第一注错等待时长为间隔,注入两次第一注错数量的CE错误、注入两次第二注错数量的CE错误、注入一次第一注错数量的CE错误和一次第二注错数量的CE错误。
步骤S2024,在不同漏斗上报周期内,按照第二注错等待时长对第一注错数量和第二注错数量进行组合,生成多个不同周期的内存漏斗错误测试用例。
具体地,在不同漏斗上报周期内,内存漏斗错误测试用例中对第一注错数量和第二注错数量进行组合包括三种组合方式:在不同漏斗上报周期内以第二注错等待时长为间隔,注入两次第一注错数量的CE错误、注入两次第二注错数量的CE错误、注入一次第一注错数量的CE错误和一次第二注错数量的CE错误。在实际应用中,在不同漏斗上报周期内以第二注错等待时长为间隔,注入两次第一注错数量的CE错误的内存漏斗错误测试用例与上述在单个漏斗上报周期内以第一注错等待时长为间隔,注入两次第一注错数量的CE错误的内存漏斗错误测试用例的测试目的和测试效果相同,可删除该测试用例,本发明并不以此为限。
需要说明的是,上述内存漏斗错误测试用例中注入的CE错误的类型可根据实际服务器测试需求进行选择,可在事先构建的CE错误库中根据类别要求进行选择,也可以随机选取,本发明并不以此为限。
本实施例提供的内存漏斗错误上报机制的测试方法,通过利用于漏斗上报周期和单次注错时长确定不同注错场景下的注错时间间隔,以满足内存漏斗错误上报机制全面的测试需求,保障最终测试结果的准确性。
步骤S203,利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志。
具体地,上述步骤S203可通过利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志。
示例性地,利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误包括如下测试用例:
(1)一次性注入与内存错误阈值数量相等的CE错误,在一个漏斗时间内,再次注入与内存错误阈值数量相等的CE错误。
(2)一次性注入与内存错误阈值数量相等的CE错误,在一个漏斗时间内,再次注入小于内存错误阈值数量的CE错误。
(3)一次性注入小于内存错误阈值数量的CE错误,在一个漏斗时间内,再次注入小于内存错误阈值数量的CE错误。
(4)一次性注入与内存错误阈值数量相等的CE错误,等待一定时间(大于一个漏斗时间),再次注入小于内存错误阈值数量的CE错误。
(5)一次性注入小于内存错误阈值数量的CE错误,等待一定时间(大于一个漏斗时间),再次注入小于内存错误阈值数量的CE错误。
从而通过利用当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型进行系统事件日志的精确筛选,能够保证系统事件日志与内存漏斗错误测试用例的一致性,以进一步提高最终测试结果的准确性。
进一步地,在获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志之后,还通过对操作系统进行重启;在操作系统重启后,将下一内存漏斗错误测试用例更新为当前内存漏斗测试用例,并返回利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误的步骤,直至完成所有内存漏斗错误测试用例的测试。
从而在每完成一次内存漏斗错误测试用例的注错测试之后,通过对操作系统进行重启的方式重置漏斗上报时间,确保之后的测试不受影响,以保证测试结果的准确性。
步骤S204,基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。详细请参见图1所示实施例的步骤S104,在此不再赘述。
具体地,上述步骤S204包括:
步骤S2041:判断内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录是否完全一致。
步骤S2042:在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录完全一致时,确定待测内存漏斗错误上报机制测试通过。
步骤S2043:在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录不完全一致时,确定待测内存漏斗错误上报机制测试未通过。
从而通过将注错后基板管理控制器中实际的内存错误记录与预期结果进行对比判断测试是否通过,通过自动化的方式实现了内存漏斗错误上报机制的验证,中途无需人工干预。
在本实施例中提供了一种内存漏斗错误上报机制的测试方法,可用于上述的计算机设备,图3是根据本发明实施例的内存漏斗错误上报机制的测试方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S305,以操作系统时间为基准,对基本输入输出系统和基板管理控制器进行时间同步。
具体地,以操作系统的时钟信号为基准,对基本输入输出系统和基板管理控制器进行时钟校准,实现三者时钟信号的同步。
从而通过对操作系统、基本输入输出系统和基板管理控制器时间同步的方式,保证整个自动测试过程中时间的一致性,以避免时间不同步影响测试结果的问题,提升测试结果准确性。
步骤S302,基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S303,利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志。详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S304,基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。详细请参见图1所示实施例的步骤S104,在此不再赘述。
步骤S306,在确定待测内存漏斗错误上报机制测试未通过时,提取内存错误记录与对应期望内存错误记录不一致的目标内存漏斗错误测试用例。
步骤S307,基于目标内存漏斗错误测试用例分析待测内存漏斗错误上报机制的测试失败原因。
具体地,由于目标内存漏斗错误测试用例包括CE错误的注入类型、注入时间以及注入数量等参数,在内存错误记录与对应期望内存错误记录不一致时,可根据内存漏斗错误测试用例进行反演,推测出现测试失败原因,如:测试用例设置不合适或内存漏斗错误上报机制不合适等。
从而通过对注错后基板管理控制器中实际的内存错误记录于期望结果不一致的内存漏斗错误测试用例进行分析的方式,得到测试失败原因,为后续开发人员对待测内存漏斗错误上报机制进行调整提供参考,并为测试人员进行人工验证整体测试方案的测试效果提供参考。
下面将结合具体应用示例,对本发明实施例提供的内存漏斗错误上报机制的测试方法的具体实现过程进行详细的说明。
示例性地,可基于shell脚本自动化向内存注入CE错误来验证服务器的内存漏斗错误上报机制是否正常,具体流程如下:
1、进行setup设置。使用setup配置值得修改工具如:ByoCfg,修改bios中与内存漏斗相关的setup配置值,包括开启错误管理,设置内存错误阈值为10,漏斗时间为120s,漏斗数量为10,设置完成后保存并退出。
2、时间同步。以操作系统下的时间为基准,同步基本输入输出系统和基板管理控制器的时间,使得操作系统、基本输入输出系统与基板管理控制器时间一致。
3、记录要注入的CE错误数量及时间。每次注错前都要记录此次注入错误的数量及注错时间,方便之后查找基板管理控制器中是否存在相对应的错误记录。注错完成后通过ipmi指令获取SEL日志中的内存错误记录判断该错误是否上报。
4、使用内存注错工具如:DramErrorInjector,按一定时间间隔持续向内存注入CE错误。具体的内存漏斗错误上报机制测试步骤如下:
(1)一次性注入10次CE错误,等待30s,再次注入10次CE错误。
预期结果为:成功注错后,第一次注错BMC存在内存错误记录,第二次注错BMC也存在内存错误记录。
(2)一次性注入10次CE错误,等待30s,再次注入5次CE错误。
预期结果为:成功注错后,第一次注错BMC存在内存错误记录,第二次注错BMC不存在内存错误记录。
(3)一次性注入5次CE错误,等待30s,再次注入5次CE错误。
预期结果为:成功注错后,第一次注错BMC不存在内存错误记录,第二次注错BMC也不存在内存错误记录。
(4)一次性注入10次CE错误,等待180s,再次注入5次CE错误。
预期结果为:成功注错后,第一次注错BMC存在内存错误记录,第二次注错BMC不存在内存错误记录。
(5)一次性注入5次CE错误,等待120s,再次注入5次CE错误。
预期结果为:成功注错后,第一次注错BMC不存在内存错误记录,第二次注错BMC也不存在内存错误记录。
5、每次注错测试完成后重启操作系统。为了重置漏斗时间,确保之后的测试不受影响。
6、每一次注错后,通过ipmi指令获取BMC中相关的sel日志,通过注错的时间和类型查找是否存在相应的日志判断是否存在BMC错误记录。
从而通过设计内存漏斗错误上报机制的测试流程,注错完成后通过获取SEL日志中的内存错误记录判断该错误是否上报,与预期结果进行对比判断测试是否成功,通过自动化的方式实现了内存漏斗错误上报机制的验证,中途无需人工干预。在软件层面通过Shell脚本实现对内存漏斗错误上报机制的自动化验证,大大提高了测试效率,缩短了研发周期。对于内存漏斗错误上报机制的验证,本发明能实现自动化进行测试,既大大提高了测试效率,减少了更多人工测试成本。
在本实施例中还提供了一种内存漏斗错误上报机制的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种内存漏斗错误上报机制的测试装置,如图4所示,包括:
第一处理模块401,用于基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;
第二处理模块402,用于基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;
第三处理模块403,用于利用内存注错工具按照内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;
第四处理模块404,用于基于系统事件日志中的内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录的关系,确定待测内存漏斗错误上报机制的测试结果。
在一些可选的实施方式中,上述第二处理模块402包括:
第一处理单元,用于基于漏斗上报周期和单次注错时长,确定单漏斗上报周期的第一注错等待时长和不同漏斗上报周期的第二注错等待时长;
第二处理单元,用于基于漏斗数量阈值确定第一注错数量和第二注错数量,第一注错数量等于漏斗数量阈值,第二注错数量小于漏斗数量阈值;
第三处理单元,用于在单个漏斗上报周期内,按照第一注错等待时长对第一注错数量和第二注错数量进行组合,生成多个单周期的内存漏斗错误测试用例;
第四处理单元,用于在不同漏斗上报周期内,按照第二注错等待时长对第一注错数量和第二注错数量进行组合,生成多个不同周期的内存漏斗错误测试用例。
在一些可选的实施方式中,上述第三处理模块403包括:
第五处理单元,用于利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中与当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志。
在一些可选的实施方式中,上述第三处理模块403还包括:
第六处理单元,用于对操作系统进行重启;
第七处理单元,用于在操作系统重启后,将下一内存漏斗错误测试用例更新为当前内存漏斗测试用例,并返回利用内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误的步骤,直至完成所有内存漏斗错误测试用例的测试。
在一些可选的实施方式中,本实施例提供的一种内存漏斗错误上报机制的测试装置还包括:
第五处理模块,用于以操作系统时间为基准,对基本输入输出系统和基板管理控制器进行时间同步。
在一些可选的实施方式中,第四处理模块404包括:
第八处理单元,用于判断内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录是否完全一致;
第九处理单元,用于在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录完全一致时,确定待测内存漏斗错误上报机制测试通过;
第十处理单元,用于在内存错误记录与内存漏斗错误测试用例对应的期望内存错误记录不完全一致时,确定待测内存漏斗错误上报机制测试未通过。
在一些可选的实施方式中,内存漏斗错误上报机制的测试装置还包括:
第六处理模块,用于在确定待测内存漏斗错误上报机制测试未通过时,提取内存错误记录与对应期望内存错误记录不一致的目标内存漏斗错误测试用例;
第七处理模块,用于基于目标内存漏斗错误测试用例分析待测内存漏斗错误上报机制的测试失败原因。
本实施例中的内存漏斗错误上报机制的测试装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种计算机设备,具有上述图4所示的内存漏斗错误上报机制的测试装置。
请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种内存漏斗错误上报机制的测试方法,其特征在于,所述方法包括:
基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;
基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;
利用所述内存注错工具按照所述内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;
基于所述系统事件日志中的内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录的关系,确定所述待测内存漏斗错误上报机制的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例,包括:
基于所述漏斗上报周期和所述单次注错时长,确定单漏斗上报周期的第一注错等待时长和不同漏斗上报周期的第二注错等待时长;
基于所述漏斗数量阈值确定第一注错数量和第二注错数量,所述第一注错数量等于所述漏斗数量阈值,所述第二注错数量小于所述漏斗数量阈值;
在单个漏斗上报周期内,按照所述第一注错等待时长对所述第一注错数量和所述第二注错数量进行组合,生成多个单周期的内存漏斗错误测试用例;
在不同漏斗上报周期内,按照所述第二注错等待时长对所述第一注错数量和所述第二注错数量进行组合,生成多个不同周期的内存漏斗错误测试用例。
3.根据权利要求1所述的方法,其特征在于,所述利用所述内存注错工具按照所述内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志,包括:
利用所述内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中与所述当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志。
4.根据权利要求3所述的方法,其特征在于,在获取基板管理控制器中与所述当前内存漏斗错误测试用例的注错时间和注入可纠正错误的类型相关的系统事件日志之后,所述方法还包括:
对操作系统进行重启;
在所述操作系统重启后,将下一内存漏斗错误测试用例更新为当前内存漏斗测试用例,并返回利用所述内存注错工具按照当前内存漏斗错误测试用例向内存注入可纠正错误的步骤,直至完成所有内存漏斗错误测试用例的测试。
5.根据权利要求1所述的方法,其特征在于,在基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例之前,所述方法还包括:
以操作系统时间为基准,对所述基本输入输出系统和所述基板管理控制器进行时间同步。
6.根据权利要求1所述的方法,其特征在于,所述基于所述系统事件日志中的内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录的关系,确定所述待测内存漏斗错误上报机制的测试结果,包括:
判断所述内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录是否完全一致;
在所述内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录完全一致时,确定所述待测内存漏斗错误上报机制测试通过;
在所述内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录不完全一致时,确定所述待测内存漏斗错误上报机制测试未通过。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述待测内存漏斗错误上报机制测试未通过时,提取所述内存错误记录与对应期望内存错误记录不一致的目标内存漏斗错误测试用例;
基于所述目标内存漏斗错误测试用例分析所述待测内存漏斗错误上报机制的测试失败原因。
8.一种内存漏斗错误上报机制的测试装置,其特征在于,所述装置包括:
第一处理模块,用于基于待测内存漏斗错误上报机制在基本输入输出系统中配置漏斗上报周期和漏斗数量阈值;
第二处理模块,用于基于漏斗上报周期、漏斗数量阈值及内存注错工具的单次注错时长,生成内存漏斗错误测试用例;
第三处理模块,用于利用所述内存注错工具按照所述内存漏斗错误测试用例向内存注入可纠正错误,并获取基板管理控制器中的系统事件日志;
第四处理模块,用于基于所述系统事件日志中的内存错误记录与所述内存漏斗错误测试用例对应的期望内存错误记录的关系,确定所述待测内存漏斗错误上报机制的测试结果。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
CN202310369225.3A 2023-04-07 2023-04-07 内存漏斗错误上报机制的测试方法、装置、设备及介质 Pending CN116401086A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310369225.3A CN116401086A (zh) 2023-04-07 2023-04-07 内存漏斗错误上报机制的测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310369225.3A CN116401086A (zh) 2023-04-07 2023-04-07 内存漏斗错误上报机制的测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116401086A true CN116401086A (zh) 2023-07-07

Family

ID=87013810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310369225.3A Pending CN116401086A (zh) 2023-04-07 2023-04-07 内存漏斗错误上报机制的测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116401086A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076182A (zh) * 2023-09-28 2023-11-17 飞腾信息技术有限公司 一种错误上报方法、片上系统、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076182A (zh) * 2023-09-28 2023-11-17 飞腾信息技术有限公司 一种错误上报方法、片上系统、计算机设备及存储介质
CN117076182B (zh) * 2023-09-28 2024-01-19 飞腾信息技术有限公司 一种错误上报方法、片上系统、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111950212B (zh) 高效的多模式验证平台及方法
US20110314334A1 (en) Automated regression failure management system
US20150161025A1 (en) Injecting Faults at Select Execution Points of Distributed Applications
KR20090118863A (ko) 오퍼레이팅 시스템 메모리 핫 애드를 시뮬레이션하여 파워온 시간을 감소시키는 방법
US10698805B1 (en) Method and system for profiling performance of a system on chip
CN111881014B (zh) 一种系统测试方法、装置、存储介质及电子设备
CN103257922B (zh) 一种快速测试bios与os接口代码可靠性的方法
CN106681877B (zh) 芯片调试系统及方法与系统芯片
CN116401086A (zh) 内存漏斗错误上报机制的测试方法、装置、设备及介质
US8122293B2 (en) Method for automatically simulating manual testing of a computer, and testing system for performing the method
CN115470141A (zh) 一种故障模拟方法、装置及相关设备
CN110704315A (zh) 一种嵌入式软件测试的故障注入装置
CN116662050A (zh) 一种错误注入支持功能验证方法、装置、终端及介质
CN115587003A (zh) 一种xGMI降速功能测试方法、系统、装置及可读存储介质
CN112463481B (zh) 一种基于远程xdp功能测试bmc故障诊断功能的方法及系统
Fidalgo et al. Using NEXUS compliant debuggers for real time fault injection on microprocessors
CN112463608B (zh) 基于分布式存储的测试方法及系统
CN116431518B (zh) 一种基于仿真平台的多层级、多模式软件故障注入方法
CN110990181A (zh) 一种自动化复现bios中选项概率性设置失败的方法及系统
TWI700579B (zh) 儲存裝置測試系統及儲存裝置測試方法
Zhou et al. A workload model based approach to evaluate the robustness of real-time operating system
CN115952037A (zh) Pcie可纠正报错抑制功能测试方法、系统、终端及存储介质
CN115858323A (zh) 一种针对中央处理器cpu的功能及性能测试方法、系统及装置
CN117574811A (zh) 集成电路单粒子效应的高效仿真方法、装置和电子设备
Lu et al. A Reliability Benchmarking Method for Linux

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