刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

阅读下列说明,回答下列问题。    
[说明]    
某嵌入式系统中,存在16路数据采集通道。为了提高数据采集的可靠性,对16路采集通道均采用双余度设计;为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较。只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数num_of_passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:
11采用如下数据结构存储通道号及采集值:
struct Value
{ unsigned int  No;        //通道号,1到16
unsigned short  value1;    //余度1采集值
unsigned short  value2;    //余度2采集值
}
12当输入参数异常时,函数返回-1;
13若正确统计了无故障通道数目,则返回该数目;
14该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目;
15调用函数sort16对存储通道号及余度采集值的数组进行排序处理。
开发人员根据上述要求使用ANSI C对代码实现如下(代码中每行的第一个数字代表行号):
11、嵌入式软件中通常使用函数扇出数和注释率来衡量程序的可维护性,请计算函数num_of_passer的扇出数和注释率,并判断此函数扇出数和注释率是否符合嵌入式软件的一般要求。(6分)
12、请使用代码审查的方法找出该程序中所包含的至少4处错误,指出错误所在的行号和问题描述。(8分)

13、覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请分别指出对函数num_of_passer达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目。(6分)

使用微信搜索喵呜刷题,轻松应对考试!

答案:

11、
扇出数:1   
注释率:28.6%(4/14)
嵌入式软件一般要求扇出数不大于7和注释率不小于20%,所以此函数扇出数和注释率均符合要求。
12、

13、

解析:


本题主要考查了软件测试的一些基本概念和通过代码审查查找软件缺陷以及设计测试用例的能力。要求考生熟悉结构体数据类型和不同代码覆盖率的要求,结合软件测试的一些基本概念在嵌入式软件中进行实际应用。

对于扇出数和注释率的计算,模块num_of_passer的扇出数为1,注释率为28.6%,均满足嵌入式软件的一般要求。

通过代码审查,找到了四处错误。第一处是函数返回值的定义与说明不一致;第二处是变量counter使用前未初始化;第三处是对num的合法性检查存在问题;第四处是第10行的条件判断与说明不一致。

对于测试用例的设计,为了达到不同的覆盖率,需要构造不同的测试用例。对于语句覆盖,至少需要两个测试用例;对于分支覆盖,也需要两个测试用例覆盖所有分支;对于MC/DC覆盖,需要至少四个测试用例来满足MC/DC覆盖的要求。

创作类型:
原创

本文链接:阅读下列说明,回答下列问题。    [说明]    某嵌入式系统中,存在16路数据采集通道。为了提高

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share