电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

7-8白盒测试及其用例的设计VIP免费

7-8白盒测试及其用例的设计_第1页
1/81
7-8白盒测试及其用例的设计_第2页
2/81
7-8白盒测试及其用例的设计_第3页
3/81
教学目标理论环节学习理解白盒测试方法的基本概念学习理解白盒测试的覆盖理论学习掌握白盒测试的路径表达学习掌握白盒测试的基本路径测试法实践环节通过案例运用学习掌握覆盖问题的解决方法运用基本路径测试方法进行实际程序测试白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。白盒法把测试对象看做是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。白盒法也不可能进行穷举测试,企图遍历所有的路径,往往是做不到的。左图所示的一个小程序的控制流程,其中每个圆圈代表一段源程序(或语句块),图中的曲线代表执行次数不超过20的循环,循环体中共有5条通路。这样,可能执行的路径有520条,近似为1014条可能的路径。如果完成一个路径的测试需要1毫秒,那么整个测试过程需要3170年。显然,这也是不能接受的。白盒法需要了解程序的内部结构和详细的处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。对于白盒测试,即使每条路径都测试了,程序仍可能有错。再如由于疏忽漏写了路径,白盒测试也发现不了。所以,白盒法不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试用例。黑盒法、白盒法是设计测试用例的基本策略,每一种方法对应着多种设计测试用例的技术,每种技术可达到一定的软件质量标准要求。测试用例的设计白盒技术在测试阶段穷举测试不可行,必须要从数量极大的可用测试用例中精心地挑选少量的测试数据,使得采用这些测试数据能够达到最佳的测试效果,能够高效率地把隐藏的错误揭露出来。下面介绍几种白盒测试设计测试用例的方法。白盒测试的主要方法•逻辑驱动测试•基本路径测试••主要用于软件验证。•使用程序设计的控制结构导出测试用例。全部例子均为C语言编制六种逻辑覆盖一个显而易见的问题:一个完整的语句,未必是一行语句•y=abs(x);•if(x>=0)y=sqrt(x);•if(x>=0)y=x;•elsey=abs(x);•if((x>=0)&&(z>=0))y=x*z;简单的赋值语句单分支语句双分支语句判断条件较复杂的单分支语句一些更复杂的语句•if((x<0)or(x>100))printf("ERROR!");•else•if(x>=60)printf("OK!");•else•printf("FAIL!");•for(i=0;i<10;i++)•s=s+a[i];判断条件较复杂的多分支语句简单的循环语句对以上语句,请思考:如何让它们都被执行?•简单的赋值语句•使赋值号左侧的变量得到一个值•分支语句•使各个分支语句中至少一个被执行•循环语句•使循环体被执行至少一次Q:什么叫做“语句被执行”?给出测试数据,使各语句均被执行•y=abs(x);•if(x>=0)y=sqrt(x);•if(x>=0)y=x;•elsey=abs(x);令x任取一值即可使本语句被执行令x任取一非负数值即可保证判断条件成立,语句被执行令x任取一值因为此二分支覆盖了全部的取值范围,x无论取什么值,都能使其中的一个分支被执行•if((x>=0)||(z>=0))y=x*z;不管z,令x任取一非负数值不管x,令z任取一非负数值令x、z同时任取一非负数值这三种取值均能使判断条件成立令判断条件成立,语句即被执行•if((x<0)or(x>100))printf("ERROR!");•else•if(x>=60)printf("OK!");•else•printf("FAIL!");令判断条件A成立,分支之一被执行令判断条件A不成立,但B成立,那么分支之二被执行令判断条件AB均不成立,则分支之三被执行AB以上三种取值,均能使这个分支语句得以执行•for(i=0;i<10;i++)•s=s+a[i];令i取零到9闭区间内的任意值,循环体就会被执行可见:越复杂、影响最终结果的变量的可能值越多的语句,只要取其任一个分支或任一种可能,整条语句就算被执行最彻底的测试,是考虑到每一种可能最粗略的测试,是仅仅考虑到其中的一种可能逻辑驱动测试•是以程序内在逻辑结构为基础的测试,即测试覆盖率。共包括以下6种类型(强弱程度逐渐递增):•语句覆盖•判定覆盖•条件覆盖•判定-条件覆盖•条件组合覆盖•路径覆盖考虑到每一种可能,最彻底仅考虑一种可能,最粗略voidDoWork1(intx)1{2intk=0,j=0;3if(x>3)/...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

7-8白盒测试及其用例的设计

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部