阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式控制软件通过采集传感器数值来计算输出控制率,为了提高数据采集的可靠性,使用三余度采集方法进行三个通道的数据采集。 1.三余度通道数据采集及处理要求: (1)三通道采集值In_U[0]、In_U[1]、In_[2]的正常范围为[-3.0,3.0]V,且任意两通道间差值不大于0.5V; (2)如果某通道采集值超过正常范围或者因为通道采集值造成与其他通道差值大于0.5V,则该通道数据不满足要求; (3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据的平均值; (4)如果仅有一个通道数据不满足采集要求,取满足要求的两个通道数据的平均值; (5)如果多于一个通道数据不满足采集要求,取安全值0V。 2.对采集数值计算控制率的具体处理算法如下: (1)如果依据采集数据计算的控制率C 1 与目前实际控制率C 0 差值不大于0.01,则使用本周期计算控制率C 1 进行输出控制,否则使用目前实际控制率C 0 输出控制,不上报传感器故障; (2)如果连续3个周期计算的控制率C 1 与目前实际控制率C 0 差值大于0.01,则上报传感器三级故障,连续超差计数清零,使用目前实际控制率C 0 输出控制;如果已经连续3个周期控制率超差,并上报三级故障,但第4个周期计算的控制率C 1 与目前实际控制率C 0 差值不大于0.01,则清除三级故障上报: (3)如果累计大于等于10个周期计算的控制率C 1 与目前实际控制率C 0 差值大于0.01,则上报传感器二级故障,使用目前实际控制率C 0 输出控制; (4)如果累计大于等于100个周期计算的控制率C 1 与目前实际控制率C 0 差值大于0.01,则上报传感器一级故障,并清除二级故障,并切断输出控制(输出安全值0); (5)如果低级故障和高级故障同时发生,则按高级故障处理。
问答题 为了测试采集算法,在不考虑测量误差的情况下,设计了表5-1所示的测试用例,请填写该表中的空(1)~(6)。
【正确答案】正确答案:(1)1.90V (2)1.55V (3)2.70V (4)一2.90V (5) 0V (6)0V
【答案解析】解析:为了测试三余度通道数据采集算法,就要依据题目说明三余度通道数据采集及处理要求中给定的5条设计要求,进行测试用例的设计。首先依据第1条设计说明,采集值正常范围为[-3.0,3.0]V,将输入范围进行等价类划分,划分为无效等价类(超出正常范围)和有效等价类(正常范围),同时在有效等价类中,还存在“任意两通道间差值不大于0.5V”的约束。将设计测试用例的范围整理出来后,就可按照软件测试的要求设计测试用例。但是由于本题给出了采集值,只需要根据采集值计算输出即可。 序号1、序号2和序号3,因为三个采集值都是正常范围,且任意两通道间差值不大于0.5V,依据第3条设计说明,采集值应为差值较小的两通道数据的平均值。因为序号1数据差值都为0.0V,所以任意取两个通道数据的平均值即可,故采集值为0.00V;序号2取In_U[0]和In_U[2]的平均值,为1.90V;序号3取In_U[0]和In_U[1]的平均值,为1.55V。 序号4,三个通道采集值是正常范围,但In_U[2]通道与In_U[0]和In_U[1]间差值大于0.5V,依据第2条和第4条设计说明,In U[2]通道采集值不满足要求,应取满足要求的In_U[0]和In_U[1]两个通道数据的平均值,故采集值为2.70V。 序号5,In_U[1]通道采集值是超出正常范围,In_U[0]和In_U[2]通道在正常范围,这里要注意In_U[0]采集值为边界点,依据第2条和第4条设计说明,In_U[1]通道采集值不满足要求,应取满足要求的In_U[0]和In_U[2]两个通道数据的平均值,故采集值为一2.90V。 序号6,三个通道采集值是正常范围,但三个通道采集值的任意两两差值均大于0.5V,依据第2条和第5条设计说明,应取安全值0V,故采集值为0V。 序号7,两个通道采集值超出正常范围,依据第2条和第5条设计说明,应取安全值0V,故采集值为0V。
问答题 为了测试控制率计算算法,在不考虑测量误差的情况下,设计了表5-2所示的测试用例,请完善其中的空(1)~(6)。
【正确答案】正确答案:(1)1.454 (2)2 (3)任意大于等于9小于等于98的整数 (4)二级故障 (5)0 (6)一级故障
【答案解析】解析:为了测试控制率计算算法,就要依据题目说明对采集数值计算控制率的具体处理算法中给定的5条设计要求,进行测试用例的设计。此题考察测试用例的设计,不仅包括输入数据的设计,还包括前置条件(比如控制率超差连续计数和累计计数)及预期输出的设计(比如输出控制率和上报故障情况),条件增多,比问题1难度增加。 序号1,前置条件中控制率超差连续计数和累计计数都为0,计算控制率与实际控制率误差不超过0.01,依据第1条设计说明,输出控制率为计算控制率1.632,不上报故障。 序号2,前置条件中控制率超差连续计数和累计计数都为0,计算控制率与实际控制率误差超过0.01,依据第l条设计说明,输出控制率为实际控制率1.454,不上报故障。 序号3,前置条件中控制率超差累计计数为6,计算控制率与实际控制率误差超过0.01,并且上报了三级故障,输出控制率为实际控制率2.369,依据第2条设计说明,确定控制率超差连续计数预期值应该为3,所以前置条件中的控制率超差连续计数只能为2。 序号4,前置条件中控制率超差连续计数为1,计算控制率与实际控制率误差超过0.01,并且上报了二级故障,输出控制率为实际控制率1.557,依据第3条、第4条和第5条设计说明,确定控制率超差累计计数预期结果应该为大于等于10且小于等于99的整数,所以前置条件中的控制率超差累计计数为9至98区间中的任意整数,即任意大于等于9且小于等于98的整数。 序号5,前置条件中控制率超差连续计数为2并且累计计数为9,计算控制率与实际控制率误差超过0.01,输出控制率为实际控制率2.234,依据第3条和第5条设计说明,确定控制率超差累计计数预期结果应该为10,所以应该上报二级故障。 序号6,前置条件中控制率超差连续计数为O并且累计计数为99,计算控制率与实际控制率误差超过0.01,上报了一级故障,依据第4条和第5条设计说明,确定控制率超差累计计数预期应为100,此时应该切断输出控制,即输出安全值0,所以输出控制率为0。 序号7,前置条件中控制率超差连续计数为2并且累计计数为99,计算控制率与实际控制率误差超过0.01,输出控制率为安全值0,依据第4条和第5条设计说明,确定控制率超差累计计数预期应为100,此时应该上报传感器一级故障,并清除二级故障,所以应上报一级故障。
问答题 测试人员在设计测试用例进行采集算法测试时,发现本项目的三余度采集值的具体处理算法存在1处缺陷,请指出此处缺陷。
【正确答案】正确答案:三余度采集值的具体处理算法对三次采集值均为有效值且相邻值的差形成等差数列的情况未进行处理。
【答案解析】解析:软件设计人员在设计过程中容易忽略一些特殊情况的处理,而这些特殊情况往往会造成软件运行过程中的严重错误。此题目考查测试人员在设计测试用例的过程中,对一些特殊情况是否完全覆盖。本题目的三余度采集值的具体处理算法中,在设计测试用例过程中,发现当三次采集值均为有效值且相邻值的差形成等差数列时,应按照第3条设计要求处理,即三通道值均满足要求,取三通道中差值较小的两通道数据的平均值,但是此种情况中,三通道形成的两个差值相等,算法中缺少对此种特殊情况的处理,会导致此种情况出现时不能给出预期结果,存在算法缺陷。