论文部分内容阅读
BMC(Baseboard Management Controller,基板管理控制器)是服务器用来监控内部物理变量的固件。BMC是迭代设计的,新开发的每个BMC版本都需要经过回归测试进行验证。为了提高测试的效率、节省成本,企业需要部署自动化测试来解决开发过程中循环进行的BMC回归测试。虽然软件开发与测试技术经过了快速发展,自动化测试理论已经比较成熟,自动化测试工具已广泛运用,但是对于涉及到服务器硬件以及非操作系统环境下底层软件的BMC测试,市场上还没出现成熟的自动化测试工具。本文就企业实际工程中的BMC自动化测试框架的研究课题,分析了软件领域成熟的自动化测试框架模型,提出了基于数据驱动的模块化的混合自动化测试框架。该框架成功实现,并应用于BMC回归测试中。BMC自动化测试系统实现了基于数据驱动的自动化测试。根据测试需要,企业每个服务器平台的每个BMC版本都要进行测试,因此服务器平台和BMC版本都是测试过程中的变量。基于数据驱动的测试将这些变量放入系统配置文件中,系统开启后,从配置文件中读取这些变量的值,对于不同的变量值系统为之启动不同的测试。该框架还建立了一系列的公用的配置文件,这些公用的配置文件存储了测试过程中需要的服务器的硬件信息、IPMI指令信息等。测试过程中的数据从这些配置文件中读取。当服务器变更或BMC版本变更时,可以通过修改这些配置文件来维护系统,降低系统的维护成本。BMC自动化测试应用了模块化的测试方法。系统根据服务器上Device间的物理关系,把BMC测试过程中涉及到的所有Device都抽象化,将这些Device建造成一颗父节点与子节点可以相互访问的树结构。对于BMC测试用例的测试步骤,将这些步骤模块化,封装成与这个步骤有关的Device的方法。经过上述模块化,BMC测试用例的脚本文件可以通过调用Device的方法组装完成。基于数据驱动的模块化的BMC自动化测试框架还讨论实现了简化的自动化测试脚本开发方法。通过为每个BMC测试用例创建类文件,在用例类文件的父类中实现测试的配置与测试流程的规定,在用例类文件中实现测试方法。因此用例的类文件实现非常简单,即使是对BMC自动化测试不熟的非自动化测试人员也能非常轻松的上手开发自动化脚本。另外,系统设计了测试管理功能,可以对多个服务器平台的机器与测试用例计划进行管理,实现了在不同的服务器平台的各测试机器上同时进行测试。基于数据驱动的模块化的BMC自动化测试框架运行稳定,通过配置系统配置文件能够完成多节点BMC测试,为企业提高了测试效率,节省了成本。