在<<网络管理(上)之CanNM模块>>和<<实战篇之AUTOSAR网络管理的上下电流程的原理和配置分析>>等一系列文章中我们介绍了AUTOSAR网络管理的知识,本文我们简要回顾一下,并着重介绍一下实际项目中的测试用例设计。
1 AUTOSAR网络管理简单回顾
网络模式(Network Mode) 网络准备休眠模式(Prepare Bus-Sleep Mode) 网络休眠模式(Bus-Sleep Mode)
报文快发状态(Repeat Message State) 正常网络状态(Normal Network State) 准备休眠状态(Ready Sleep State)
节点模式 | 报文类型 | Bus-Sleep Mode | Network Mode | Prepare Bus-Sleep mode | ||
Repeat message | Normal Operation | Ready Sleep |
| |||
主动节点 | 应用报文 | 不允许收发 | 允许收发 | 允许收发 | 允许收发 | 不允许收发 |
网络管理报文 | 允许收,不允许发 | 允许收发,且快发模式 | 允许收发, 正常模式 | 允许收,不允许发 | 允许收,不允许发 | |
被动节点 | 应用报文 | 不允许收发 | 允许收发 | 允许收发 | 允许收发 | 不允许收发 |
网络管理报文 | 允许收,不允许发 | 允许收 | 允许收 | 允许收 | 允许收 |
CanNMPDU数据格式
CBV(Control Bit Vector)结构(详细解释见<网络管理(上)之CanNM模块>>)
2 测试用例设计
2.1 网络管理报文内容测试
条目 | 测试用例 | 期望结果 |
1 | 发出的网络管理报文的源节点地址(Source Node ID)是否正确 | 符合OEM给出的ID |
2 | 控制位向量的值是否正确 |
|
3 | User Data中未使用字节是否符合OEM要求(一般默认为0) | / |
4 | 如果User Data用作设置wake reason和awake reason,那么就要测试这两个位是否正确。具体如下所示: 1) wake reason一直发送将网络管理状态从sleep(Bus Sleep、Prepare Bus Sleep或者Ready Sleep)切换到允许发送网络管理报文的状态的(NOS或者RMS)值; 2) 当网络管理状态进入sleep再次被唤醒进入可以发送网络管理报文的状态时,需要更新wake reason的值; 3) 在NOS或者RMS状态时需要发送awake reason值(即让总线没有被释放的原因) | / |
5 | 测试网络管理的报文的有效识别范围是否符合OEM要求(比如OEM要求的范围是0x600-0x6FF,需要测试此范围内的报文是否可以唤醒,非此范围内的报文是否不可以唤醒) | / |
2.2 状态转换测试
测试条目 | 测试case | 期望结果 |
1 | BSM状态测试 1)无任何唤醒源条件下,DUT上KL30电后默认进入BSM状态,此时DUT不发送任何报文; 2)在DUT处于BSM时,向DUT发送一帧应用报文,不应被唤醒 | / |
2 | BSM-RMS(1-2)
| 1能够完成状态跳转 2状态跳转中涉及的参数和信号满足以下要求(参数列表如下,根据状态选择参数) 1) 快发报文的数量满足OEM要求 2)快发报文的周期满足OEM需求 3)唤醒后发送的第一帧报文为NM报文, 4)唤醒时间(从上电到首帧NM报文的发送时间) |
3 | RMS-NOS-RSS-NOS(1-2-3-5-6) | 1能够完成状态跳转 2状态跳转中涉及的参数和信号满足以下要求(参数列表如下,根据状态选择参数) 1) 快发报文的数量满足OEM要求 2)快发报文的周期满足OEM需求 3)应用报文是否正常发送; 4)在RSS状态下停止网络管理报文的发送; 5)NOS状态下网络管理报文的周期是否满足OEM需求 |
4 | RMS-RSS-NOS(1-2-8-6) | 同case 3 |
5 | NOS-RMS(1-2-3-4) | 同case3,但是不需要测试RSS状态下的网络管理报文的停止发送 |
6 | RSS-RMS(1-2-3-5-7) | 同case3 |
7 | RSS-PBM-RMS(1-2-3-5-9-10) | 1) RSS跳转到PBM的时间是否符合OEM要求; 2) RSS状态下允许应用报文收发; 3) PBM状态下不允许应用报文的收发; 4) RMS状态的参数是否正确:快发报文的周期及数量测试 |
8 | RSS-PBM-RMS(1-2-8-9-10) | 同case7 |
9 | RSS-PBM-BSM(1-2-3-5-9-11) | 同case7,但是需要关注PBM跳转到BSM的时间是否符合OEM的要求 |
10 | RSS-PBM-BSM(1-2-8-9-11) | 同case9 |
2.3 工作场景测试
条目 | 测试case | 期望结果 |
1 | 休眠唤醒测试 | DUT从PBM跳转到BSM后多久可以再次被唤醒(需要符合OEM要求,该case主要测试下电再上电的时间) |
2 | 高负载下唤醒测试 | DUT在高网络负载下唤醒功能不受影响 |
3 | 本地唤醒和远程唤醒同时触发测试 | 检查DUT在本地唤醒和远程唤醒同时触发情况下需要被唤醒,且此时需要从RMS->NOS状态 |
2.4 错误处理
条目 | 测试case | 期望结果 |
1 | 总线BusOff时网络管理的状态 | BusOff不应改变网络管理的状态 |
2 | 诊断维持唤醒 | 处于诊断时(诊断维持时间一般位5S),应保持唤醒状态;诊断结束后,应进入休眠状态 |