测试(zhf04)剖析.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试(zhf04)剖析

第 十 二 讲 测试(Testing) 本讲(第七章)的主要内容 一、软件测试及其目标 二、软件测试准则 三、测试方法 四、测试阶段的信息流 五、测试阶段 一、Myers的软件测试的定义 测试是为了发现程序中的错误而执行程序的过程; 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; 成功的测试是发现了迄今为止尚未发现的错误的测试 。 测试的意义和几点说明 软件质量保证的最重要手段 是否达到需求说明的功能和预期的指标 测试耗时费力,应用最小的测试代价获得最大的测试效果。 测试是为了发现错误,不是为了证明程序无错误。 测试不能证明程序中没有错误。 测试的可信度(dependability)问题。 “ Testing is the unavoidable part of any responsible effort to develop a software system.” — William Howden “ The first mistake that people make is thinking that the testing team is responsible for assuring quality.” — Brian Marick “Every program does something right; it just may not be the thing we want it to do.” — we unknown 二、软件测试准则 所有的测试都应追溯到用户需求,从用户角度看,最严重的错误是不能满足需求。 制定测试计划,并严格执行,排除随意性。测试计划在需求分析阶段就开始了,详细的测试用例在设计阶段确定。 Pareto原则:所发现错误的80%很可能源于程序模块的20%中。 测试应当从‘小规模’开始,逐步转向‘大规模’。 穷举测试是不可能的(Exhaustive testing)。 由独立的第三方或专门的测试小组进行独立测试。 Cont. 测试用例由输入数据和相应的预期输出组成。 测试用例不仅选用合理的输入数据,还要选择不合理的。 不仅检查程序是否做了应该做的事,还应该检查是否不应该做的。 长期保留测试用例,以便进行回归测试和维护。 三、测试技术的分类 静态测试 代码会审 code inspection 走查 walk-through 办公桌检查 desk checking 例如:Yourdon结构化走通、IBM的Fagan检查 动态测试 黑盒测试 白盒测试 穷举和选择测试。 静态测试 定义:人工方式进行的代码复审。又称人工测试,代码复审。 目的:检查程序的静态结构,找出编译不能发现的错误和人的主观认识上的偏差。 范围:需求定义、设计文档、源代码(着重分析) 特点: Myers的研究表明,对于某些类型的错误,静态测试更有效 。 经验表明,组织良好的代码复审可以发现程序中30%到70%的编码和逻辑设计错误。 不存在错误定位问题。 动态测试 定义: 机器测试,在设定的测试数据上执行被测试程序的过程。 目的: 通过执行程序代码动态地验证结果的正确性。 三个过程:设计测试用例;执行被测试程序;分析执行结果并发现错误。 三个要素:程序、测试数据、需求定义 两个方面:在测试数据上程序是对的;测试数据是正确的。 黑盒测试(Black-Box Testing) 定义 已知产品应该具有的功能,通过测试检验其每个功能是否都能够正常使用。又称功能测试 用途 把程序看成一个黑盒子,仅仅考虑输入和输出的对应关系和程序接口,完全不考虑它的内部结构和处理过程。一般用于综合测试、系统测试等 白盒测试(White-Box Testing) 定义 已知产品内部的工作过程,通过测试检验产品内部动作是否都能按照需求定义的规定正常使用。又称 Glass box testing,结构测试。 用途 必须完全了解程序的内部结构和处理过程,才能按照程序内部的逻辑测试,以检验程序中每条路径是否正确,因此 一般用于规模较小软件。 穷举测试(Exhaustive Testing) 定义:包含所有可能情况的测试。 对于黑盒测试,必须对所有输入数据的各种可能值的排列组合都进行测试。 对于白盒测试,程序中每条可能的路径在每种可能的输入数据下至少执行一次。 穷举测试是不可能的 对于黑盒是不可能的。例如,对C编译器进行测试,一方面要编出所有合法程序让它编译;另一方面又要编出一切不合法的程序,考察它能否指出程序的非法性质。显然,这两类程序的数量是无限的。 对于白盒也是不可能的。 选择测试 仅选择一些具有代表的、典型的测试用例,进行有限的测试。 以最少的测试用例发现最多的程序错误。 四、测

文档评论(0)

1520520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档