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

软件测试技术教学课件作者林连进第四章.ppt

软件测试技术教学课件作者林连进第四章.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2 黑盒测试与白盒测试 4.2.2 白盒测试 白盒测试又称为结构测试. 是根据被测程序的内部结构设计测试用例的一类测试. 具有很强的理论基础. 结构测试要求对被测程序的结构特性实现一定程度的覆盖. 或说其是“基于覆盖的测试”. 测试人员可以严格定义要测试的确切内容. 明确提出要达到的测试覆盖率. 以减少测试的盲目性. 引导测试人员朝着提高测试覆盖率的方向努力. 从而找出那些被忽视的程序故障. 语句覆盖是一种最为常见. 也是最弱的逻辑覆盖准则. 它要求设计若干个测试用例. 使被测程序的每个语句都至少被执行一次. 判定覆盖或分支覆盖则要求设计若干个测试用例. 上一页 下一页 返回 4.2 黑盒测试与白盒测试 使被测程序的每个判定的真分支和假分支都至少被执行一次. 当判定含有多个条件时. 可以要求设计若干个测试用例. 使被测程序的每个条件的真、假分支都至少被执行一次. 这就是条件覆盖. 在考虑对程序路径进行全面检验时. 可以使用路径覆盖准则. 尽管结构测试提供了评价测试的逻辑覆盖准则. 但Howden 认为结构测试是不完全的.理论上. 可以构造出一些程序实例证明: 每种基于结构的测试最终都将达到极限而不能发现所有的故障. 如果程序结构本身有问题. 比如程序逻辑有错或者遗漏了某些规格说明已规定的功能. 那么. 无论哪一种结构测试. 即使其覆盖率达到100% . 也是检查不出来的. 因此. 提高结构的测试覆盖率只能增强对被测软件的信心. 但绝不是万无一失的. 上一页 下一页 返回 4.2 黑盒测试与白盒测试 4.2.3 黑盒测试与白盒测试的比较 黑盒测试和白盒测试是两种完全不同的测试方法. 它们的出发点不同. 并且完全对立.反映了事物的两个极端. 它们各有侧重. Robert Poston 认为: “白盒测试自20 世纪70 年代以来一直在浪费测试人员的时间……它不支持良好的软件测试实践. 应该从测试人员的工具包中剔除”. 而Edward Miller 则认为: “如果能达到85% 或更好的分支覆盖率. 那么白盒测试能识别出的软件故障. 一般是黑盒测试能找出的故障的两倍”. 事实上. 黑盒测试和白盒测试在测试实践中都非常有效而且都很实用. 不能指望其中的一个能够完全代替另一个. 一般而言. 上一页 下一页 返回 4.2 黑盒测试与白盒测试 在单元测试时大都采用白盒测试. 而在确认测试或系统测试中大都采用黑盒测试.如图4 -4 所示. 黑盒测试基于外部规格说明. 从输入数据与输出数据的对应关系出发设计测试用例. 对被测程序的内部情况一无所知. 完全不涉及程序的内部结构. 很明显. 如果外部特性本身有问题或规格说明的规定有误或程序实现了没有被描述的行为(病毒就是这种未描述行为的很好的例子). 那么用黑盒测试方法是发现不了的. 另一方面. 白盒测试完全与之相反. 它只根据程序的内部结构进行测试. 而不考虑其外部特性. 如果程序结构本身有问题. 比如程序逻辑有错误或有遗漏. 那么用白盒测试则无法发现. 如果要求被测软件“做了所有它该做的事. 而没有做一点它不该做的事”. 上一页 下一页 返回 4.2 黑盒测试与白盒测试 那么就需要把黑盒测试与白盒测试结合起来使用.因此. 两种方法都需要. 表4 -1 给出了黑盒测试和白盒测试方法的比较. 图4 -5 则说明了它们各自的能力范围及不足. 以上概括地介绍了黑盒测试和白盒测试方法的主要思想. 关于黑盒测试和白盒测试的一些主流方法. 将在后续章节进行更详细的讨论. 上一页 返回 4.3 静态测试与动态测试 软件测试方法还可以分为两大类: 静态测试方法和动态测试方法. 静态测试是指不利用计算机运行被测程序. 而是通过其他手段达到检测的目的. 动态测试是指通常意义上的测试———通过运行和使用被测程序. 发现软件故障. 以达到检测的目的. 模拟这两种测试的最好方法是研究一下汽车的检查过程. 踩油门、看车漆、打开前盖检查都属于静态测试技术. 而发动汽车、听发动机的声音、上路行驶则属于动态测试技术. 检查软件规格说明属于静态黑盒测试. 软件规格说明是书面文档. 不是可以执行的程序. 因此检查软件规格说明属于静态测试. 软件测试人员可以利用书面文档资料进行静态黑盒测试.认真查找软件缺陷. 而检查代码则属于静态白盒测试. 下一页 返回 4.3 静态测试与动态测试 它们是在不执行程序的条件下有条理地仔细审查软件设计、体系结构和代码. 从而找出软件故障的过程. 静态测试是对被测程序进行特性分析的一些方法的总称. 通常在静态测试阶段进行以下检测活动: (1) 检查算法的逻辑正确性. 确定算法是否实现了所要求的功能. (2) 检查模块接口的正确性. 确定形参的个数、数据类型. 顺序是否正确. 确定返回值类型及返回

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档