1.一种BMC自动测试系统,其特征在于,包括:
测试对象确定模块,用于确定待测试BMC固件;
硬件抽象模块,用于对目标服务器中的硬件进行抽象化处理,得到相应的类文件;其中,所述目标服务器为当前能够运行所述待测试BMC固件的服务器;
脚本生成模块,用于利用所述硬件抽象模块得到的类文件,生成相应的测试用例脚本;
文件解析模块,用于对预设配置文件进行解析,得到所述测试用例脚本所需的基础数据文件;
测试执行模块,用于在所述目标服务器上,利用所述测试用例脚本和所述基础数据文件,对所述待测试BMC固件进行相应地测试。
2.根据权利要求1所述的BMC自动测试系统,其特征在于,所述硬件抽象模块,具体用于将所述目标服务器中的每个硬件所对应的测试步骤封装成类方法,得到相应的类文件集合;
其中,所述类文件集合中的每一类文件与所述目标服务器中的每个硬件之间呈一一对应关系。
3.根据权利要求2所述的BMC自动测试系统,其特征在于,所述脚本生成模块包括:
测试计划确定单元,用于确定与所述待测试BMC固件相关的测试计划;
类文件提取单元,用于从所述类文件集合中提取出与所述测试计划相对应的类文件;
脚本生成单元,用于将所述类文件提取单元所提取到的类文件组装成相应的测试用例脚本。
4.根据权利要求1所述的BMC自动测试系统,其特征在于,还包括:
文件配置模块,用于创建系统配置文件、公共配置文件和用例配置文件,得到所述预设配置文件;
其中,所述系统配置文件包括所述待测试BMC固件的版本信息、所述目标服务器的标识信息以及所述测试用例脚本的标识信息;所述公共配置文件包括在对所述待测试BMC固件进行测试的过程中所需的与所述目标服务器相关的常量数据,所述常量数据包括IPMI指令和IPMI返回值;所述用例配置文件包括所述测试用例脚本所需的测试数据。
5.根据权利要求1所述的BMC自动测试系统,其特征在于,所述测试执行模块,包括:
脚本排列子模块,用于按照添加时间的先后顺序,将所述测试用例脚本添加到预设测试队列的相应队列位置上;
测试管理子模块,用于对所述预设测试队列进行实时地更新管理;
测试执行子模块,用于当所述测试用例脚本处于所述预设测试队列的头部,则在所述目标服务器上,利用所述测试用例脚本和所述基础数据文件,对所述待测试BMC固件进行相应地测试。
6.根据权利要求5所述的BMC自动测试系统,其特征在于,所述测试执行子模块包括BMC通信单元和测试执行单元;其中,
所述BMC通信单元,用于尝试搭建所述测试执行单元和所述待测试BMC固件之间的访问通道;
所述测试执行单元,用于当所述测试用例脚本处于所述预设测试队列的头部,并且当所述BMC通信单元成功搭建所述访问通道后,在所述目标服务器上,利用所述测试用例脚本和所述基础数据文件,对所述待测试BMC固件进行相应地测试。
7.根据权利要求6所述的BMC自动测试系统,其特征在于,所述BMC通信单元,具体用于通过预设通信接口,尝试搭建所述测试执行单元和所述待测试BMC固件之间的访问通道,如果连续N次均无法成功搭建所述访问通道,则判定通道搭建失败,其中,N为不小于3的整数。
8.根据权利要求6所述的BMC自动测试系统,其特征在于,所述BMC通信单元,具体用于依次从预设接口池中选取出一个接口,并通过该接口,尝试搭建所述测试执行单元和所述待测试BMC固件之间的访问通道,如果均无法通过所述预设接口池中的接口搭建所述访问通道,则判定通道搭建失败;其中,所述预设接口池包括至少两个接口。
9.根据权利要求1至8任一项所述的BMC自动测试系统,其特征在于,所述测试对象确定模块包括:
固件监视单元,用于对预设BMC固件库中的所有BMC固件进行监视,以监视所述预设BMC固件库中是否出现新的BMC固件;
对象确定单元,用于当所述固件监视单元监视到所述预设BMC固件库中出现新的BMC固件,则将该BMC固件确定为所述待测试BMC固件。
10.一种BMC自动测试方法,其特征在于,包括:
确定待测试BMC固件;
对目标服务器中的硬件进行抽象化处理,得到相应的类文件;其中,所述目标服务器为当前能够运行所述待测试BMC固件的服务器;
利用所述抽象化处理得到的类文件,生成相应的测试用例脚本;
对预设配置文件进行解析,得到所述测试用例脚本所需的基础数据文件;
在所述目标服务器上,利用所述测试用例脚本和所述基础数据文件,对所述待测试BMC固件进行相应地测试。