某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下:
1.模式选择:采集模式控制离散量信号In_D1并通过模式识别信号灯显示软件当前工作模式。在信号In_D1为低电平时进入正常工作模式(模式识别信号灯为绿色),为高电平时进入维护模式(模式识别信号灯为红色)。软件在正常工作模式下仅进行刹车控制和记录刹车次数,在维护模式下仅进行中央控制器指令响应。
2.刹车控制:采用定时中断机制,以5ms为周期采集来自驻车器发出模拟量信号In_A1以及来自刹车踏板发出模拟量信号In_A2,并向刹车执行组件发送模拟量信号Out_A1进行刹车控制。
模拟量信号说明:1)In_A1、In_A2以及Out_A1信号范围均为[0.0V,10.0V],信号精度均为0.1V;2)Out_A1信号计算方法为:Out_A1=In_A1+0.3×In_A2,在计算完成后需要在满足信号精度要求下进行四舍五入及限幅处理。
3.记录刹车次数:在Out_A1大于4V时,读出非易失存储器NVRAM中保存刹车次数记录进行加1操作,然后保存至非易失存储器NVRAM中。
4.响应中央控制器指令;接收来自中央控制器串行口指令字In_S1,回送串行口响应字Out_S1。当接收指令字错误时,软件直接丢弃该命令字,不进行任何响应。
指令字及响应字说明如表1所示。
3、某测试人员设计了如表3所示操作步骤,对模式选择功能进行测试(表中END表示用例到此结束)。
表3
为进一步提高刹车控制软件安全性,在需求中增加了设计约束:软件在单次运行过程中,若进入正常工作模式,则不得再进入维护模式。请参照表3测试用例完成表4,用于测试该设计约束。
表4
第三小题中如果不考虑约束,软件工作状态从组合角度来说,表2测试顺序完全符合要求。但是许多软件在实际使用中,由于真实情况限制,不能从理论情况进行组合,对一些条件必须要进行约束。比如本题中,在单次进入正常工作模式后,就不能进入维护模式,因为维护模式是一种检修模式,不能再正常工作中,进行检修,所以必须保证在正常工作模式下,对维护模式命令不响应。所以此题前提条件应该为"上电前置In_D1为高电平,给测试环境上电,模式识别信号灯为红色",即在上电后首先让工作模式为维护模式:然后再发送进入正常工作模式命令,灯变绿,进入工作模式;最后在正常工作模式下,发送进入维护模式命令,此时软件应该不响应,灯继续为绿色,表示在工作模式,完成带约束条件状态转换测试。如果此题继续表3测试前提条件,不管发送什么命令,灯一直不会变化,就无法判断是软件问题还是测试设备问题,无法完成测试。