白盒测试与黑盒测试

白盒测试方法可以分为两大类:静态测试方法和动态测试方法,动态测试方法是设计一系列的测试用例,通过输入预先设定好的数据来动态地运行程序,从而达到发现程序错误的目的。静态测试方法则不在计算机上实际执行程序,而是以一些人工的模拟技术或使用测试软件对软件进行分析和测试。动态测试方法主要有逻辑覆盖、独立路径测试等。静态测试方法主要有静态结构分析、静态质量度量、代码检查方法等。

根据不同的测试要求,覆盖测试可以分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

语句覆盖就是设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。

判定覆盖又称分支覆盖,就是设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。

条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。或者说设计足够多的测试用例,使得被测试程序中的每个逻辑条件的可能值至少被满足一次。

判定/条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。在保证完成要求的情况下,测试用例的数目越少越好。

条件组合覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。

路径覆盖就是设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。


简述独立路径测试的基本步骤。

步骤1:根据源程序导出程序控制流图。

步骤2:根据程序环形复杂度的计算公式,求出程序环形复杂度。

步骤3:根据上面环形复杂度的计算结果,设计测试用例。

使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由Java语言书写,请按要求回答问题。

(1)请画出以上代码的控制流图。

注意:需要将复合条件分开单独画成节点。

例如:month >= 1 && month <= 12分别用节点2-1,2-2表示

month == 4 || month

== 6 || month == 9 || month == 11分别用节点21-1,21-2,21-3,21-4表示


(2)请计算上述控制流图的环复杂度V(G)(独立线性路径数)

区域法:V(G)=11

边与节点的关系:V(G)=27-18+2=11

判定节点的关系:V(G)=10+1=11

(3)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year、month设计测试用例(写出year取值、month取值、maxday预期结果),使其满足基本路径覆盖要求。




黑盒测试技术

1.测试程序时,不可能遍历所有可能的输入数据,而只能选择一个子集进行测试,那么最好的方法是 等价类划分法 

2.边界值分析法的测试用例来自于等价类划分的边界 。

3.决策表由_条件桩__、_动作桩__、_条件项__、_动作项__4个部分构成。

4.因果图分析法适用于 输入条件之间有多种组合   情况。

黑盒测试有两种基本方法,即通过测试和失败测试。在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何,软件测试人员只是运用最简单、最直观的测试案例。在设计和执行测试案例时,总是要先进行通过测试,验证软件的基本功能是否都已实现。在确信软件能正确运行之后,就可以采取各种手段通过搞垮软件来找出缺陷。这种纯粹为了破坏软件而设计和执行的测试案例,称为失败测试或迫使出错测试。


使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

在黑盒测试中,由于采用穷举法不可行,一般可以采用等级类划分法进行初步的测试用例设计,然后再根据边界情况采用边界值分析法补充相应的测试用例。


请使用等价类划分法为某保险公司计算保险费的程序设计测试用例。

某保险公司的人寿保险的保费计算方式为:投保额×保险费率。

其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定的,具体规则如表5-18:


请根据表所示的保险费率规则,划分等价类设计测试用例。

(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

年龄:一位或两位非零整数,值的有效范围为1~99

性别:一位英文字符,只能取值‘M’或’F’

婚姻:字符,只能取值‘已婚’或‘未婚’

抚养人数:空白或一位非零整数(1~9)

点数 :一位或两位非零整数,值的范围为1~99


(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例



黑盒测试又称功能测试或数据驱动的测试,主要从用户的观点出发,以软件规格说明书为依据,着重测试软件的功能需求,对程序功能和程序接口进行测试。

白盒测试是按照程序内部的结构测试程序检测产品内部动作是否按照软件设计说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

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