叶子,软件测试sky下度过十数载生涯。几多风雨波折,几多辛酸甘苦,不足为外人道也。 若干手机测试,web测试,金融测试经验,若干测试管理经验,现在依然带着若干迷茫然信念坚定的踽踽独行于金融软件测试的茫茫大海之中,希望在测试的道路上有更多的同路人。

转载:软件评测师学习笔记--黑盒测试

上一篇 / 下一篇  2008-07-01 22:28:30

软件评测师学习笔记之一-黑盒测试

qMS%y0a y8mO;g0

2005-4-1851Testing软件测试网eE aN{]
 黑盒测试51Testing软件测试网9na?t)Ig6P
一. 黑盒测试概述(2.10黑盒测试)51Testing软件测试网P x6p&j9].LCd!K8Z
1
.定义51Testing软件测试网F:SEvM_8b K,v
也称功能测试,它是通过测试来检测每个功能是否都能正常使用
3[7g+?x3G0
把程序看成一个黑盒子,完全不考虑程序内部结构和内部特性,着眼于程序外部结构,不考虑内部逻辑结构
m#^2R7u-@V*r2z0
在程序接口进行测试,只检查程序功能是否按照需求说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息51Testing软件测试网2YYL)D5j {5g6@+G
主要针对软件界面和软件功能进行测试
@tG'S8N7u8o02
.试图发现的错误类型51Testing软件测试网TWAP k9g!A
功能不正确或遗漏51Testing软件测试网3[j%PWnGtB
界面错误(输入能否正确的接受?能否输出正确的结果)51Testing软件测试网0K*Y N!_M2C _
数据库访问错误(如数据结构定义错误或外部信息(如数据文件)访问错误)
!by(? ^1WD }v0
性能错误51Testing软件测试网ZEx+D5? k9?
初始化和终止错误51Testing软件测试网nm&E$ef
3
.黑盒测试用例设计方法
)?yA(XZHU3}o~9e0
1 等价类划分法:把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类的其他
3sfW2jWJ4|6|B0
2 边界值分析法:通过选择等价类边界的测试用例。不仅重视输入条件边界,而且也必须考虑输出域边界51Testing软件测试网 JjI6G?/pB)Ep
3 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法
jM,n/B)HH0
4 因果图法:从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输入或程序状态的改变),可以通过因果图转换成判定表
f9Y,yCG0
5 判定表驱动法:利用判定表进行测试用例的设计51Testing软件测试网N1dUw;zB&[K6Y
6 正交试验设计法:使用已设计好的正交表格来安排试验,并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率
K!WBasg0
7 功能图法:用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成51Testing软件测试网}_g5jQ+@7x
二. 黑盒测试用例设计方法
.R!MJ4t#i uoSl01
.等价类划分法51Testing软件测试网)HW8f T ^*r5u
1)划分基础:需求规格说明书中输入、输出要求51Testing软件测试网_C z!u ]O&Bf&~ JA
2)等价类:某个输入域的子集合;分为有效等价类和无效等价类51Testing软件测试网m }0A;sl|
有效等价类:指对于程序规格说明书来说是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明书中的功能和性能
uz1{~AZ'uF0
无效等价类:与有效等价的定义恰巧相反
-_e"\T j8S0
3)划分等价类原则(6条)
8hHJ WRs&U0
序号 输入条件(数据) 划分等价类51Testing软件测试网qbq#?@.k X
规定了取值范围值的个数 一个有效等价类两个无效等价类51Testing软件测试网pG GL8\
规定了输入值的集合规定了必须如何的条件 一个有效等价类一个无效等价类
?5_F]\1pk0
是一个布尔量 一个有效等价类一个无效等价类51Testing软件测试网-jUM-d7`:?v
输入数据的一组值(n个),并且程序对每一个输入值分别进行处理 n个有效等价类一个无效等价类51Testing软件测试网N3m~({\K VR7k
规定必须遵守的规则 一个有效等价类(符合规则)若干个无效等价类51Testing软件测试网7bV"mTMpc
在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类
*di_2l1w(K0c%Eb0    
K CiM `G3T0
4列出等价类表51Testing软件测试网B` | x!eE$g3f\
在确定了等价类之后,建立等价类表,列出所有划分出的等价类51Testing软件测试网h#u#]fg4bzGm;R7T$q
输入条件 有效等价类 无效等类51Testing软件测试网}D2[`fRTj
…… …… ……
%]^6p#B-ug3j&r0
5确定测试用例步骤51Testing软件测试网d'zB4l$P*K/}
第一步:为每个等价类规定一个惟一的编号
(hlX COgM V0
第二步:设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步骤,最后使得所有有效等价类均被测试用例所覆盖
u+S2[D v7C\-Srr5w0
第三步:设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步骤,最后使得所有有效等价类均被测试用例所覆盖51Testing软件测试网Bo,I-v J[3e
小结:采用等价类划分方法设计测试用例,按照划分等价类、列出等价列表、确定测试用例三个步骤完成,目标是把可能的测试用例组合缩减到仍然足以满足软件测试需求为止。51Testing软件测试网yO/o8q dBQ
2
.边界值分析法
5gQJsM}6k~0
1边界类型
J"} e4RLJ(S0
边界条件:可以在产品说明书中有定义或者在使用软件过程中确定51Testing软件测试网!_7V1Q oX;XI$C
次边界条件:在软件内部,也称为内部边界条件
9vRV8F c|1B1q:{j0@0
其他边界条件:如输入信息为空(对于此类问题应建立单独的等价类空间)、非法、错误、不正确和垃圾数据
a\y,O+Pr0
2)边界值的选择方法(遵循原则)
r&B#XC CC$P3R0
序号 输入条件(数据) 输入边界值数据51Testing软件测试网5f3W p0k*ce
规定了取值范围 刚刚达到这个范围刚刚超越这个范围51Testing软件测试网)i c ? kFW
规定值的个数 最大个数、比最大个数大1最小个数、比最小个数少151Testing软件测试网UZ'q+?B/q*jq
根据规格说明书的每个输出条件,使用原则12
bB0mn x\-y0
输入或输出是个有序集合 集合的第一个、最后一个元素
gF!n0Iy H0
程序中使用一个内部数据结构 内部数据结构边界上的值51Testing软件测试网Y%}~2J1MsC m
分析规格说明,找出其他可能的边界51Testing软件测试网&U2@'r|'`.{*W ?.i
3)例子:
@7j2Vb:C$fs i0
允许文本输入1255个字符:测试用例-12552540256
%u4[!}4Y5v)O v0
程序读写软盘:测试用例-文件很小、等于软盘容量限制之内、空、超过
#F-w;D!X},]O:p \:O0
程序允许在一张纸上打印多个页面:测试用例-只打印一页,规定最大页,0页,大于允许最大页数
7I9y?9\ S?9EJ03
.错误推测法51Testing软件测试网Ph5Y|Pp+o
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例
.ND&L&tYu1lR04
.因果图法
3];k.@:V X0^)?}K0  
侧重于输入条件的各种组合,各个输入情况之间的相互制约关系51Testing软件测试网$c0h P ?nCDz
1 因果图设计方法
0l l1X0g.] ]0
从用自然语言书写的程序规格说明的描述中找出因果,通过因果图转换成判定表51Testing软件测试网 FJ)^ Q1RnT CY
2 因果图导出测试用例步骤
]!v m&X#Z PE0
第一步:分析程序规格说明的描述中,哪些是原因,哪些是结果。原在因常常是输入条件或是输入条件的等价类,结果是输出条件51Testing软件测试网:h8iv[m
第二步:分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图51Testing软件测试网8h9sxh+{;F
第三步:标明约束条件
Qn&D!c{ p&B]!m8s0
第四步:把因果图转换成判定表51Testing软件测试网6y`df BZp
第五步:为判定表中每一列表示的情况设计测试用例
JS kw$ypI0
3 因果图基本图形符号
fNS9pAtf0
通常在因果图中,用Ci表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现)1(某状态出现)
&P$Sy}2ZT.B,z7\*rw'y-_0
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现51Testing软件测试网8^ZV(rA
非(~):若原因出现,则结果不出现;若原因不出现,则结果出现
D meO&Q"_&h1t b0
或(V):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;
a5~]U-R z*@ X0
与():若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现51Testing软件测试网2Uxz.U6G6LCP
4 因果图的约束符号51Testing软件测试网P0dv#H{?Z r
从输入(原因)考虑四种约束51Testing软件测试网*et5NL%Xe
l E
(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
B W;xCK5N0l I
(包含):表示三个原因中至少有一个必须成立51Testing软件测试网z.jTL H\8}mr8p
l O
(惟一):表示两个原因中必须有一个,且仅有一个成立
9V$p;T^7G&D|0l R
(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
:MD ?WSFF8M%_"t0
从输出(结果)考虑一种约束
5W-Q4GA AGP{"p9P0l M
(屏蔽):两个结果,a1时,b必须是0,当a0时,b值不定
m U8u4w(E4BV0
$uqZbz/P02005-4-1951Testing软件测试网6ux wQop/{{
5
.判定表驱动法
4oK%F6N;?#ZnY0
1 判定表:是分析和表达多逻辑条件下执行不同操作的情况的工具
2H.baFjCF0
2 判定表组成
O)dC3e H [*m.g%i0
条件桩:列出了问题的所有条件
{(amYMv(N0
动作桩:列出了问题规定可能采取的操作
~:iU+C1Tl1k0
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
a-EL{A$j0
动作项:列出在条件项的各种取值情况下应该采取的动作51Testing软件测试网v#L?x])j*Ue[ R eM
规则:任何一个条件组合的特定取值及其相应要执行的操作
5{!qN$PYtUH0
注:判定表中贯穿条件项和动作项的一列就是一条规则;
I"Kx q.wr0
3 判定表的建立(步骤)
*Zb2p2^6mDl'c}0
第一步:确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2n种规则
]U9Pf ? C(U]2C0
第二步:列出所有的条件桩和动作桩
-v o CZDe0
第三步:填入条件项51Testing软件测试网d pB-Z0^:\FV
第四步:填入动作项。制定初始判定表51Testing软件测试网G a"w{&|IE\M%]
第五步:简化。合并相似规则或者相同动作51Testing软件测试网j'F+O5ba;s{
4 适合使用判定表设计测试用例的条件
0iWzXT0
规格说明以判定表的形式给出,或很容易转换成判定表
M2Oo o!]w0
条件的排列顺序不影响执行哪些操作51Testing软件测试网k6MU2P4u$jP

TAG: 转载

 

评分:0

我来说两句

tengmy

tengmy

叶子,生长于长白山脚下,暂居于大海之巅。喜欢舞文弄墨,喜欢拥有自己味道的人生。

日历

« 2024-03-16  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 128100
  • 日志数: 139
  • 图片数: 1
  • 建立时间: 2008-04-22
  • 更新时间: 2022-11-06

RSS订阅

Open Toolbar