新闻详情

新闻详情

首页 / 资讯中心 / 详情

openBMC自动化测试说明

发布时间:2026/9/29 21:34:32来源:尧图网络
openBMC自动化测试说明
第一测试依赖于测试机器测试环境构建。除了拉取代码还需要按照说明安装一些基本的工具例如ipmitool之类的命令如果是GUI测试可能还需要安装浏览器和对应的驱动第二测试本身有很多外部依赖。例如LDAP NTP等测试需要给真实的BMC设备配置能通过网络连接上的外部服务器第三测试用例本身可能存在问题。例如预期不符合等。需要具体问题具体分析可能是用例过时可能是用例使用了部分平台特有的关键字或者BMC固件有改动预期结果需要修改。或者BMC固件确认存在bug需要修复。等等第四没有按照用例本身的设计去使用。例如测试要求提供host os的ip 账号密码等等在测试带内ipmi测试的时候需要在host os测执行一些命令如果这些参数没提供或者提供了但是实际上不生效这时候就没办法开启测试因此openbmc-test-automation测试社区的测试用例如果执行失败了要综合分析最好就是自己跑一遍结合日志具体分析。因为一个用例测试失败了有多个方面的原因。四类失败原因与分析方法整合分类对应分析脚本中的根因典型失败阶段排查优先级第一类测试环境/构建未就绪前置条件不满足环境层面Setup / 测试主体开头最高第二类外部依赖未配置前置条件不满足依赖层面Setup / 特定测试步骤最高第三类测试用例本身有问题测试预期不符合 / 需人工确认测试主体断言阶段中第四类参数未提供或不生效测试参数未传递/变量问题Setup / 测试主体高 第一类测试环境与构建依赖核心判断失败发生在测试执行的最早期消息通常包含Command not found、No such file、ImportError、浏览器驱动缺失等。排查清单依赖类型需确认项典型错误基础工具ipmitool、expect、dmidecode、nmcli是否安装ipmitool: command not foundPython 环境Python 3.x、pip install -r requirements.txt是否执行ModuleNotFoundError: No module named redfishGUI 测试浏览器及 WebDriver 是否安装配置WebDriverException: Message: chromedriver executable needs to be in PATH权限ipmitool、dmidecode是否需要sudoPermission denied定位方法在output.xml中搜索失败用例的第一个失败关键字检查其消息是否指向环境层面。FFDC 收集的日志BMC_journalctl.txt、OS_dmesg.txt等也可以辅助判断是否是环境问题。 第二类外部依赖未配置核心判断环境构建正常但测试连接不到外部服务消息通常包含Connection refused、Timeout、unreachable。典型场景LDAP 测试BMC 需要能通过网络访问到真实的 LDAP 服务器。如果 LDAP 服务器地址不可达或配置错误所有 LDAP 登录测试都会失败。有一个真实案例OpenBMC 的 LDAP 测试用例因为传入了无效的 LDAP URIInvalid_LDAP_Server_URIBMC 在格式校验阶段就返回了400 Bad Request测试根本没走到登录验证步骤。NTP 测试需要 BMC 能连接到 NTP 服务器进行时间同步。SOL 测试需要 BMC 的 SOL 功能已激活且网络路由正确。虚拟介质测试需要 ISO URL 从 BMC 网络可达且认证信息正确。定位方法检查output.xml中失败消息是否包含网络层面的错误。同时确认测试配置文件中BMC_HOST、外部服务器地址等参数是否正确。 第三类测试用例本身的问题这是最复杂的一类需要具体问题具体分析。常见子类型子类型特征示例用例过时BMC 固件已更新旧断言不再适用旧版本返回200新版本返回204平台特有关键字某平台专有其他平台不支持pldmtool仅适用于支持 PLDM 的平台预期结果需修改BMC 行为变更原预期不再正确Redfish 字段名或结构变化BMC 固件 Bug用例正确固件确实有问题需要提 Bug 修复LDAP 案例的启示OpenBMC 的 LDAP 测试中Verify LDAP Config Creation Without BASE DN用例预期“不传 BaseDN 时 LDAP 登录应失败”但 BMC 固件实际上不接受空的 BaseDN 列表直接返回400 Bad Request和PropertyValueNotInList错误。这说明用例的预期与固件实际行为之间存在偏差需要确认是固件 Bug 还是预期需要更新。定位方法在output.xml中查看断言失败的具体消息expectedvsactual结合 BMC 固件版本和变更日志判断。⚙️ 第四类参数未传递或不生效核心判断失败消息通常包含Variable ${x} not found、Expected N arguments, got M、Missing argument等。典型场景带内 IPMI 测试需要在 Host OS 上执行命令要求提供 Host OS 的 IP、账号、密码。如果这些参数未提供或提供了但 SSH 连接不生效测试无法启动。配置文件中参数格式错误SBMR-ACS 的文档明确指出配置文件中的配置错误是测试失败最常见的来源配置文件使用 Robot Framework 的参数语法需要精确的格式。变量作用域问题变量未正确传递到子关键字或 Setup/Teardown 中。定位方法检查output.xml中的失败消息同时核对测试配置文件如config文件或--variable命令行参数中的值是否正确传入。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Markdown 编辑器选型与高效写作工作流:从语法到导出的完整指南 2026/9/29 22:18:00

Markdown 编辑器选型与高效写作工作流:从语法到导出的完整指南

如果用一句话概括我这几年写东西的习惯,那就是:能 Markdown 就绝不用 Word。方案、周报、读书笔记、公众号草稿、技术文档,甚至毕业论文的初稿,我都是在 Markdown 编辑器里写完,再按需导出成 PDF 或 Word。最开始只是嫌…

阅读更多 →
共享凭据紧急熔断与一键夺权:企业密码管理器(安当SYP)在突发安全事件中的秒级冻结实践 2026/9/29 22:18:00

共享凭据紧急熔断与一键夺权:企业密码管理器(安当SYP)在突发安全事件中的秒级冻结实践

一、为什么特权共享凭据必须能"秒级熔断" 在很多企业的真实环境里,"共享账号"不是例外,而是常态。财务共用一个网银操作员号,供应链审核组共用一个采购平台账号,车企研发外包团队共用一台跳板机的域账号&…

阅读更多 →
自然语言驱动Blender建模,Antigravity+MCP快速构建智慧仓储数字孪生场景 2026/9/29 22:17:59

自然语言驱动Blender建模,Antigravity+MCP快速构建智慧仓储数字孪生场景

先说个可能有点反直觉的结论:一套看起来很唬人的智慧仓储数字孪生场景,最耗时间的往往不是渲染,不是动画,而是最基础的那批3D资产建模和场景装配。传统做法里,建模师照着平面图一点点拉墙、摆货架、布库位,…

阅读更多 →
牛客笔试会录屏吗?判定吃的是每 30 到 40 秒一张的截图 2026/9/29 22:17:26

牛客笔试会录屏吗?判定吃的是每 30 到 40 秒一张的截图

先交代位置。我们在做面试和笔试的实时辅助工具,这两年拆了不少考试端的前端和客户端,也一直在拿各家助手那句「完全隐身」去对照实测。下面写的是拆出来和查到的结果,落点只有一个:对方那一侧到底在采什么。 这篇讲在线笔试&…

阅读更多 →
国产codex技术研发进展与应用场景全景解析 2026/9/29 22:17:20

国产codex技术研发进展与应用场景全景解析

科研路上最浪费时间的不是实验失败,而是“工具焦虑”——下载一堆软件,用到一半弃坑,效率反而更低。这篇只挑4款真正高频、互补的工具,第一个重磅拆解切问学术(文献全链路救星),其余三款覆盖管理…

阅读更多 →
179、MLIR的Profiling(性能分析)与Timing(计时)Pass 2026/9/29 22:17:20

179、MLIR的Profiling(性能分析)与Timing(计时)Pass

MLIR的Profiling(性能分析)与Timing(计时)Pass 上周帮团队调一个AI推理引擎的算子性能问题,模型跑在自研NPU上,某个卷积算子的延迟比预期高了3倍。常规手段——插桩、打印时间戳、甚至用perf去抓——都试了,结果发现瓶颈不在计算本身,而在MLIR编译后的IR调度上。那个调…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉