欢迎来到天天文库
浏览记录
ID:45349653
大小:2.14 MB
页数:72页
时间:2019-11-12
《第4章+白盒测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、白盒测试NIIT1教研室王涛9/21/2021引言静态测试和动态测试静态测试是指不运行程序进行的测试------只是检查和审阅。白盒测试和黑盒测试测试用例的设计中,通常会把白盒测试和黑盒测试结合起来使用本章主要内容4.1静态测试技术4.2白盒测试技术4.1静态测试技术4.1.1代码检查4.1.2静态结构分析4.1.3代码质量度量4.1.1代码检查代码检查包括代码走查、代码审查等代码走查有组织的代码走查在编码阶段去除错误的成本是在软件发布阶段去除错误成本的1/92全部的代码是否都需要走查最大的问题是劝说开发
2、者要遵循一定的标准编码风格与规范好的风格对于好的程序设计具有关键性作用代码应该是清楚的和简单的-------具有直截了当的逻辑、自然的表达式、通行的语言使用方式代码审查代码审查和代码走查比较代码审查是提高代码质量的良药消除开发员的心理抵触代码审查要有目标代码审查清单4.1.2静态结构分析静态结构分析主要是以图形的方式表现程序的内部结构,例如函数调用关系图、函数内部控制流图。其中,函数调用关系图以直观的图形方式描述一个应用程序中各个函数的调用和被调用关系;控制流图显示一个函数的逻辑结构,它由许多节点组成,一
3、个节点代表一条语句或数条语句,连接结点的叫边,边表示节点间的控制流向。4.1.3代码质量度量ISO/IEC9126国际标准所定义的软件质量包括六个方面:功能性、可靠性、易用性、效率、可维护性和可移植性。软件的质量是软件属性的各种标准度量的组合。4.2白盒测试方法白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。3581322.293419985680302829734315250*(1+0.015)*((1+0.015)^360-1)/0.015白盒测试—
4、带上X光眼镜测试4.2白盒测试方法这个流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路径数高达520条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365天,那么要想把如图所示的小程序的所有路径测试完,则需要3170年。4.2白盒测试方法由于对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有选择适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。4.2.1逻辑覆盖法白盒测试中的逻辑覆盖方法有以下6种:
5、语句覆盖判定覆盖条件覆盖判定-条件覆盖条件组合覆盖路径覆盖例:实现一个简单的数学运算Dima,bAsIntegerDimcAsDoubleIf(a>0Andb>0)Thenc=c/aEndifIf(a>1orc>1)Thenc=c+1Endifc=b+c1.语句覆盖基本思想是:设计若干测试用例,运行被测程序,使程序中每个可执行语句至少执行一次。11.语句覆盖……续1只需设计一个测试用例:a=2,b=1,c=6;即达到了语句覆盖。1.语句覆盖……续2【优点】:可以很直观地从源代码得到测试用例,无须细分每条判
6、定表达式。【缺点】:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。2.判定覆盖基本思想是:设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。12.判定覆盖……续1a=2,b=1,c=6可覆盖判断M的Y分支和判断Q的Y分支;a=-2,b=-1,c=-3可覆盖判断M的N分支和判断Q的N分支。这两组测试用例可覆盖所有判定的真假分支。判断M判断Q2.判定覆盖…
7、…续2a=1,b=1,c=-3可覆盖判断M的Y分支和判断Q的N分支;a=1,b=-2,c=3可覆盖判断M的N分支和判断Q的Y分支;同样的这两组测试用例也可覆盖所有判定的真假分支。判断M判断Q2.判定覆盖……续3【优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。3.条件覆盖基本
8、思想是:设计若干测试用例,执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。13.条件覆盖……续1判断M表达式:设条件a>0取真记为T1假F1条件b>0取真记为T2假F2判断Q表达式:设条件a>1取真记为T3假F3条件c>1取真记为T4假F4判断M判断Q3.条件覆盖……续2测试用例覆盖条件具体取值条件a=2,b=-1,c=-2T1,F2,T3,F4a>0,b<=0,a>1,c<=1a=-1,b=2,c=3F1,T2
此文档下载收益归作者所有