一种BMC自动化测试框架的设计与实现

目录

1 绪论 (1)

1.1 课题的研究背景与意义 (1)

1.1.1 BMC测试简介 (1)

1.1.2 BMC手工测试的局限性 (1)

1.1.3 BMC自动化测试的可行性 (2)

1.2 国内外研究现状 (3)

1.2.1 国外研究现状 (4)

1.2.2 国内研究现状 (4)

1.3 本文的主要工作与关键技术 (5)

1.4 本文的研究意义 (6)

1.5 本文的组织结构 (6)

2 技术综述 (7)

2.1 自动化测试工具研究综述 (7)

2.2 BMC自动化测试中存在的问题 (9)

2.2.1 BMC测试的特殊性 (9)

2.2.2 常用自动化测试工具在BMC测试中的局限性 (11)

2.2.3 传统BMC自动化测试的不足 (12)

2.3 常见的自动化测试框架 (13)

2.3.1 模块化框架 (13)

2.3.2 测试库框架 (13)

2.3.3 数据驱动测试 (13)

2.3.4 关键字驱动框架 (14)

2.3.5 混合型框架 (15)

2.4本章小结 (16)

3 BMC自动化测试框架的分析与设计 (17)

3.1 系统需求分析 (17)

3.2 设计思路 (20)

3.2.1 BMC自动化测试框架的设计原则 (20)

3.2.2 本文的技术路线 (21)

3.3 BMC自动化测试系统设计 (22)

3.3.1 系统整体设计 (22)

3.3.2 数据驱动测试的设计 (25)

3.3.3 模块化测试的设计 (27)

3.3.4 简化的脚本开发设计 (29)

3.4 本章小结 (30)

4 BMC自动化测试框架的实现 (31)

4.1混合自动化框架的整体实现 (31)

4.2 BMC/POST通信模块的实现 (34)

4.2.1 BMC Console API的实现 (34)

4.2.2 IOL API的实现 (35)

4.2.3 KCS API的实现 (36)

4.2.4 POST Console API的实现 (37)

4.2.5 动态选择BMC访问接口 (37)

4.3 HW ABS模块与模块化测试的实现 (38)

4.4 脚本模块与简易脚本开发的实现 (40)

4.5 配置文件模块与数据驱动测试的实现 (42)

4.6 测试管理与执行模块的实现 (45)

4.6.1 TM的实现 (46)

4.6.2 TE的实现 (47)

4.6.3 日志与报告功能的实现 (48)

4.7本章小结 (48)

5 测试与验证 (49)

5.1 系统性能的评价标准 (49)

5.2 系统测试 (49)

5.3 测试结果分析 (53)

5.4 本章小结 (54)

6 总结与展望 (55)

6.1 本文的工作总结 (55)

6.2 展望 (56)

参考文献 (57)

致谢 (59)

攻读学位期间发表的学术论文目录 (60)

1 绪论

1.1 课题的研究背景与意义

本论文选题是根据实际工程项目中为存储服务器BMC测试设计一套自动化测试系统。这个系统采用了软件测试领域成熟的基于数据驱动的测试框架和模块化的测试框架组成的混合测试框架,目的在于实现一个高可靠性、高扩展性、自动化程度高、脚本编写简单的BMC自动化测试框架。

1.1.1 BMC测试简介

BMC是基板管理控制器(Baseboard Management Controller)的英文简称,它是一个利用传感器等来监控计算机、网络服务器、或者其他硬件设备的服务处理器。BMC 是IPMI(Intelligent Platform Management Interface)[1]的一部分,常被设计在服务器或者计算机的主板上。BMC的传感器测量内部的物理变量,比如温度、湿度、供电电压、风扇转速、操作系统的功能等,如果某个测量变量超出了规定的值,将通知系统管理员,系统管理员则会采取相应措施。服务器通过通过BMC,利用各种传感器就能管理它上面大量的硬件。

由于BMC在服务器中作用重大,所以企业验证BMC是否符合设计需求是必须的。服务器厂商根据市场需求不同一般会开发不同的服务器平台,不同服务器类型的BMC 固件也存在一定的差异。Firmware开发者每隔一段时间会在之前的Firmware版本上开发一个新的版本,每版BMC都需要经过测试验证。通常BMC的测试过程为:在BMC Shell(或其他与BMC交互的方式)中,发送一个命令(通常为IPMI命令),然后查看BMC 中打印出来的返回值,若返回值与BMC设计时的期望结果相同,认为这个测试过程Pass,BMC功能或行为符合开发人员的设计。否则这个过程Fail,BMC功能或行为与设计时不一致,BMC版本中可能存在bug。

1.1.2 BMC手工测试的局限性

实际工程中,BMC测试包括BMC手动测试和BMC自动化测试,BMC一些测试用例必须由人工测试才能完成,比如测试中需要插拔SLIC卡或者查看LED灯的颜色等。

相关文档
最新文档