- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。
第3章 白盒测试方法
逻辑覆盖测试
黑盒测试与白盒测试
任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。
1.黑盒测试
黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合客户要求。
软件的黑盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动测试。
2.白盒测试
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试的基本概念
什么是白盒测试
把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。
不可能进行彻底的白盒测试
结论是:41+42+43+……+410,需要14秒左右的时间
如果循环次数为20次,100次时,结果又如何?
结论是:循环20次,需要约4072小时,循环100次则大约需要6.79*1047年
左图是具有某程序的流程图,假设循环10次,请计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大约需要10微秒(奔腾4 1.7G),且一年365天每天24小时不停机,请回答:如果循环次数为10的话,遍历图中所有路径需要多长时间?
白盒测试的常用方法
逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。
逻辑覆盖
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
路径覆盖
弱
强
覆盖程度从低到高排列
覆盖准则的作用
说明
用于描述在测试过程中,被测对象被测试的程度,有时候也称为软件测试覆盖准则或者测试数据完备准则,可以:
作为测试停止的标准,用于衡量测试是否充分;
作为选取测试数据的依据,满足相同覆盖准则的测试数据是等价的.
逻辑覆盖例题
路径:P1(TT)P2(FF)P3(FT)P4(TF)
程序如下:
function js(float A,float B,float X)
{
if(( A1)(B=0))
X=X/A; if((A==2)||(X1))
X=X+1;
}
1 语句覆盖
设计足够的测试用例,使得程序中的每个语句至少执行一次。
1 语句覆盖
A
B
X
用例1
2
0
4
输出
路径:P1(TT)P2(FF)P3(FT)P4(TF)
3
0
2
2 判定覆盖
设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。
2 判定覆盖(分支覆盖)
A
B
X
用例1
2
0
4
用例2
1
1
1
还有其它可能吗?
有!例如:301,211这两组用例
路径:P1(TT)P2(FF)P3(FT)P4(TF)
从定义上可知:判定覆盖包含了语句覆盖
3 条件覆盖
设计足够的测试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。
3 条件覆盖
将每一个条件都列出来:
A1
A=1
B=0
B!=0
A=2
A!=2
X1
X=1
3 条件覆盖
测试用例
覆盖分支
条件取值
覆盖路径
(204)(213)
A1, B=0, A=2, X1
P1(TT)
(101)(101)
A=1,B=0, A!=2, X=1
P2(FF)
(211)(212)
A1, B!=0, A=2 ,X=1
P3(FT)
3 条件覆盖
A
B
X
用例1
2
0
4
用例2
1
1
1
A
B
X
用例1
1
0
3
用例2
2
1
1
思考:
判定覆盖和条件覆盖的关系
4 判定/条件覆盖
同时满足判定覆盖的和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是
文档评论(0)