软件测试的概述.ppt_第1页
软件测试的概述.ppt_第2页
软件测试的概述.ppt_第3页
软件测试的概述.ppt_第4页
软件测试的概述.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Contents,1. 什么是测试,1.1 什么是软件测试,IEEE的定义 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别 测试在开发中的角色 模拟、执行系统的操作 建立软件是按要求的方式执行的信心 意图发现问题和错误 度量程序的功能和质量 评价程序的属性和能力,评估其是否获得期望结果 除了执行代码,还包括同行评审,1.1什么是软件测试,对测试的新认识 测试不再是编码后才进行的活动,而是一个基于整个软件开发周期的质量控制活动 基于代码运行的测试 静态测试 测试的V模型,测试V模型,1.2 为什么要进行测试,AirLie软件咨询中心提出的原因 未良好测试的程序可能导致任务失败、影响操作的性能和可靠性、增加维护成本 程序的测试是项目的主要成本 需求和设计时就开始测试,影响项目成功 及时面对和处理问题,降低修改和返工的成本 尽早发现软件项目中的问题,1.2为什么要进行测试,导致错误的根源 缺乏有效沟通 软件复杂度 编程错误 不断变更的需求 时间压力 缺乏文档的代码 人员的自大,1.3 测试的目的,证明 表明软件可以工作 建立信心、尝试功能和特性、保证可用性 检测 发现错误 发现错误和不足、局限性 预防 质量管理 尽早检测错误、确认问题和风险及其解决途径,1.4 测试中的误区,误区1 测试和调试是一样的 误区2 测试组应当为保证质量负责 误区3 过分依赖Beta测试 误区4 把不合格的开发人员安排做测试 误区5 关注测试的执行而忽略测试的设计 误区6 测试自动化是万能的 误区7 测试是可以穷尽的 误区8 测试是为了证明软件的正确性 误区9 测试是枯燥乏味,缺乏创造力的工作,1.5测试的心理学和经济学,软件测试不仅仅是技术工作 软件测试涉及经济学和人类心理学的一些重要因素,1.51测试的非技术因素,软件测试的经济学 理想情况:对程序的所有可能执行情况进行测试 实际情况:即使简单的程序其可能的输入与输出组合可能达到相当大的数量,对所有可能情况设计测试用例是不切合实际的 经济上的可行性:对复杂的应用程序进行完全的测试将耗费大量的时间和人力资源,在经济上是不可行的,1.51测试的非技术因素,软件测试的心理学 要成功测试软件,测试人员需要有正确的态度,甚至可能比实际的测试过程本身还要重要,1.52测试的心理学,测试是为发现错误而执行程序的过程 测试可以提高程序的可靠性或质量 提高可靠性指找出并最终修改了程序的错误 测试不是为了证明程序能够正确运行,而是应该一开始就假设程序中隐藏着错误,然后测试程序并发现尽可能多的错误 软件测试更适宜被视为试图发现程序中错误的破坏性的过程。 一个成功的测试用例,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进 通过软件测试最终可以建立某种程度的信心软件做了其应该做的,未做其不应该做的,1.53测试的经济学,软件测试是否能够发现所有的错误? 即使是规模很小的程序,要发现程序中的所有错误也是不切实际的,常常也是不可能的 软件测试的经济学问题 软件测试人员对被测软件的期望 测试用例的设计方式 在开始测试之前应该建立某些策略 黑盒测试 白盒测试,黑盒测试,黑盒测试是最常用的测试策略 数据驱动的测试 输入/输出驱动的测试 功能性测试 黑盒测试的特点 将被测试的程序看作一个黑盒子,测试目标与程序的内部机制和结构完全无关,而是将重点集中在发现程序不按其规范正确运行的环境条件。 测试数据完全来源于软件规范,不需要了解程序的内部结构。,黑盒测试,黑盒测试的判定标准 穷举输入测试:将所有可能的输入条件都作为测试用例 即使对简单的小程序,也经常需要创建无限的测试用例,这是不可能的 程序涉及到数据存储时问题会更严重 穷举输入测试是无法实现的 我们无法测试一个程序以确保它是无错的 软件测试的经济学:由于穷举测试是不可能的,测试投入的目标在于通过有限的测试用例,最大限度地提高发现问题的数量,以取得最好的测试效果 对程序的某些合理的假设会有助于取得好的测试效果,白盒测试,白盒测试 逻辑驱动的测试 结构性测试 白盒测试的特点 白盒测试允许我们检查程序的内部结构,并从逻辑结构中获取测试数据。 使用测试用例执行程序中所有可能的控制流路径。,白盒测试,白盒测试的判定 穷举路径测试:如果使用测试用例执行了程序中所有可能的控制流路径,那么程序有可能得到了完全测试 穷举路径测试是不可能的 程序中不同逻辑路径的数量可能达到天文数字 穷举路径测试就是完全测试吗? 即使是穷举路径测试也决不能保证程序符合其设计规范 程序可能会因为缺少某些路径而存在问题,穷举路径测试不能发现缺少了哪些必需路径 穷举路径测试可能不会暴露数据敏感错误,1.64测试的原则,原则1:测试用例中一个必需部分是对预期输出或结果的定义 如果没有定义预期结果,实际上错误的结果可能被解释为正确的 测试用例必须包括两个部分:对程序的输入数据的描述,对程序在上述输入数据下的正确输出结果的精确描述 原则2:程序员应当避免测试自己编写的程序 心理上,程序员很难对自己建立起来的程序进行破坏性的审查,也难以改换思维方式 程序员对规范的错误理解会导致程序错误,同样的误解导致无法测试这样的错误 调试由程序员本人进行则更有效 原则3:编写软件的组织不应当测试自己编写的程序 定量地衡量软件的可靠性极其困难,记事实合理规划和实施的测试过程也可能被认为降低了完成进度和成本目标的可能性,因此编程组织难以客观测试自己的软件 由客观、独立的第三方进行测试更经济,1.64测试的原则,原则4:应该彻底检查每个测试的执行结果 测试中发现的错误常常被遗漏 原则5:测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况 测试软件时经常会忽略无效和未预料到的情况 在软件产品中突然暴露出来的许多问题是当程序以某些新的或未预料到的方式运行时发现的 针对未预料到的和无效的输入情况的测试用例更能发现问题 原则6:检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了不应该做的” 是原则5的必然结果 必须检查程序是否有我们不希望的副作用,这样的程序仍然是不正确的程序,1.64测试的原则,原则7:应避免测试用例用后既弃,除非软件本身就是一个一次性的软件 测试用例在测试后就消失了,一旦软件需要重新测试,就需要重新设计这些测试用例,结果或者是再次投入大量的工作,或者是草草测试,这样对程序的更改如果导致某个先前可执行的部分发生故障,这个故障往往不会被发现 回归测试:当程序其他部件发生更动后重新执行之前保留的测试用例 原则8:计划测试工作时不应默许假定不会发现错误 错误的测试定义:测试是证明程序正确运行的过程 正确的测试定义:测试是为发现错误而执行程序的过程,1.64测试的原则,原则9:程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比 残存错误与已知错误之间的联系:图2-2 page10 错误总是倾向于聚集存在,在一个程序中,某些部分要比其他部分更容易存在错误,为了使测试获得更大的程序,最好对这些容易存在错误的部分进行额外的测试 原则10:软件测试是一项极富创造性、极具智力挑战性的工作 测试软件的创造性很可能超过了开发软件所需的创造性 发现有效的测试用例是一项创造性的工作,1.7 本章小结,软件测试的理念 全面的测试理念 软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论