4. 测试用例设计方法高频问题
第 4 章 · 测试用例设计方法
等价类 · 边界值 · 场景法 · 状态迁移 · 正交实验
高频问题 · 回答框架 · 公司侧重点
⚡ 测试用例设计方法是智能驾驶测试面试的“基本功”。面试官不仅考察你能否说出定义,更关注你如何在感知、规控、仿真等场景中灵活组合使用,以及是否具备“设计—执行—评估”的闭环思维。
等价类划分和边界值分析,在智能驾驶测试中如何结合使用?
面试官考察点
是否理解两种方法的内在联系(边界值通常作为等价类的补充),能否结合具体智驾场景(如AEB触发车速、传感器探测距离)说明划分逻辑。
回答框架
- 定义切入:等价类划分有效/无效等价类,边界值取上点、离点、内点。
- 结合场景:以“自动紧急制动(AEB)触发车速”为例,划分有效区间(如10-80km/h)和无效区间,再取边界值(10、80、9.9、80.1)。
- 组合策略:先等价类保证覆盖,再用边界值补充高风险点,最后用场景法串联。
简短示例回答
在AEB测试中,我会先按车速划分等价类:有效区间10-80km/h,无效区间低于10和高于80。然后针对边界值取10、80、9.9、80.1,并考虑传感器误差,增加±0.5的离点。这样既能覆盖正常逻辑,又能捕捉边界异常。
可能追问
- 如果边界值测试通过,但实际路测仍出现问题,可能是什么原因?
- 等价类划分时,如何处理连续输入和离散输入?
避坑提醒:不要只背定义,要结合智驾具体参数(如TTC、车速、距离)说明;避免说“边界值就是取最大最小值”,要强调上点、离点、内点的区别。
场景法和状态迁移法在自动驾驶功能测试中如何应用?
面试官考察点
是否理解基于场景的测试设计(如Cut-in、跟车、变道)以及状态机建模(如ACC状态、LKA状态),能否画出状态迁移图并设计用例。
回答框架
- 场景法:从基本流、备选流、异常流设计,例如“前车切出”场景的基本流、前车急刹的异常流。
- 状态迁移:识别系统状态(待机、激活、退出、故障),画出状态迁移图,覆盖所有迁移路径。
- 结合:用场景驱动状态迁移,例如“从ACC激活到驾驶员接管”的迁移条件。
简短示例回答
以ACC为例,状态包括待机、激活、超越、退出。我会画出状态迁移图,覆盖激活条件(车速>30)、退出条件(踩刹车)、故障迁移等。场景法上设计“前车减速→本车跟停→前车起步”的基本流,以及“加塞切入”的异常流,确保状态切换正确。
可能追问
- 状态迁移覆盖的标准是什么?如何保证100%迁移覆盖?
- 场景法设计中,如何确定场景的优先级?
避坑提醒:不要混淆“场景”和“用例”,场景是故事,用例是具体步骤;状态迁移要明确迁移条件、迁移动作和守卫条件。
正交实验法在智驾测试中如何落地?如何与等价类、边界值组合?
面试官考察点
是否掌握正交表的选择、因子与水平的确定,以及如何用正交实验减少用例数量而不降低覆盖率。
回答框架
- 识别因子:如天气(晴/雨/雾)、道路(高速/城区)、光照(白天/夜晚)、目标类型(车/人/锥桶)。
- 选择正交表:根据因子数和水平数选择L9(3^4)或L8(2^7)等。
- 组合策略:先用等价类和边界值确定每个因子的关键取值,再用正交表组合,最后用场景法串联成完整用例。
简短示例回答
测试AEB在不同环境下的表现,因子有天气(晴/雨/雾)、光照(白天/夜晚)、目标(车/人)。我选择L9(3^3)正交表,得到9组组合,覆盖了各因子两两交互。再对每组组合用边界值补充车速边界,用场景法设计具体触发流程,最终用少量用例达到较高覆盖率。
可能追问
- 正交实验的局限性是什么?什么情况下不适合用?
- 如何评估正交实验生成的用例覆盖率?
避坑提醒:不要盲目追求正交表,因子水平过多时考虑pairwise;正交实验不能替代边界值,两者互补。
🏢 公司侧重点对比
| 公司类型 | 侧重方法 | 典型追问 |
|---|---|---|
| 主机厂 / Tier1 | 场景法、状态迁移、边界值 | “如何设计Cut-in场景的测试用例?” |
| 自动驾驶算法公司 | 等价类、正交实验、边界值 | “感知模块的输入边界如何划分?” |
| 仿真测试平台 | 正交实验、场景法、状态迁移 | “如何用正交实验减少仿真用例数量?” |
| 芯片 / 传感器厂商 | 边界值、等价类、错误推测 | “传感器探测距离的边界值怎么取?” |
🎯 可迁移回答话术
“在智驾测试中,我通常先通过等价类和边界值锁定输入域的关键点,再用场景法串联成完整的行驶故事,最后用状态迁移验证系统状态切换的正确性。对于多因子组合,我会用正交实验来平衡覆盖率和用例数量。这套组合拳能有效发现边界异常和状态跳变问题。”