候选人面试分析:BMS测试-博世
来源
- 转写文件:
BMS测试-博世.txt - 候选人姓名:转写中无法确认真实姓名;不编造姓名。
- 备注:转写文本存在较多口语化、重复、语句断裂及可能的语音识别错误(如“潘龙”可能为“面板”,“坤坤”可能为“昆”或“dSPACE”等),但不影响对候选人能力的整体判断。对话中存在多人提问,主要围绕BMS HIL测试展开。
岗位方向
- 主要匹配:BMS HIL台架测试(执行层)。
- 次要匹配:车身域测试。
- 岗位适配判断:候选人更适合按既定用例执行的BMS HIL测试执行岗位,不适合需要独立设计测试方案、搭建模型或开发自动化脚本的岗位。
整体结论
候选人具备约一年的BMS HIL台架测试经验,主要工作内容为在已有的台架和工程环境上,按照既定用例执行充电功能、故障注入等测试任务。其对BMS HIL系统的基本构成、信号类型和测试流程有概念性了解,能描述充电交互流程,并分享了一个关于CAN报文长度导致ECU死机的bug分析案例。然而,候选人在技术深度上存在明显短板:对HIL实时系统、模型搭建、板卡配置、自动化脚本开发、诊断协议测试等核心能力仅停留在“使用”或“了解”层面,缺乏独立设计和问题定位的深度。回答多为流程性描述,当被追问具体实现、工具操作细节及测试设计方法时,表现出依赖预设环境和他人成果的特征。整体来看,候选人是一名合格的初级测试执行者,但技术深度和独立解决问题的能力是其核心风险,不建议直接承担需要独立设计或复杂问题攻关的岗位。
答得好的点
- 对BMS HIL台架的基本构成有概念,能列举出PWM信号、数字量、模拟量、电阻、故障注入等常见信号类型和板卡。
- 能完整、流畅地描述交流充电(AC充电)的详细交互流程,包括从休眠唤醒、自检、初始化到与VCU交互、闭合继电器、状态跳转的整个过程,显示出对充电功能逻辑的熟悉。
- 分享了一个具体的bug分析案例:通过修改CAN报文的DLC(数据长度)导致BMS死机,定位为程序未检查数据长度导致内存越界,并给出了增加长度判断和看门狗保护的解决方案,体现了基本的逻辑排查能力。
- 对测试设计中的边界值分析法有基本概念,能针对35度阈值提出测试34、35、36等边界值。
- 了解UDS诊断协议中的常用服务,如10(会话控制)、14(清除故障码)、27(安全访问)、22/2E(数据读写)、19(读取故障码)等,并能说明其在工作中作为辅助工具使用。
薄弱风险
- HIL系统知识停留在表面:不清楚所用VT实时机的底层操作系统,对其他供应商(NI、dSPACE)的实时系统也认知错误,认为都是Windows系统,暴露了对实时仿真核心概念的缺乏。
- 模型与工程搭建能力缺失:明确表示电池模型不是自己搭建,VCU等模拟节点由工程提供,自己只负责“按用例来测”,不具备独立搭建或修改HIL测试环境的能力。
- 工具链使用深度不足:在模拟修改CAN报文DLC的细节上,从CANoe的IG模块操作被追问时回答含糊,未能清晰说明在软件界面中的具体操作路径,工具熟练度存疑。
- 测试设计能力薄弱:当被要求针对一个温度阈值设计测试用例时,仅能给出边界值,无法从功能场景、异常场景、压力、组合条件等多维度展开,测试思维单一。
- 自动化能力仅为学习阶段:明确表示Python编程能力仅停留在大学学习阶段,目前正在“捡起来”,未在实际项目中使用过,不具备自动化脚本开发或修改能力。
- 诊断测试深度不足:对UDS诊断协议仅停留在“会用”一些服务来辅助测试,未深入测试过这些诊断服务本身,缺乏对诊断协议栈的验证能力。
- 问题定位思路依赖性强:在排查总线错误真问题时,排查思路局限于检查通道配置、终端电阻和线束,当这些被排除后,缺乏进一步定位是硬件还是软件问题的深层手段,最终归因于“配置问题”,分析不够深入。
面试官考察点
- HIL系统理解深度:通过询问实时机操作系统、模型参与度,验证候选人是否真正理解HIL系统的工作原理,还是仅会操作。
- 台架信号与硬件认知:通过询问BMS接收的信号类型、板卡类型,考察候选人对物理层和I/O接口的理解。
- 具体功能测试细节:通过追问预充回路测试、SOC精度验证、充电功能触发逻辑,验证候选人是否亲手执行过复杂测试用例,以及测试的深度。
- 问题解决与排查能力:通过总线错误真排查、bug分析案例,考察候选人的逻辑思维、问题定位能力和技术深度。
- 工具链真实熟练度:通过追问CANoe中DLC修改的具体操作路径,验证候选人是否真正熟练使用核心测试工具。
- 测试设计能力:通过要求候选人针对温度阈值设计用例,考察其测试思维是否全面,能否独立承担用例设计工作。
- 自动化与编程能力:通过询问Python和CAPL脚本的修改/开发经验,评估候选人的技术扩展能力和效率提升潜力。
- 岗位职责边界:通过反复确认“是工程给的”、“同事负责搭建”等,明确候选人在团队中的真实角色是执行者还是设计者。
证据摘录
- “我们这边用的是一个v t的这个。就这个钱了,对吧?”
- “呃,对,是的,那个呢是那个摄像机,操作系统是windows。”
- “嗯,这边就是有有的我们这边这个模型哈,就是电池仿真的这个模型。嗯,电池模其实里面是电池模型嘛,嗯嗯模型这块是存在很大的,你参参与过搭建这个电池模型吗?就这个方面,就我不不是我。不写是吧?嗯。”
- “就是这个工工程给你的,你你只要知道怎么用就行了,不需要校正。就是刚刚说到的这些地区建立的模拟啊什么的,都不需要知道。工程。工程给我就就我今天就他给我给我就按称来怎么测。”
- “就是然后就是故意把这种就是数据它的长度就是改动嘛,就是结果就是跟b m就是他就直接实际就是实际的就是不能呃正常的那种下下高压。就是后来就是检查出来,就是他那个程序就是在解析报文的时候,就没有检查他数据长度,就直接就是往他内存里去写啊,导致就是越界崩溃了。”
- “我我是用的那个i g模块,就是。i g模块就是就是。就往上画。”
- “设计,这就是我会采用。并且是。边界值,然后上边界值上,然后三十五上面。三十六,然后下面三十四,然后就。就是测。”
- “就是说我这python的话就是大学学过嘛,然后就这边就是就是现在目前就是在把它捡起来,现在就是在学习学习这个。就是说就是实际过程中没有参没有没有在项目中间去用这个python去做一些就是优化什么的吧。”
评级建议
- 建议评级:C+
- 推荐方向:BMS HIL测试执行、车身域测试执行,在明确的测试用例和成熟的台架环境下进行工作。
- 谨慎方向:BMS HIL系统集成与模型搭建、自动化测试开发、需要独立设计测试方案或深入诊断分析的高级测试岗位。
- 面试推进建议:可作为初级执行岗位的备选候选人。若岗位急需能立即上手执行测试的人员,可考虑进入复试,但需由技术专家在复试中重点补问工具实操和简单用例设计。若岗位要求具备独立设计或问题攻关能力,建议淘汰。
可补问问题
- 请现场演示在CANoe中如何创建一个IG模块,配置并发送一个特定ID的报文,并修改其DLC和数据场内容。
- 如果现在有一个新的需求:“当电芯温度超过45度时,BMS应请求冷却系统开启,并降功率运行”,请口头设计一下针对这个需求的测试用例,尽可能覆盖各种场景。
- 你提到用过UDS的27服务(安全访问),请说明安全访问的完整流程(请求种子、发送密钥),以及如果密钥错误,你预期BMS会如何响应?
- 在HIL台架上,你是如何模拟一个“高压互锁回路断开”的故障来测试BMS的响应的?请描述从故障注入到预期结果判定的完整过程。
- 你简历中提到“负责一些开户脚本的简单修改”,请具体说明是什么类型的脚本(CAPL/Python),你修改了哪些部分,解决了什么问题?