由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术协议进行磋商时,甲方要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖MC/DC与条件判定覆盖(C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。例子:IF A OR B THEN……ELSE……ENDIF

题目

由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术协议进行磋商时,甲方要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖MC/DC与条件判定覆盖(C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。

例子:

IF A OR B THEN

ELSE

ENDIF


相似考题
更多“由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术协议进行 ”相关问题
  • 第1题:

    需求分析中,开发人员要从用户那里解决的最重要的问题是()。

    A、要让软件做什么

    B、要给该软件提供哪些信息

    C、要求软件工作效率怎样

    D、要让该软件具有何种结构


    参考答案:A

  • 第2题:

    从候选答案中选择恰当的内容将序号填入到(1)~(5)空中。 软件测试监理是信息应用系统建设实施阶段的重点监理任务之一。软件测试的目的是(1)。为了提高测试的效率,应该(2)。使用白盒测试方法时,确定测试数据应根据(3)和指定的覆盖标准。与设计测试数据无关的文档是(4)。软件的集成测试工作最好由(5)承担,以提高集成测试的效果。 供选择的答案:

    (1)A.评价软件的质量 B.发现软件的错误 C.找出软件中的所有错误 D.证明软件是正确的

    (2)A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误的可能性大的数据作为测试数据

    (3)A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能

    (4)A.该软件的设计人员 B.程序的复杂程度 C.源程序 D.项目开发计划

    (5)A.该软件的设计人员 B.该软件开发组的负责人

    C.该软件的编程人员 D.不属于该软件开发组的软件设计人员


    正确答案:(1)B (2)D (3)A (4)D (5)D
    (1)B (2)D (3)A (4)D (5)D 解析:软件测试的目的是发现软件中的错误。因为不可能把所有可能的输入数据都拿来测试(时间花费不起),为了提高测试的效率,应该选择发现错误的可能性大的数据作为测试数据。
    使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准,可以不考虑程序的功能。与设计测试数据无关的文档是项目开发计划。
    软件的集成测试工作最好由不属于该软件开发组的软件设计人员承担,以提高集成测试的效果。

  • 第3题:

    从用户的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。()


    本题答案:对

  • 第4题:

    阅读以下关于嵌入式软件测试方面的叙述,回答问题1至问题3。

    甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。

    王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在200字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。


    正确答案:(1)张工和王工的意见都不完全正确。 为了节省对目标机环境的争用测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误最终的测试程序必须在目标机环境上重新运行以查看软件最终在目标环境下的实际运行情况。 (2)针对本题所述情况为了提高开发与测试工作的并行度张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后再在目标机环境下完整地运行所有的测试程序。
    (1)张工和王工的意见都不完全正确。 为了节省对目标机环境的争用,测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误,最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。 (2)针对本题所述情况,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。 解析:本题重点考查考生对软件测试技术的掌握程度。作为系统分析员,承担着管理项目和分解项目实施的工作,第三方软件测试是提高软件产品质量的有效手段,因此掌握好软件测试技术,是软件工程师(尤其是项目负责人)必不可少知识。
    问题1主要考查考生在嵌入式软件测试方面如何解决开发和测试对资源需求竞争的问题。通常,根据V字形软件研制过程,用户不可能为测试而专门研制一套目标机,只能依赖真是目标机完成所有测试任务,为了节省对目标机环境的争用,测试的很多工作一般可以在仿真环境下进行。但是,在仿真环境下完成测试工作后,并不代表测试工作的结束,为了防止由于仿真环境与目标环境差异带来的测试错误(此差别永远存在),最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。因此,两者之间缺一不可。在理解了这种现象下,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。
    如果考生从事过嵌入式软件开发和测试工作(尤其是航空软件),应该知道嵌入式软件可根据所依附的嵌入式设备在系统中的失效影响程度,分为多种级别,而不同的软件级别,其测试项要求也不相同。本问题主要考查考生对安全级别较高的软件,对修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)两项测试技术的掌握程度。
    (1)对于C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。
    (2)对MC/DC,要求测试集满足如下条件:
    首先应满足C/DC的测试条件。
    判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。
    根据上述有关C/DC和MC/DC的测试要求,在所给例子中,A和B的C/DC测试集应是{TT,FF},因为该测试用例集中,条件A与B分别取了T与F,判定A OR B,也取了T值(当A=T,B=T时)和F值(当A=F,B=F时);而A和B的MC/DC测试集是{FF,TF,FT},因为C/DC要求的测试用例集是{TT,FF}无法满足MC/DC的要求,条件A与B均没有独立地影响判定的输出结果。
    问题三主要考查考生对测试工作的看法,这里考生应清楚的是以下几点:软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。
    从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括:
    (1)软件需求规格说明没有全面地反应用户的要求。
    (2)需求文档和设计文档质量不高。
    (3)软件代码的质量本身不高,可读性较差。
    (4)测试用例没有100%覆盖需求。
    (5)测试和开发人员责任心不够,开发过程控制不到位。
    (6)软件开发无标准可循,测试人员难以理解。
    等等。

  • 第5题:

    某软件的相关信息如下图所示:

    则下列说法正确的是(  )。

    A.这是一个免费软件
    B.该软件能免费试用45天
    C.该软件在付费$39.95后能用45天
    D.该软件45天后才能注册

    答案:B
    解析:
    【知识点】软件版权问题
    【答案】B。
    【解析】该软件是付费软件,只有45天的试用期,试用期结束以后必须购买注册版本才能继续使用。

  • 第6题:

    在个人所得税代扣代缴软件中要对以前未使用该软件的个税申报情况补充进该软件,需要通过什么方式进行()

    • A、启动修正
    • B、补录数据
    • C、启动自查

    正确答案:B

  • 第7题:

    需求分析中,软件开发人员要从用户那里解决的最重要的问题是()。

    • A、要让软件做什么
    • B、要给该软件提供哪些信息
    • C、要求软件工作效率怎样
    • D、要让该软件具有何种结构

    正确答案:A

  • 第8题:

    软件的组装测试最好是由()承担,以提高组装测试的效果。

    • A、该软件的设计者
    • B、该软件开发组的负责人
    • C、该软件的编程者
    • D、不属于该开发组的人员

    正确答案:D

  • 第9题:

    CNT软件打开地图时,是通过第三方软件()来实现的,因此要打开路测地图,必须先安装该软件。


    正确答案:MapX软件

  • 第10题:

    多选题
    如果用户获得了自由软件,那么用户就具有()的权力。
    A

    复制给他人

    B

    修改该软件

    C

    使用该软件

    D

    公开源代码


    正确答案: C,D
    解析: 暂无解析

  • 第11题:

    判断题
    对一个软件进行了认真、严格、全面的软件测试后没有发现缺陷,则该软件没有缺陷。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    单选题
    软件的集成测试工作最好由()承担,以提高集成测试的效果。
    A

    该软件的设计人员

    B

    该软件开发组的负责人

    C

    该软件的编程人员

    D

    不属于该软件开发组的软件设计人员


    正确答案: C
    解析: 暂无解析

  • 第13题:

    工程师何某利用本单位的物质技术条件,编制计算机财务惯例软件一个,该单位决定销售该软件,并承担全部责任。依照法律:( )

    A、该软件著作权全部归本单位享有

    B、单位可对何某予以奖励

    C、何某仅享有该软件署名权

    D、该软件发表权归何某享有


    答案:BC

    解析:《著作权法》第16条,该作品属于职务作品,作者有获得奖励和署名的权利,单位不能剥夺其署名权。

  • 第14题:

    论述题2:以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题

    设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:

    有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。”

    (1)试利用因果图法,建立该软件的因果图

    (2)设计测试该软件的全部测试用例


    正确答案:问题1: 解答: 首先分析软件中出现的所有原因和结果并将其标号。 原因: 投入1元5角硬币 投入2元硬币 按“可乐”按钮 按“雪碧”按钮 按“红茶”按钮 结果: 退还5角硬币 送出“可乐”饮料 送出“雪碧”饮料 送出“红茶”饮料 中间状态: 11 已投币 12 已按钮 然后根据上述原因和结果以及各状态间的关系画出因果图如图17-6所示。 问题2: 解答: 将上述因果图转换为判定表如表17-14所示每一列可以作为确定测试用例的依据。
    问题1: 解答: 首先分析软件中出现的所有原因和结果,并将其标号。 原因: 投入1元5角硬币 投入2元硬币 按“可乐”按钮 按“雪碧”按钮 按“红茶”按钮 结果: 退还5角硬币 送出“可乐”饮料 送出“雪碧”饮料 送出“红茶”饮料 中间状态: 11 已投币 12 已按钮 然后根据上述原因和结果,以及各状态间的关系,画出因果图,如图17-6所示。 问题2: 解答: 将上述因果图转换为判定表,如表17-14所示,每一列可以作为确定测试用例的依据。 解析:对自动饮料售货机的软件进行基于因果图的黑盒测试,首先根据软件的规格说明,找出所有可能的原因和结果,以及二者之间的联系,画出因果图。然后根据基于因果图的黑盒测试方法,将因果图转换为判定表,设计测试用例即可。

  • 第15题:

    软件的集成测试工作最好由(52)承担,以提高集成测试的效果。

    A.该软件的设计人员

    B.该软件开发组的负责人

    C.该软件的编程人员

    D.不属于该软件开发组的软件设计人员


    正确答案:D
    解析:测试工作通常应该避免由原开发软件的人或小组承担。一方面,开发人员往往不愿否认自己的工作,总认为自己开发的软件没有错误;另一方面,开发人员本人进行测试时,很容易根据原来编程的思路来制定测试思路,具有局限性,不利于发现错误。况且,在集成测试阶段主要进行的是功能测试,因此完全可以由该软件开发组以外的软件开发人员来完成。

  • 第16题:

    软件的单元测试工作通常是由______完成。

    A.该软件的设计人员

    B.该软件开发组的负责人

    C.不属于该软件开发组的软件设计人员

    D.该软件的编程人员


    正确答案:D

  • 第17题:

    A公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,A公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。 【问题1】王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在200字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。 【问题2】 由于该软件是质量要求很高的航空嵌入式实时软件,在双方就签订该软件第三方测试技术协议进行磋商时,A公司要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖MC/DC与条件判定覆盖 (C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。 例子: IF A OR B THEN … … ELSE … … ENDIF 【问题3】 张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试,但是软件交付给用户使用后,仍然出了很多问题,用户对软件质量评价不高。王工认为张工项目组没有很好地进行软件第三方测试,张工觉得并无不妥之处,请对这一状况和原因进行分析。


    答案:
    解析:
    一、试题分析这是一道关于嵌入式系统软件的测试问题的试题,主要涉及到第三方测试相关问题,以及测试用例的设计。【问题1】对于一般商用软件的测试,嵌入式软件测试有其自身的特点和测试困难。在嵌入式开发中,开发环境被认为是主机平台,软件运行环境为目标机平台。如果所有测试都放在目标机上有很多不利的因素,例如:(1)测试软件可能会造成与开发者争夺时间的瓶颈,为了避免这个问题只有提供更多的目标环境。(2)目标机环境可能还不可行。(3)比起主机平台环境,目标机环境通常是不精密的和不方便的。(4)提供给开发者的目标环境和联合开发环境通常是很昂贵的。(5)开发和测试工作可能会妨碍目标机环境已存在持续的应用。一般情况下:(1)所有单元测试在主机环境上进行。(2)软件集成在主机平台上模拟目标机环境运行,当然在目标环境上重复测试也是必须的。(3)所有的系统测试和确认测试必须在目标机环境下执行。【问题2】第2个问题要求比较修正的条件判定覆盖MC/DC与条件判定覆盖(C/DC),并根据给出的例子分别设计测试用例。控制流测试根据程序的内部逻辑结构设计测试用例,常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考察对程序逻辑的覆盖程度。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。(2)判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。(3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。(4)条件/判定覆盖。同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。(5)条件组合覆盖。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少遍历一次。(6)修正的条件/判定覆盖。修正的条件/判定覆盖需要足够的测试用例来确定各个条件能够影响到包含的判定结果。首先,每个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and和or)连接的布尔条件,每个条件对于判定的结果值是独立的。(7)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。【问题3】第3个问题的意思是经过了第三方测试后,软件仍然有问题,要求考生回答原因是什么。要注意的一句话:“张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试”,这就说明不是测试本身的问题。既然不是测试本身的问题,那原因是什么呢?第一个可能的原因是,王工提供的文档有问题,或者设计本身有问题;第二个可能的原因是,模拟的测试环境与实际的目标环境存在差异;第三个可能的原因是,软件质量不是靠测试出来的,而是形成于整个软件开发的过程。二、参考答案【问题1】(1)张工和王工的意见都不完全正确。为了节省对目标机环境的争用,测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误,最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。(2)针对本题所述情况,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。【问题2】(1)对于C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。(2)对MC/DC,要求测试集满足如下条件:首先应满足C/DC的测试条件;判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。(3)两个判定例子的C/DC测试集设计方法:满足C/DC要求的测试用例集是{TT,FF};说明:因为该测试用例集中,条件A与B分别取了T与F,判定 A OR B,也取了T值(当A=T,B=T时)和F值(当A=F,B=F时)。(4)两个判定例子的MC/DC测试集设计方法:满足MC/DC要求的测试用例集是{FF,TF,FT}说明:C/DC要求的测试用例集是{TT,FF}无法满足MC/DC的要求,条件A与B均没有独立地影响判定的输出结果。【问题3】(1)软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。(2)从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括:软件需求规格说明没有全面地反映用户的要求;需求文档和设计文档质量不高;软件代码的质量本身不高,可读性较差;测试用例没有100%覆盖需求;测试和开发人员责任心不够,开发过程控制不到位;软件开发无标准可循,测试人员难以理解。

  • 第18题:

    测试是为了验证该软件已正确地实现了用户的要求。


    正确答案:错误

  • 第19题:

    软件的集成测试工作最好由()承担,以提高集成测试的效果。

    • A、该软件的设计人员
    • B、该软件开发组的负责人
    • C、该软件的编程人员
    • D、不属于该软件开发组的软件设计人员

    正确答案:D

  • 第20题:

    对一个软件进行了认真、严格、全面的软件测试后没有发现缺陷,则该软件没有缺陷。


    正确答案:正确

  • 第21题:

    如果用户获得了自由软件,那么用户就具有()的权力。

    • A、复制给他人
    • B、修改该软件
    • C、使用该软件
    • D、公开源代码

    正确答案:A,B,C,D

  • 第22题:

    单选题
    软件的组装测试最好是由()承担,以提高组装测试的效果。
    A

    该软件的设计者

    B

    该软件开发组的负责人

    C

    该软件的编程者

    D

    不属于该开发组的人员


    正确答案: B
    解析: 暂无解析

  • 第23题:

    判断题
    测试是为了验证该软件已正确地实现了用户的要求。
    A

    B


    正确答案:
    解析: 暂无解析