niusouti.com

【问题2】(7分)仔细阅读以下有关修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)的叙述,回答①~④问题,并将其填入答题纸的对应栏内。由于被测件是关键级软件,按有关规定,被测件的测试必须达到MC/DC。MC/DC要求测试集满足 ① 条件;C/DC要求测试集满足 ② 条件。图3-1的例子中给出了两个判定条件的例子,则满足MC/DC要求的测试集是{ ③ },满足C/DC要求的测试集是{ ④ }。

题目

【问题2】(7分)

仔细阅读以下有关修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)的叙述,回答①~④问题,并将其填入答题纸的对应栏内。

由于被测件是关键级软件,按有关规定,被测件的测试必须达到MC/DC。MC/DC要求测试集满足 ① 条件;C/DC要求测试集满足 ② 条件。图3-1的例子中给出了两个判定条件的例子,则满足MC/DC要求的测试集是{ ③ },满足C/DC要求的测试集是{ ④ }。


相似考题
更多“ 【问题2】(7分)仔细阅读以下有关修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)的叙述,回答①~④问题,并将其填入答题纸的对应栏内。由于被测件是关键级软件,按有关规定,被测件的测试必须达到MC/DC。”相关问题
  • 第1题:

    下面是关于嵌入式软件测试方面的叙述,回答问题1和问题2,将解答填入答题纸的对应栏内。

    [说明]

    甲公司是一个专业的软件测评中心,承担了某机载软件测试任务。王工是该测试任务的负责人。用户指出,被测件是控制飞机飞行的关键软件,其安全性要求很高,必须按有关规定开展测评工作。

    王工与被测方讨论被测件的测试计划时,在测试环境方面产生了分歧。王工认为:由于当前被测件的实验平台要用于系统联试,没有时间提供给测评工作,测评工作司&8226;在仿真环境下进行,没有必要非得在目标机环境下测试;而被测方认为:软件测评工作仅仅用仿真环境是不够的,不能真实反映软件特性,可根据需要安排在实验平台上进行。 请对双方的意见进行分析,回答①~④问题: 王工和被测方的意见①。

    ①A.都对

    B.王工正确而被测方不完全正确

    C.都不完全正确

    D.被测方正确而王工不完全正确 你对有关测试环境的建议如下(请将建议填入答题纸的对应栏内):

    1._________________________②_________________________

    2._________________________③_________________________

    3._________________________④_________________________


    正确答案:①C ②要在目标机环境下进行软件测试 ③采用在目标机环境下和在仿真环境下相结合的方法 ④妥善安排目标机环境的使用使甲方的开发与乙方的测试两不误
    ①C ②要在目标机环境下进行软件测试 ③采用在目标机环境下和在仿真环境下相结合的方法 ④妥善安排目标机环境的使用,使甲方的开发与乙方的测试两不误 解析:在软件测试,尤其是嵌入式软件测试中,用仿真环境虽然可以完成部分测试工作,如单元测试,但是这些测试工作只能认为是编写测试用例的工作,为了确保软件与硬件的配套性,必须将测试用例在实际目标机上运行,因此,A、B、D三种说法都不正确, C是正确的选项。由于嵌入式系统的特殊性,本题主要考查考生对嵌入式软件测试工作的要求理解程度。
    在了解嵌入式系统特性的基础上,应能给出以下建议:
    第一条“要在目标机环境下进行软件测试”,这是嵌入式系统必须遵循原则;
    第二条“采用在目标机环境下和在仿真环境下相结合的方法”,这是一种并行工作的有效方式;
    第三条“妥善安排目标机环境的使用,使甲方的开发与乙方的测试两不误”,类似于第二条,只是提醒项目开发方在必要的时刻应安排目标机环境给测试方使用。

  • 第2题:

    阅读以下关于嵌入式软件测试的叙述,回答问题1至问题3,将解答填入对应栏内。

    【说明】

    某嵌入式软件主要用于控制飞机起落架。飞机起落架的可靠性直接关系着机载人员的人身安全。根据载机设备对软件可靠性要求,一般将软件分为3级:关键级软件,主要级软件和一般软件。由于该嵌入式软件被定义为关键软件,要求按关键级软件进行测试。

    请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖的含义。


    正确答案:
    解析:本题是一道有关军用嵌入式系统软件测试技术概念的考题。需要考生具有一定软件测试的相关基础知识。请考生仔细阅读本题中的相关内容,搞清楚军用软件重要级别的划分原则和不同级别软件具体含义,了解不同级别软件的测试项要求,在此基础上,才能回答好以下问题。
    本题要关注以下几点:
    (1)飞机起落架控制,关系着飞机安全起飞和着落。本系统中由于软件错误将会引起机毁人亡的悲剧。因此,软件的可靠性至关重要。
    (2)提高软件的可靠性的主要方法之一,就是加强软件的测试工作。从目前软件测试方法的分类来看,不同级别的软件,测试的要求不相同,对于关键软件必须增加大量的测试项。
    本题主要考查考生对各个测试项的具体概念的理解。考生应能够区分各种测试项具体要求及其差别,掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖 5种测试项方法。
    语句覆盖指每条可执行语句至少执行一次。判定覆盖指每个判定的每个分支至少执行一次。条件覆盖指每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足.判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。还有,路径覆盖使程序中每一条可能的路径至少执行一次。

  • 第3题:

    阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。

    [说明]

    逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。

    void cal (int n)

    {

    int g, s, b, q;

    if( (n>1000) && (n<2000) )

    {

    g=n % 10;

    s=n % 100 / 10;

    b=n / 100 % 10;

    q= n / 1000;

    if( (q+g) =={ s + b ) )

    {

    printf("%-5d",n);

    }

    }

    printf("\n");

    return;

    }

    请找出程序中所有的逻辑判断语句。

    请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。

    假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:逻辑判断语句: 1.n>1000 2.n2000 3.(q + g)=(s + b)
    逻辑判断语句: 1.n>1000 2.n2000 3.(q + g)=(s + b)

    问题 2 答案解析:按照DC和CC的定义分析逻辑条件。
    按照DC和CC的定义分析逻辑条件。

    问题 3 答案解析:可按以下步骤完成: 1.画控制流图。 2.计算V(G)=3。 3.找出线性独立路径。 4.按路径执行过程中的逻辑条件设计相应数据。
    可按以下步骤完成: 1.画控制流图。 2.计算V(G)=3。 3.找出线性独立路径。 4.按路径执行过程中的逻辑条件设计相应数据。

  • 第4题:

    请仔细阅读以下程序并完成要求。 If((a>2&&b<3)&&(c>4|| d<5)) { Flag=1; } Else { Flag=0; ) 请

    请仔细阅读以下程序并完成要求。

    If((a>2&&b<3)&&(c>4|| d<5))

    {

    Flag=1;

    }

    Else

    {

    Flag=0;

    )

    请分别按照语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖测试用例。


    正确答案:语句覆盖是基本的覆盖只要能让flag=1和flag=0都被执行一次就达到了语句覆盖的标准。用例1和用例2一起即满足了语句覆盖标准的要求。 判定覆盖就是让程序的判定分别为真和假一次因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。 条件覆盖需要让所有判定条件取一次真和一次假.因此测试用例3和用例4一起让所有条件都取到了真和假满足条件判定覆盖要求。
    语句覆盖是基本的覆盖,只要能让flag=1和flag=0都被执行一次就达到了语句覆盖的标准。用例1和用例2一起即满足了语句覆盖标准的要求。 判定覆盖就是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。 条件覆盖需要让所有判定条件取一次真和一次假.因此测试用例3和用例4一起让所有条件都取到了真和假,满足条件判定覆盖要求。

  • 第5题:

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现

    程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。

    【问题1] (6分)

    请给出满足100%DC(判定覆盖)所需的逻辑条件。

    【问题2] (10分)

    请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

    【问题3](4分)

    请给出问题2中控制流图的线性无关路径。


    正确答案:
    本题考查白盒测试技术的应用。
    【问题1】
    本问题考查白盒测试用例设计方法:判定覆盖法。
    判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次
    “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有6个判定,
    所以满足判定覆盖一共需要12个逻辑条件。
    【问题2】
    本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据代码绘
    制控制流图、计算环路复杂度。
    控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的
    节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的
    条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,
    则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,
    if((filename[len-2]==’.’)&&(filename[len.1]=’c’))这条判断语句中的判定由两个条件
    组成,因此在画控制流图的时候需要拆开成两条判断语句。程序的环路复杂度等于控制
    流图中判定节点的个数加1,本题控制流图I中判定节点个数为7,所以V(G)=8。
    【问题3】
    本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据控制流
    图和环路复杂度给出线性无关路径。
    线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来
    看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程
    序的环路复杂度等于线性无关路径的条数,所以本题中应该有8条线性无关路径。
    参考答案

    【问题2]
    环路复杂度V(G)=8。

    线性无关路径:
    1.1-2-3-4-6-7-8-9-10-11-12-13-10......
    2.1-2-5-6-7-8-9-10-11-12-13-10.....
    3.1-2-3-5-6-7-8-9-10-11-12-13-10...
    4.1-2-3-4-6-8-9-10-11-12-13-10...
    5.1-2-3-4-6-7-8-10-11-12-13-10....
    6.1-2-3-4-6-7-8-9-10-15
    7.1-2-3-4-6-7-8-9-10-11-14-10.....
    8.1-2-3-4-6-7-8-9-10-11-12-10....

  • 第6题:

    试题三(共 15分)

    阅读以下关于嵌入式软件测试用例设计的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内。

    【说明】

    某程序段的流程如图 3-1所示,x、y是两个变量,K、J 表示一段程序执行体,表 3-1 所示为本题可供选择的四组测试用例组。

    【问题1】(3分)

    简答以下问题。

    (1)条件覆盖的含义是什么?

    (2)路径覆盖的含义是什么?

    【问题 2】(2分)

    在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,____是最强的覆盖准则。

    请把以下 4个选项中正确的选项序号填入上述空白处。

    ①语句覆盖

    ②条件覆盖

    ③判定覆盖(分支覆盖)

    ④路径覆盖

    【问题 3】(10 分)

    为了对图 3-1 所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是 (1)和 (2) ,实现条件覆盖至少应采用的测试用例组是 (3) ;实现路径覆盖至少应采用的测试用例组是 (4) 和 (5)。

    请把以下 8个选项中正确的选项序号填入上述空白处。

    ① 试用例组Ⅰ和Ⅱ

    ②测试用例组Ⅱ和Ⅲ

    ③测试用例组Ⅲ和Ⅳ

    ④测试用例组Ⅰ和Ⅳ

    ⑤测试用例组Ⅰ、Ⅱ和Ⅲ

    ⑥测试用例组Ⅱ、Ⅲ和Ⅳ

    ⑦测试用例组Ⅰ、Ⅲ和Ⅳ

    ⑧测试用例组Ⅰ、Ⅱ和Ⅳ


    正确答案:

    试题三(共15分)
    【问题1】(3分)
    (1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
    (2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。

    【问题2】(2分)
    (1)④(路径覆盖)

    【问题3】 (10分)
    (1)⑤
    (2)⑧
    (3)⑦
    (4)⑤
    (5)⑧
    其中,第(1)、(2)题的答案顺序可互换,第(4)、(5)题的答案顺序可互换。

  • 第7题:

    读以下有关信息系统开发方面的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 信息系统测试是信息系统开发过程中的一个非常重要的环节,主要包括软件测试、硬件测试和网络测试三个部分,它是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计与实施的最后审查。 在软件测试中,逻辑覆盖法可分为语句覆盖、判定覆盖、路径覆盖等方法。其中:语句覆盖的含义是设计若干个测试用例,使得程序中的每条语句至少执行一次;判定定覆盖也称为分支覆盖,其含义是设计若干个测试用例,使得程序中的每个判断的取真分支和取假分支至少执行一次路径覆盖的含义是设计足够多的测试用例,使被测程序中的 所有可能路径至少执行一次。
    【问题1】(3分)一个规范化的测试过程如图1-1所示。请将图1-1所示的测试过程中的(1)~(3)处的内容填入答题纸上对应位置。



    【问题2】(6分)信息系统测试应包括软件测试、硬件测试和网络测试三个部分,请简要描述这三个部分需要做的工作。【问题3】(6分)程序M流程如图1-2所示,假设设计的测试用例及覆盖路径如下: ①输入数据的数据A=3,B=0,X=3(覆盖路径acd) ②输入数据的数据A=2,B=0,X=6(覆盖路径ace) ③输入数据的数据A=2,B=l,X=6(覆盖路径abe) ④输入数据的数据A=l,B=l,X=1(覆盖路径abd)(1)采用语句覆盖法应选用(a),判定覆盖法应选用(b)路,路径覆盖法应选用(c)测试用例。(2)就图1-2所示的程序M流程简要说明语句覆盖和判定覆盖会存在什么问题。


    答案:
    解析:
    【问题1】
    编制测试大纲、设计和生成测试用例、实施测试
    【问题2】
    硬件测试:配置检测,检测是否按合同提供了相应的配置;硬件设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤。;硬件测试,首先进行加电检测,观看运行状态是否正常,有无报警、屏幕有无乱码提示和死机现象,是否能进入正常提示状态。然后进行操作检测,用一些常用的命令来检测机器是否能执行命令,结果是否正常。网络测试:网络设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤;硬件测试,进行加电检测,观看交换机、路由器等工作状态是否正常,有无错误和报警;网络联通测试,检测网络是否联通软件测试:单元测试,对源程序中的每一个程序单元进行测试验证每个模块是否满足系统设计说明书的要求。组装测试是将已测试过的模块组合成子系统,重点测试各模块之间的接口和联系。确认测试时对这个软件进行验收,根据系统分析说明书来考察软件是否满足要求。和系统测试是讲软件、硬件、网络等系统的各个部分连接起来,对整个系统进行总的功能、性能等方面的测试。【问题3】
    a、② b、①③或②④ c、①②③④语句覆盖问题:如果把第一个判断语句中的AND错写成OR,或者把第二个判断语句中的OR错写成AND,用上面的测试用例是不能发现问题。这说明语句覆盖有可能发现不了判断条件中算法出现的错误判定覆盖问题:上述测试用例不能发现把第二个判断语句中的X>1错写成X<1的错误。所以,判断覆盖还不能保证一定能查出判断条件中的错误。因此,需要更强的逻辑覆盖来检测内部条件的错误。

  • 第8题:

    逻辑覆盖标准包括( )?①分支覆盖②语句覆盖③条件覆盖④MC/DC覆盖

    A.①②③
    B.①②④
    C.①③④
    D.①②③④

    答案:D
    解析:
    本题考查白盒测试逻辑覆盖的基础知识。逻辑覆盖标准包括语句覆盖、判定覆盖(又称为分支覆盖)、条件覆盖、条件判定覆盖、修正条件判定覆盖(MC/DC覆盖)、条件组合覆盖和路径覆盖等。

  • 第9题:

    阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。



    【问题1】(3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。【问题2】(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。


    答案:
    解析:
    【问题1】i<ncycle;i>=ncycle;j=cyclelen;pos>=panonopt;pos


    V(g)=4【问题3】 1、2、8 1、2、3、4、2.。。。 1、2、3、4、5、6、4.。。。 1、2、3、4、5、7、4.。。。
    【解析】
    【问题1】本题中的涉及判定相关的语句有:i<ncycle ; i>=ncycle; pos>=panonopt_end;所以满足100%判定的逻辑条件为:i<ncycle;i>=ncycle;j=cyclelen;pos>=panonopt_end;pos


    控制流程图的环路复杂性V(G)等于:
    (1)控制流程图中的区域个数(2)边数-节点数+2(3)判定数+1V(g)=4【问题3】线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流程图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径: 1、2、8 1、2、3、4、2.。。。 1、2、3、4、5、6、4.。。。 1、2、3、4、5、7、4.。。。

  • 第10题:

    关于白盒测试的测试用例设计方法叙述,正确的是( )。

    A.完成SC(语句判定)所需的测试用例数目一定多于完成DC(逻辑判定)所需的测试用例数目
    B.达到100%CC(条件判定)要求就一定能够满足100%SC的要求
    C.达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%CC的要求
    D.任何情况下,都可以达到100%路径覆盖的要求

    答案:C
    解析:
    本题考查白盒测试用例设计方法中各覆盖法的概念。CDC要同时满足DC和CC,因此达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%CC的要求。

  • 第11题:

    多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足(1)级别的:针对布尔表达式A&&(B||C)执行逻辑覆盖测试,测试用例至少需要(2)种组合才能满足多条件覆盖的要求。
    (1)____

    A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖
    B.判定覆盖、条件覆盖;条件判定组合覆盖、修正条件判定覆盖
    C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖
    D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖

    答案:A
    解析:
    试题(1)考查白盒测试用例设计法中逻辑覆盖法的基础知识。语句覆盖要求每条语句至少执行一次;判定覆盖也叫做分支覆盖,要求每一个判定获得每一种可能的结果至少一次;条件覆盖要求每一个判定语句中每个逻辑条件的可能值至少满足一次;条件判定组合覆盖要求判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的结果(真假)也至少出现一次;多条件覆盖要求“每个判定中条件的各种可能组合都至少出现一次”。因此包含语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖,但是不包含修正条件判定覆盖。

  • 第12题:

    单选题
    下图是被测模块的流程图。测试数据为:A=1,B=0,X=3;A=2,B=1,X=1。判断符合如下哪个等级的逻辑覆盖:(  )。
    A

    判定覆盖

    B

    语句覆盖

    C

    判定/条件覆盖

    D

    条件覆盖


    正确答案: A
    解析:
    条件覆盖指使得每个判断中的每个条件的可能值至少执行一次,题中总共有四个条件A>1、B=0、A=2和X>1,测试数据中A=2满足A>1和A=2这两个条件,X=3满足X>1的条件,B=0满足B=0的条件,所以测试数据满足每个判断中的所有条件,符合条件覆盖的要求。

  • 第13题:

    关于白盒测试的测试用例设计方法叙述,正确的是(55)。

    A.完成SC(语句判定)所需的测试用例数目一定多于完成DC(逻辑判定)所需的测试用例数目

    B.达到100%CC(条件判定)要求就一定能够满足100%SC的要求

    C.达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%CC的要求

    D.任何情况下,都可以达到100%路径覆盖的要求


    正确答案:C
    解析:本题考查白盒测试用例设计方法中各覆盖法的概念。CDC要同时满足DC和CC,因此达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%CC的要求。

  • 第14题:

    仔细阅读以下有关修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)的叙述,回答①~④问题。

    由于被测件是关键级软件,按有关规定,被测件的测试必须达到MC/DC。MC/DC要求测试集满足①条件;C/DC要求测试集满足②条件。下图所示的例子中给出了两个判定条件的例子,则满足MC/DC要求的测试集是{③},满足C/DC要求的测试集是{④}。


    正确答案:①首先应满足C/DC的测试条件;判定中每个条件的取值都必须独立地影响判定的结果即在其他条件取值不变的前提下仅改变这个条件的值而使判定结果改变。 ②判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。 ③FFTFFT ④TTFF
    ①首先应满足C/DC的测试条件;判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。 ②判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。 ③FF,TF,FT ④TT,FF 解析:根据宇航系统的软件安全性考虑要求,宇航系统将根据设备对飞行器安全性影响危害程度将软件分为5级(A~E),其中A级软件是关键软件,在软件测试中必须达到 100%修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)。这里主要考查考生是否理解这两种测试要求的具体含义。
    MC/DC要求测试集条件是:首先应满足C/DC的测试条件;判定中每个条件的取值都必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。因此,对所列的A、B两个条件变量,{PF,TF,FT}集合就满足了MC/DC要求。
    C/DC要求测试集条件是:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。因此,对所列的A、B两个条件变量,{TT,FP}集合就满足了C/DC要求。

  • 第15题:

    【问题1】 (4分)

    请给出满足100%DC(判定覆盖)所需的逻辑条件。


    正确答案:

    【问题1】 (4分)

  • 第16题:

    阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应

    栏内。

    【说明】

    使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求

    更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。

    以下是一段C语言代码,请仔细阅读并回答相关问题:

    【问题1】(6分)

    请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。

    将答案填写在答题纸的对应栏中。

    【问题2】(5分)

    画出以上代码的流程图,将答案填写在答题纸的对应栏中。

    【问题3】(4分)

    请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取

    值范围,将答案填写在答题纸的对应栏中.


    正确答案:
    试题三分析
    本题考查嵌入式软件测试的基本知识.
    语句覆盖要求设计足够多的测试用例,运行被测程序,使得程序中每条语句至少被
    执行一次。定覆盖(分支覆盖)要求设计足够多的测试用例,运行被测程序,使得程序
    中的每个判断的“真”和“假”都至少被执行一次。条件覆盖要求设计足够多的测试用
    例,运行被测程序,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一
    次为真值,有一次为假值。MC/DC覆盖要求每个条件的取值都有覆盖,每个判定值都有
    覆盖且每个条件都能独立影响判定结果,各覆盖率的含义如表2.5所示。

    【问题2]
    本问题考查程序流程图的画法。注意开始、结束的符号。
    根据源代码,程序流程图如下。

    【问题3]
    本问题考查MC/DC覆盖率判定的综合运用。
    MC/DC与代码中的逻辑运算有关。本题代码中的逻辑运算为x>0&&y>0。根据
    MC/DC的定义,MC/DC覆盖要求每个条件的取值都有覆盖,每个判定值都有覆盖且每
    个条件都能独立影响判定结果。对于a&&b这样的逻辑运算,真值表如下。

    对测试用例1和测试用例2,条件a不变,因为条件b的不同而导致结果的不同,
    因此条件b独立影响判定的结果。对测试用例2和测试用例3,因为条件b不变,条件a
    的不同而导致结果的不同,因此条件a独立影响判定的结果。综合以上,对逻辑运算a&&
    b应产生三个测试用例,包括:(True,False)、(True,True)、(False,True)。
    所以本题用例数量:3个;条件取值范围:(x>0andy<=0)、(x<=0andy>0)及(x>0
    andy>0)。
    参考答案

    【问题2]
    【问题3]
    用例数量:3个;
    条件取值范围:
    (x>0andy<=0)、(x<=0andy>0)及(x>0andy>0)

  • 第17题:

    阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【C程序】

    【问题1】(6分)

    请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。

    【问题2】(9分)

    请画出上述程序的控制流图,并计算其环路复杂度V(G)。

    【问题3】(5分)

    请给出问题2中控制流图的线性无关路径。


    正确答案:
    参考答案:【问题1】:【问题2】:V(G)=11【问题3】:1、21、2、31、2、3、4、12、13、17、191、2、3、4、12、13、14、17、191、2、3、4、12、13、14、15、17、191、2、3、4、12、13、14、15、16、17、191、2、3、4、12、13、14、15、16、18、191、2、3、4、5、11、191、2、3、4、5、6、10、191、2、3、4、5、6、7、9、191、2、3、4、5、6、7、8、19试题分析:判断覆盖:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定覆盖又称分支覆盖对于本题中判定的条件有:【问题2】控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:控制流程图的环路复杂性V(G)等于:(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。V(G)=11【问题3】线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:1)1、22)1、2、33)1、2、3、4、12、13、17、194)1、2、3、4、12、13、14、17、195)1、2、3、4、12、13、14、15、17、196)1、2、3、4、12、13、14、15、16、17、197)1、2、3、4、12、13、14、15、16、18、198)1、2、3、4、5、11、199)1、2、3、4、5、6、10、1910)1、2、3、4、5、6、7、9、1911)1、2、3、4、5、6、7、8、19

  • 第18题:

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

    例子:

    IF A OR B THEN

    ELSE

    ENDIF


    正确答案:(1)对于C/DC要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次:同时判定的真值与假值也要求至少取一次。 (2)对MC/DC要求测试集满足如下条件: 首先应满足C/DC的测试条件。 判定中每个条件的取值都必须独立地影响判定的结果即在其他条件取值不变的前提下仅改变这个条件的值而使判定结果改变。 (3)两个判定例子的C/DC测试集设计方法。 满足C/DC要求的测试用例集是{TTFF}。 说明:因为该测试用例集中条件A与B分别取了T与F判定A OR B也取了 T值(当A=TB=T时)和F值(当A=FB=F时)。 (4)两个判定例子的MC/DC测试集设计方法。 满足MC/DC要求的测试用例集是{FFTFFT}。 说明:C/DC要求的测试用例集是{TTFF}无法满足MC/DC的要求条件A与B均没有独立地影响判定的输出结果。
    (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均没有独立地影响判定的输出结果。

  • 第19题:

    阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。



    问题1:(6分) 请针对上述C程序,给出满足100%DC(判定覆盖)所需的逻辑条件。
    问题2:(7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
    问题3:(3分)请给出【问题2】中控制流图的线性无关路径。


    答案:
    解析:
    问题1答案:

    问题2:答案:(1)控制流图如下图所示:



    (2)V(G)=10+1=11
    问题3:答案:(1)1-2-19 (2) 1-2-3-19 (3) 1-2-3-4-12-13-17-19(4) 1-2-3-4-12-13-14-17-19 (5) 1-2-3-4-12-13-14-15-17-19(6) 1-2-3-4-12-13-14-15-16-17-19 (7) 1-2-3-4-12-13-14-15-16-18-19(8) 1-2-3-4-5-11-19 (9)1-2-3-4-5-6-10-19(10) 1-2-3-4-5-6-7-9-19 (11) 1-2-3-4-5-6-7-8-19
    【解析】
    问题1本小题考查白盒测试中的判定覆盖法。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得-次 “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有6个判定,所以满足判定覆盖一共就需要12个逻辑条件,这些条件详见上述答案。问题2:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:



    其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为10,所以V(G)=10+1=11。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。
    问题3:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有11条线性无关路径。这11条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

  • 第20题:

    【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。



    问题1:(4分)请给出满足100%DC(判定覆盖)所需的逻辑条件。
    问题2:(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。问题3:(3分)请给出【问题2】中控制流图的线性无关路径。


    答案:
    解析:
    问题1:
    1、*p == ’r’2、*p != ’r’3、*p >= ’0’&& *p <= ’9’4、*p < ’0’|| *p > ’9’5、*p == ’f’6、*p != ’f’7、m != fmode + sizeof(fmode)8、m == fmode + sizeof(fmode)
    问题2:
    (1) 控制流图如下图所示:



    (2)、V(G)=5+1=6问题3:
    (1) 1-2-4-5-6-10-11-2... (2) 1-2-3-4-5-6-10-11-2... (3) 1-2-4-7-8-10-11-2...(4) 1-2-4-5-7-8-10-11-2… (5) 1-2-4-7-9-10-11-12(6) 1-2-4-5-7-9-10-11-12
    【解析】
    问题1:
    本小题考查白盒测试中的判定覆盖法。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得-次 “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有4个判定,所以满足判定覆盖一共就需要8个逻辑条件,这些条件详见上述答案。问题2:
    解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:



    其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为5,所以V(G)=5+1=6。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。问题3:
    本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有6条线性无关路径。这6条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

  • 第21题:

    阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。



    问题1:(3分) 请针对上述C程序,给出满足100%DC(判定覆盖)所需的逻辑条件。
    问题2:(7分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
    问题3:(3分)请给出【问题2】中控制流图的线性无关路径。


    答案:
    解析:
    问题1:答案:



    问题2:答案:(1)、控制流图如下图所示:



    (2)、V(G)=7+1=8
    问题3:答案:1.1、2、5、6、13;2.1、2、3、5、6、13;3.1、2、3、4、2、5、6、13;4.1、2、5、7、12、1. . .5.1、2、5、7、8、12、1. . .6.1、2、5、7、8、9、12、1. . .7.1、2、5、7、8、9、10、12、1. . .8.1、2、5、7、8、9、10、11、7、12、1. . .
    【解析】
    问题1:解析:本小题考查白盒测试用例的设计方法之判定覆盖法。判定覆盖法:设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题目中共有3个判定,所以满足判定覆盖一共需要6个逻辑条件。这些条件详见上述答案。
    问题2:解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:



    其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为6,所以V(G)=7+1=8。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。问题3:解析:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有8条线性无关路径。这8条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

  • 第22题:

    阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。[说明]逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主要方法之。以下代码由C浯言书写,请按要求回答问题。voidcal(intn){intg,s,b,q;if((n>1000)&&(n<2000)){g=n % 10;s=n % 100/ 10;b=n / 100 % 10;q= n / 1000;if((q+g) =={s+b ) ){printf("%-5d",n);}}printf("\n");return;}13、 [问题1](3分)请找出程序中所有的逻辑判断语句。14、 [问题2](6分)请分析并给出分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。15、 [问题3](6分)假设n的取值范围是0<n<3000,请用逻辑覆盖法为n的取值设计测试用例,使用例集满足基本路径覆盖标准。


    答案:
    解析:
    13、逻辑判断语句:1.n>10002.n<20003.(q + g)=(s + b) 14、按照DC和CC的定义分析逻辑条件。



    15、可按以下步骤完成:1.画控制流图。2.计算V(G)=3。3.找出线性独立路径。4.按路径执行过程中的逻辑条件设计相应数据。

  • 第23题:

    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%覆盖需求;测试和开发人员责任心不够,开发过程控制不到位;软件开发无标准可循,测试人员难以理解。