一种通用的服务器Sensor自动测试方法与流程

文档序号:12464243阅读:393来源:国知局

本发明涉及自动化测试技术,尤其涉及一种通用的服务器Sensor自动测试方法。



背景技术:

随着目前互联网和大数据技术的不断发展,服务器定制化的需求越来越高,随之衍生而来的服务器型号也越来越多,因此统一的,通用的自动化测试方法越来越多的应用于不同型号的服务器产品及各种部件的测试。

每一个服务器系统中都分布着20-60个不同功能的Sensor(传感器),这些传感器实时记录着服务器运行过程中的温度,电压,健康,风扇转速等状态,因此Sensor在整个服务器系统中具有不可或缺的作用。而负责监控这些Sensor的就是BMC,所以每次BMC的FW更新都必须测试这些Sensor的功能。服务器从研发到量产维护一般会发布5次以上的BMC FW版本,每次BMC FW发布测试人员都要测试Sensor功能,几十个Sensor,每个Sensor要使用两种以上的读取方法进行对比测试,每次测试一遍最少要5分钟的时间。一般每个测试工程师都会同时负责最少两三种型号的服务器测试,而每种型号根据不同的客户又会衍生出五六个不同的BMC版本。由于不同型号,不同客户的服务器对应的BMC版本都不完全相同,使用的Sensor个数和名称也不完全相同,所以每次测试单是Sensor项都要花费不少时间,而且在大量重复操作的情况下,难免会出现一些难以避免的错误,从而影响测试质量。



技术实现要素:

为了解决以上问题,本发明提出了一种通用的服务器Sensor自动测试方法。可以根据不同的服务器型号自动识别服务器系统中的所有Sensor,并使用多种方法读取Sensor值,彼此相互验证后把所有Sensor的测试结果按照一定格式统一输出到指定的Excel表格中。这样不但实现了不同型号服务器测试方法的统一,同时节省了测试时间,避免人工出错。

一种通用的服务器Sensor自动测试方法,

本方法是基于Linux操作系统下的shell和python脚本编写而成;收集不同型号服务器中使用的所有的Sensor,每一个Sensor单独开发一个以Sensor名称命名的测试和解析脚本;把这些开发好的脚本放到统一的文件夹中,测试时首先通过ipmi命令读取待测试服务器中所有的Sensor名称,根据读取到的Sensor名称找到对应的测试和解析脚本并自动执行,最后把所有的测试结果以JSON的格式写到指定的Excel表格中;测试人员可以在最终生成的表格中查看到每一个Sensor的测试结果。

进一步的,

通过提前收集不同型号服务器的所有Sensor名称和功能,每个Sensor都单独开发一个自动化测试脚本,每个测试脚本都使用ipmitool sdr list;ipmitoolsensor;ipmi标准命令和OEM命令读取Sensor值或者状态,然后对比以上几种方式读取到的值,如果各个读值相差不大于1则判断测试通过,否则判断测试失败,并把测试关键项和测试结果以JSON格式写到指定的表格中。

再进一步的,测试时先通过ipmitool sdr elist|awk'{print$1}'把系统中所有的Sensor名称保存到指定的文档中,然后遍历整个文档,通过Sensor名找到对应的测试脚本执行测试;最后把所有的测试结果以表格的形式统一保存,以便检查测试结果。

主要分四部分脚本,

第一部分是单个Sensor的测试脚本,这些脚本统一放在一个文件夹中作为脚本测试库,以便测试时调用;

第二部分是单个Sensor的测试log的解析脚本,这些脚本也是统一放在一个文件夹中作为脚本测试库;

第三部分是自动识别服务器系统所有Sensor名称并在测试库中找到对应测试脚本并自动执行的脚本;

第四部分是识别并自动执行所有Sensor解析脚本的脚本。

本发明的有益效果是

可以在Linux系统下使用统一的方法快速简便高效的对Sensor进行测试,并且自动生成测试结果。由于所有的Sensor测试命令和解析策略已经整合在单独的脚本中,不同型号服务器的所有Sensor测试脚本都提前开发收集在了统一的文件夹中,测试时脚本可以自动识别Sensor,进行测试,不但避免了在重复操作中出现的错误,而且实现的测试方法和测试脚本的通用性。

附图说明

图1是本发明的总体测试流程图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明介绍的方法主要分四部分脚本,第一部分是单个Sensor的测试脚本,这些脚本统一放在一个文件夹中作为脚本测试库,以便测试时调用,例如“BMC_Sensor_CPU0_Temp.sh”;第二部分是单个Sensor的测试log的解析脚本,这些脚本也是统一放在一个文件夹中作为脚本测试库,例如“BMC_Sensor_CPU0_Temp.py”;第三部分是自动识别服务器系统所有Sensor名称并在测试库中找到对应测试脚本并自动执行的脚本,脚本名为“BMC_Sensor_Check_Linux.sh”;第四部分是识别并自动执行所有Sensor解析脚本的脚本,脚本名为“BMC_Sensor_Check_Linux_Parse.sh”

脚本分析

下面对本方法中用到的四部分测试脚本分别做具体分析

本方法适用于各种不同型号服务器量产维护阶段BMC FW更新时的功能测试。实现了不同型号服务器Sensor功能测试方法的统一,无需人工针对不同型号服务器中各个Sensor单独测试,节省了测试时间,避免人工操作造成的失误,提高了测试效率和质量。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1