某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集的可靠

admin2022-08-02  43

问题 某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集的可靠性,对采集数值使用三余度采集方法进行三个通道的数据采集。1.三余度数据采集及处理要求:(1)如果某通道采集值在[-3.0,3.0]v正常范围内,且与任一相邻通道间差值不大于0.5v,则该通道数据满足要求;(2)如果某通道釆集值超过[-3.0,3.0]v正常范围,或者此通道采集值与其他两个通道的差值均大无0.5v,则该通道数据不满足要求;(3)如果三通道值均满足要求,则取三通道中差值较小的两通道数据乎均值;(4)如果三通道值均满足要求,且相邻两数值的差值相等,则取三个采集值的中间值;(5)如果仅有一个通道数据不满足釆集要求,取满足要求的两个通道数据平均值;(6)如果大于一个通道数据不满足采集要求,取安全值0v。2.对计算输出控制率的具体处理算法如下:(1)如果依据采集数据计算的控制率C1与目前实际控制率C0差值不大于0.01,则使用本周期计算控制率Cdft行输出控制,否则使用目前实际控制率C0输出控制,连续超过范围计数加1,不上报传感器故障;(2)如果连续3个周期计算的控制率C1与目前实际控制率C0差值大于0.01,则上报传感器三级故障,连续超过范围计数清零,使用目前实际控制率C0输出控制;如果已经连续3个周期控制率差值超过范围,并已上报三级故障,但第4个周期计算的控制率C1与目前实际控制率C0差值不大于0.01,则清除三级故障上报,并使用C1进行输出控制;(3)如果累计大于等于10个周期计算的控制率C1与目前实际控制率C0,差值大于0.01,则上报传感器二级故障,使用目前实际控制率C0输出控制;(4)如果累计大于等于100个周期计算的控制率C1目前实际控制率C0,差值大于0.01,则上报传感器一级故障,清除二级故障,并切断输出控制(输出安全值0);(5)如果低级故障和高级故障同时发生,则按高级故障上报和处理。 问题:3.1   为了测试采集算法,在不考虑测量误差的情况下,根据所设计测试用例的输入填写表3-1中的(1)?(6)空,预期输出结果精度为小数点后保留两位数字。问题:3.2   白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用的方法。请简述白盒测试方法与黑盒测试方法的概念。同时依据本题说明,指明问题1中设计的测试用例使用了白盒测试方法还是黑盒测试方法。 问题:3.3   为了测试控制率计算算法,在不考虑测量误差的情况下,请完善所设计的测试用例,填写表3-2中的空(1)?(6)。

选项

答案

解析 问题3.1、(1)1.90v    (2)1.55v    (3)2.70v(4)-2.90v     (5)0v    (6)0v
问题3.2、白盒测试也称结构测试、逻辑测试或基于程序的测试,这种测试应了解程序的内部构造,并且根据内部构造设计测试用例。黑盒测试又称功能测试、数据驱动测试或基于需求规格说明的测试,这种测试不必了解被测对象的内容情况,而依靠需求规格说明中的功能来设计测试用例。问题1中设计的测试用例使用了黑盒测试方法。

问题3.3、(1)1.454    (2)2    (3)9到98都可以(4)二级故障     (5)0    (6)一级故障

问题3.1、为了测试三余度通道数据采集算法,就要依据题目说明三余度通道数据采集及处理要求中给定的6条设计要求,进行测试用例的设计。首先依据第1条设计说明,采集值正常范围为[-3.0,3.0]v,将输入范围进行等价类划分,划分为无效等价类(超出正常范围)和有效等价类(正常范围),同时在有效等价类中,还存在“任意两通道间差值不大于0.5v的约束。将设计测试用例的范围整理出来后,就可按照软件测试的要求设计测试用例。但是由于本题给出了采集值,只需要根据采集值计算输出即可。

对于序号1、序号2和序号3,因为三个采集值都是正常范围,且任意两通道间差值不大于0.5v,依据第3条和第4条设计说明,采集值应为差值较小的两通道数据的平均值或相邻两数值的差值相等,则取三个采集值的中间值。因为序号1数据差值都为0.0v,所以取三个通道采集值的中间值,故采集值为0.00;序号2取In_U[0]和In_U[2]的平均值,为1.90v;序号3取In_U[0]和In_U[1]的平均值,为l.55v。对于序号4,三个通道采集值是正常范围,但In_U[2]通道与In_U[0]和In_U[1]间差值大于0.5v,依据第2条和第5条设计说明,In_U[2]通道采集值不满足要求,应取满足要求的In_U[0]和In_U[1]两个通道数据的平均值,故采集值为2.70V。

对于序号5,InJJ[1]通道采集值是超出正常范围,In_U[0]和In_U[2]通道在正常范围,这里要注意In_U[0]采集值为边界点,依据第2条和第5条设计说明,In_U[1]通道采集值不满足要求,应取满足要求的In_U[0]和In_U[2]两个通道数据的平均值,故采集值为-2.90v。

对于序号6,三个通道采集值是正常范围,但每个通道采集值的任意两两差值均大于0.5v,依据第2条和第6条设计说明,应取安全值0v,故采集值为0v。对于序号7,两个通道采集值超出正常范围,依据第2条和第6条设计说明应取安全值0v,故采集值为0v。

问题3.2、此题考查白盒测试方法和黑盒测试方法的概念及应用。白盒测试也称结构测试、逻辑测试或基于程序的测试,需了解程序的内部构造,并且根据内部构造设计测试用例。黑盒测试又称功能测试、数据驱动测试或基于需求规格说明的测试,这种测试不必了解被测对象的内容情况,而依靠需求规格说明中的功能来设计测试用例。

由于白盒测试方法与黑盒测试方法的概念定义较多,此题中白盒测试概念中只需给出根据程序内部构造设计测试用例的关键词即可,黑盒测试概念中只需给出依靠相应文档给出的功能设计测试用例即可。问题1中设计的测试用例时,只是根据设计算法,进行功能方面的测试,不需要了解程序的内部构造,按照黑盒测试方法的概念,确定问题1使用了黑盒测试方法。

问题3.3、为了测试控制率计算算法,就要依据题目说明对采集数值计算控制率的具体处理算法中给定的5条设计要求,进行测试用例的设计。此题考查测试用例的设计,不仅包括输入数据的设计,还包括前置条件C比如控制率超差连续计数和累计计数)及预期输出的设计(比如输出控制率和上报故障情况),条件增多,比问题1难度增加。

对于序号1,前置条件中控制率超差连续计数和累计计数都为0,计算控制率与实际控制率误差不超过0.01,依据第1条设计说明,输出控制率为计算控制率1.632,不上报故障。

对于序号2,前置条件中控制率超差连续计数和累计计数都为0,计算控制率与实际控制率误差超过0.01,依据第1条设计说明,输出控制率为实际控制率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,前置条件中控制率超差连续计数为0并且累计计数为99,计算控制率与实际控制率误差超过0.01,依据第4条和第5条设计说明,确定控制率超差累计计数预期应为100,此时应该上报传感器一级故障,并清除二级故障,同时切断输出控制,即输出安全值0,所以输出控制率为0,上报一级故障。
转载请注明原文地址:https://tihaiku.com/congyezige/2424794.html

最新回复(0)