网站大量收购独家精品文档,联系QQ:2885784924

2008年软件测试技术-chap4.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 白盒测试方法 把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。 白盒测试的基本概念 什么是白盒测试 把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。 逻辑覆盖 逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。 1 语句覆盖 2 判定覆盖(分支覆盖) 3 条件覆盖 4 判定/条件覆盖 5 条件组合覆盖 5 条件组合覆盖 6 路径覆盖 独立路径测试 独立路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。 它是在程序控制流图的基础上,分析控制构造的环路复杂性,导出独立可执行路径集合,设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个独立可执行路径至少要执行一次。 独立路径测试步骤: 导出程序流程图的拓扑结构-流图(控制流程图) 计算流图G的环路复杂性V(G) 确定只包含独立路径的基本路径集 设计测试用例 例如,在图示的控制流图中,一组独立的路径是 path1:1 - 11 path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11 path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11 path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 路径 path1,path2,path3,path4组成了控制流图的一个基本路径集 循环测试 简单循环测试方案(假设n是允许通过循环的最大次数 ) 跳过循环 只通过循环一次 通过循环两次 通过循环m次,其中m n-1 通过循环n–1,n,n+1次 嵌套循环 对最内层循环做简单循环的全部测试。所有其它层的循环变量置为最小值; 逐步外推,对其外面一层循环进行测试。测试时保持所有外层循环的循环变量取最小值,所有其它嵌套内层循环的循环变量取“典型”值。 反复进行,直到所有各层循环测试完毕。 对全部各层循环同时取最小循环次数,或者同时取最大循环次数 串接循环 如果串接循环的各个循环都彼此独立,则可以使用简单循环的方法来测试串接循环。 当循环不独立时,使用测试嵌套循环的方法来测试串接循环。 面对对象的白盒测试 类测试一般有两种主要的方式:功能性测试和结构性测试,即对应于传统结构化软件的黑盒测试和白盒测试。 结构性测试对类中的方法进行测试,它把类作为一个单元来进行测试。测试分为两层:第一层考虑类中各独立方法的代码;第二层考虑方法之间的相互作用。 对于一个类的测试要保证类在其状态的代表集上能够正确工作,构造函数的参数选择以及消息序列的选择都要满足这一准则 面对对象的白盒测试 方法的单独测试 结构性测试的第一层是考虑各独立的方法,这可以与过程的测试采用同样的方法,两者之间最大的差别在于方法改变了它所在实例的状态,这就要取得隐藏的状态信息来估算测试的结果,传给其它对象的消息被忽略,而以桩来代替,并根据所传的消息返回相应的值,测试数据要求能完全覆盖类中代码,可以用传统的测试技术来获取。 面对对象的白盒测试 方法的综合测试 第二层要考虑一个方法调用本对象类中的其它方法和从一个类向其它类发送信息的情况。单独测试一个方法时,只考虑其本身执行的情况,而没有考虑动作的顺序问题,测试用例中加入了激发这些调用的信息,以检查它们是否正确运行了。对于同一类中方法之间的调用,一般只需要极少甚至不用附加数据,因为方法都是对类进行存取,故这一类测试的准则是要求遍历类的所有主要状态。 其他白盒测试方法 域测试(Domain Testing) 域测试是一种基于程序结构的测试方法。 Howden把程序中出现的错误分为域错误、计算型错误和丢失路径错误三种。 如果程序的控制流有错误,对于某一特定的输入可能执行的是一条错误路径,这种错误称为路径错误,也叫做域错误。 如果对于特定输入执行的是正确路径,但由于赋值语句的错误致使输出结果不正确,则称此为计算型错误。 另外一类错误是丢失路径错误。 其他白盒测试方法 域测试(Domain Testing) 域测试是主要针对域错误进行的程序测试。 域测试方法基于对输入空间的分析。 测试的理想结果就是检验输入空间中的每一个输入元素是否都产生正确的结果。 域测试正是在分析输入域的基础上,选择适当的测试点以后进行测试的。 域测试有两个致命的弱点:一是为进行域测试对程序提出的限制过多,二是当程序存在很多路径时,所需的测试点也很多。 其他白盒测试方法 符号测试 基本思想是允

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档