首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通
admin
2016-11-11
66
问题
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数num of passer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:
(1)采用如下数据结构存储通道号及采集值:
Struct value
{unsigned int No; //通道号,1到16
unsigned short Value1; //余度1采集值
unsigned short Value2; //余度2采集值
}
(2)当输入参数异常时,函数返回-1;
(3)若正确统计了无故障通道数目,则返回该数目;
(4)该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。
开发人员根据上述要求使用ANSI C对代码实现如下(代码中第一个数字代表行号):
1)unsigned int num_of_passer(struct value array[],unsigned int num)
{
2) unsigned int n=0; //循环变量
3) unsigned int counter; //无故障通道数目
4) if((array==NULL)||(num==0)||(num>16))
5) return-i; //当输入参数异常时,函数返回-1
6) for in=0; n<=num; n++)
{
7) if((array[n].Value1>45)&&((array[n].Value2>45)))
8) counter=counter+1;
}
9) return counter;
}
【问题3】
覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请指出对函数num_of_passer达到100%语句覆盖、100%分支(DC)覆盖和100%MC/DC覆盖所需的最少测试用例数目。
选项
答案
[*]
解析
覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。语句覆盖率指程序中每条可执行语句至少被执行一次。分支覆盖指程序中每个判定取所有可能值至少一次。MC/DC覆盖率指在一个程序中每一种输入输出至少应出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每个判定中的每个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。对函数num_of_passer来说,为了使其中所有的语句至少执行一次,程序中的两种返回值必须各覆盖一次,所以为达到100%语句覆盖率,至少需要两个测试用例,即参数异常的测试用例和参数正常的测试用例。
函数num_of_passer在第4行和第7行有两处条件判断,为了使程序中每个判定取所有可能值至少一次,第4行需要取TRUE和FALSE,第7行需要取TRUE和FALSE。由于第4行取FALSE时,就能覆盖到第7行判定,同时又由于第7行的判定在一个大于一次的循环中,一个测试用例就可以覆盖到第7行的TRUE和FALSE,所以函数num_of_passer 100%的分支覆盖也最少两个测试用例就可以满足,即一个第4行取TRUE的测试用例和一个第4行取FALSE、第7行取TRUE和FALSE的测试用例即可,由于第7行的条件判断在多次循环中,取TRUE和FALSE的测试用例也比较好构造。函数。num_of_passer的组合条件也出现在第4:行和第7行。对第4行的组合条件需要4个测试用例来满足MC/DC覆盖,分别为①参数array为NULL,②array不为NULL且num为0,③array不为NULL且num为大于16的值,④array不为NULL且num为1到16之间的值。对第7行的组合条件需要3个测试用例来满足MC/DC覆盖,分别为①Value1>45且Value2>45,②Value1>45且Value2<=45,⑨Value1<=45且Value2为任意值。由于取第4行array不为NULL且num为1到16之间值的测试用例时,程序将执行到第7行,这时由于第7行在一个多次循环中,第7行需要的3个测试用例都可以在此用例中进行覆盖,所以最少需要4个测试用例就可以使函数num_of_passer满足100%的MC/DC覆盖。
转载请注明原文地址:https://www.kaotiyun.com/show/DQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
(68)________________不是分布式数据库管理系统应该遵循的准则。
假设某企业信息管理系统中的5个实体:部门(部门号,部门名,主管,电话),员工(员工号,姓名,岗位号,电话),项目(项目号,名称,负责人),岗位(岗位号,基本工资),亲属(员工号,与员工关系,亲属姓名,联系方式)。该企业有若干个部门,每个部门有若干名员工;每
以下关于软件可靠性测试的叙述中,错误的是(26)________________。
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档,以下关于该软件的著作权的叙述中,正确的是(17)________________。
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(52)
某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为64位,磁盘的容量为1024GB,物理块的大小为4MB,那么位示图的大小需要()个字。
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
函数调用和返回控制是用()实现的。
以下关于系统原型的叙述中,不正确的是()。
随机试题
下述哪一项不符合肿瘤性增生
男性,30岁,腹痛、腹泻、间断低热3年,结肠镜见回肠末段病变呈跳跃性,见纵行溃疡,溃疡周围粘膜呈鹅卵石样。最可能的诊断是
甲因与乙的买卖合同纠纷而诉至法院,要求乙支付欠款8000元。在庭审过程中乙提出甲父曾借其1万元,要求用欠款抵债并偿还其2000元。在此情况下,法院应如何处理?()
一个行业的实际生命周期并不会受到经济全球化等因素的影响。( )
预计利润表,是企业计划期的预计经营成果,与企业利润表的编制类似,需要在预计资产负债表、业务预算、专门决策预算、现金预算等的基础上编制。()
Arecenttelevisioncommercialbegins【C1】______theannouncement,"Johnnywasjustbeatenupbythebiggestkid【C2】______theblo
Fromthepassagewelearnthatmandiesinseadisastersmainlybecause______.Daedalus’ssurvivalwatergarmentis______.
WhatdoesSallydoathersupermarketjob?
A、 B、 C、 B题目为转述彼得希望被调到总公司这一事实的陈述句。
Technologiescollapsethedistancebetweenadesireanditsfulfillmentbyreducingeitherthetimeortheeffortinvolved.Thi
最新回复
(
0
)