美文网首页
软件评测师写作专栏之白盒测试用例设计客观题29

软件评测师写作专栏之白盒测试用例设计客观题29

作者: 昊洋_写作的匠心 | 来源:发表于2020-11-04 14:49 被阅读0次

    各位学员大家好,大家在学习软件测试基础知识时,白盒测试用例设计方法经常考察。为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!

    例题1:一个程序的控制流图中有8个节点、12条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是( )。

    A、2

    B、4

    C、6

    D、8

    【昊洋详解】:本题考查基本路径测试法中控制流图和环路复杂度的基础知识。

    基本路径法设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次,从程序的环路复杂度可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界,也就是应该设计的测试用例的数目。其中控制流程图的环路复杂性V(G)有以下三种计算方式:

    1)、控制流程图中的区域个数。

    2)、边数-结点数+2。

    3)、判定数+1。

    题目中没有给出控制流图,而是只给出了一个程序的控制流图中有8个节点、12条边这个条件,所以我们采用第二种方法就可以计算出:12-8+2=6,类似的题目都可以通过这个方法求解,故该题目的正确答案为:C。

    例题2:对于逻辑表达式(((a|b)‖(c>2))&&d<0),需要( )个测试用例才能完成条件组合覆盖。

    A、2

    B、4

    C、8

    D、16

    【昊洋详解】:本题考查逻辑覆盖分析法中条件组合覆盖法的基础知识。

    典型的逻辑覆盖度量标准有6种,按照从低到高的排序依次为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、修正的判定/条件覆盖(MC/DC)和条件组合覆盖。需要注意的是满足条件覆盖的测试用例不一定满足判定覆盖,其他从低到高的覆盖率的次序不受影响。具体内容如下所示:

    1)、语句覆盖:这是一个比较弱的逻辑覆盖标准,指通过选择足够的测试用例,使得运行测试用例的时候,被测程序每个语句至少被执行一次。

    2)、判定覆盖:又称为“分支覆盖”,比语句覆盖稍强一些,指通过设计足够的测试用例,使程序中每一个判定至少都获得一次“真值”和“假值”的机会,或者说使得程序中的每一个分支都至少通过一次。注意:满足判定覆盖的测试用例一定满足语句覆盖!

    3)、条件覆盖:对于每个判定中所包含的若干个条件,应设计足够多的测试用例,使得判定中每个条件都至少取得一次“真值”和“假值”的机会,判定中的每个条件的所有可能结果至少出现一次。注意:满足条件覆盖的测试用例不一定满足判定覆盖!

    4)、判定/条件覆盖:指通过设计足够多的测试用例,使得运行判定中的每个条件的所有可能的结果至少运行一次,并且每个判定本身的所有可能结果也至少出现一次。

    5)、修正的判定/条件覆盖:要求在一个程序中每一种输入输出至少得出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每一个判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。核心意思是每个条件都要独立影响判定结果。

    6)、条件组合覆盖:通过设计足够多的测试用例,使得每个判定中条件结果的所有可能的组合至少出现一次。注意:满足条件组合覆盖,一定满足判定/条件覆盖。

    条件组合覆盖的测试用例数为:2^n(n表示条件的个数),本题条件为(a|b)、c>2、d<0三个条件,故一共需要2^3=8个条件。需要注意的是以下这几个符号:

    &&和||表示的是逻辑与和逻辑或,连接的是不同的条件,而&和|表示的是按位余操作和按位或的操作,不是逻辑符号,而是计算符号,所以(a|b)表示的是一个条件,而a||b则表示条件a和条件b进行的逻辑或判断,这个一定要搞清楚,在考试中经常出现,不要被其表象所混淆。

    故该题目的正确答案为:C。

    巩固练习题

    (1)一个程序的控制流图中有 5 个节点、 9 条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是(  )。

    A、2   

    B、4      

    C、6   

    D、8

    (2)对于逻辑表达式(((a>0)&&(b>0))||c<5),需要(  )个测试用例才能完成条件组合覆盖。

    A、2   

    B、4      

    C、8   

    D、16

    (3)以下关于白盒测试的叙述中,不正确的是()。

    A、满足判定覆盖一定满足语句覆盖

    B、满足条件覆盖一定满足判定覆盖

    C、满足判定/条件覆盖一定满足条件覆盖

    D、满足条件组合覆盖一定满足判定条件覆盖

    练习题参考答案

    (1)解析:本题考查基本路径测试法中控制流图和环路复杂度的基础知识。

    具体知识点可以参考例题中的解析,这里涉及到一个公式,要确保程序中每个可执行语句至少执行一次所需测试用例数的上限公式是:边数-结点数+2;套用到本题中就是9-5+2=6。

    故该题目的正确答案为C。

     

    (2)解析:本题考查辑覆盖分析法中条件组合覆盖法的基础知识。

    条件组合覆盖:选择足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。条件组合覆盖的测试用例数为:2^n(n表示条件的个数),本题条件为:a>0、b>0和 c<5共计3个,所以需要2^3=8个测试用例。

    故该题目的正确答案为C。

     

    (3)解析:本题考查白盒测试中辑覆盖分析法的基础知识。

    典型的逻辑覆盖度量标准有6种,按照从低到高的排序依次为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、修正的判定/条件覆盖(MCDC)和条件组合覆盖。需要注意的是满足条件覆盖的测试用例不一定满足判定覆盖,其他从低到高的覆盖率的次序不受影响。

    故该题目的正确答案为B。

    写于2020年11月4日

    作者:昊洋讲师

    版权所有,侵权必究

    相关文章

      网友评论

          本文标题:软件评测师写作专栏之白盒测试用例设计客观题29

          本文链接:https://www.haomeiwen.com/subject/yfsgvktx.html