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

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

例题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日

作者:昊洋讲师

版权所有,侵权必究

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351