软件测试理论和方法剖析.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试理论和方法 由安博测试空间技术中心/提供 主要内容 软件缺陷 排除软件缺陷的两种重要手段 软件测试的基本概念 测试过程 测试方法 测试类型 测试策略 测试工具 软件测试理论和方法 软件缺陷 排除软件缺陷的两种重要手段 软件测试的基本概念 测试过程 测试方法 测试类型 测试策略 测试工具 The first Bug 软件缺陷 - Defect 软件缺陷是对软件产品与其属性的偏离现象: 对产品规格说明的偏离 对用户期望的偏离 软件产品的三类缺陷: 错误:未将规格说明书正确实现 遗漏: 规定的或预期的需求未体现在产品中 额外的实现:规格说明书并未规定的需求被纳入产品,并得到实现 软件缺陷不可能完全避免 软件缺陷 行业对比 机械制造业 建筑业 软件业 缺陷是软件内部的“裂缝”,在为影响用户和系统运行的情况下是隐蔽的,但是,当缺陷引发运行错误或产生负面影响时,将会构成事故,造成损失或伤害。 软件测试理论和方法 软件缺陷 排除软件缺陷的两种重要手段 软件测试的基本概念 测试过程 测试方法 测试类型 测试策略 测试工具 软件测试—排除软件缺陷的第一个重要手段 测试在软件开发中占有重要地位 测试成本占有近一半的开发成本 软件开发成本分布: 软件项目评审—排除软件缺陷的第二个重要手段 软件测试理论和方法 软件缺陷 排除软件缺陷的两种重要手段 软件测试的基本概念 测试过程 测试方法 测试类型 测试策略 测试工具 软件测试的基本概念 测试的目的 测试的对象 软件测试的原则 软件测试信息流 为什么不可能做到穷举测试 软件测试的现状和局限性 测试的目的 提高产品的质量。 提高产品的商誉,获得更多的销售机会和市场份额。 降低客户的售后支持成本以及产品维护成本。 测试是程序执行的过程,目的在于发现错误(缺陷) 好的测试用例能有效地发现别的测试用例未发现的错误(缺陷) 成功的测试是发现了未曾发想的错误(缺陷) 测试的对象1 1、程序测试:发现程序中的缺陷 测试的对象2 软件测试的原则 在测试工作开始前,不应设想程序中没有缺陷或找不出缺陷(软件心理学) 测试以前应预知测试的结果数据 尽可能避免测试自己写的程序,坚持独立测试原则,必要的情况下建立独立测试机构 测试用例应兼顾有效输入和无效输入 不仅要检验程序是否做了应该做的事,还应检验是否做了不应该做的事 测试的充分性 测试的有效性 保留一切测试用例 任何已测程序的变更都应重新测试(回归测试) 软件测试信息流 测试的成本曲线 为什么不可能做到穷举测试 1 该程序有5条独立路径,含一个循环,最大循环次数为20次 分析: 循环次数: 0 1 2 3 … … 19 20 独立路径数:5^1+5^2+5^3+… …+5^21≈10^14 (100万亿) 每个测试用例(考虑、执行、验证结果)5分钟 共需测试时间:10亿年 为什么不可能做到穷举测试 2 一个功能模块有两个输入A和B,一个输出C。 输入A、B:均为最大长度为32的正整数 测试: A1、B1 ? C1 A2、B2 ? C2 … … An、Bn ? Cn n = 2^32 x 2^32 = 2^64 ≈ 1.84 x 10^19 软件测试的现状和局限性 目前的软件测试仍然是发现一个缺陷,解决一个缺陷 随着测试工作的进展,隐藏的缺陷将逐渐减少 采用任何测试方法都只能发现某些缺陷 不存在一个理想的测试方法能够发现所有的缺陷 不存在没有缺陷的软件,即使经过了周密的测试、运行的考验和维护的修补。 软件测试理论和方法 软件缺陷 排除软件缺陷的两种重要手段 软件测试的基本概念 测试阶段 测试过程 测试方法 测试类型 测试策略 测试工具 测试阶段 - V 模型 V 模型的优缺点 优点: 文档驱动的开发模型 很注重反馈和测试 在需求非常明确的前提下可以使用,也适用于有长期专职开发人员的小型项目开发。 不足: 严格限定了开发的各阶段,缺乏迭代性。 集成测试的时候是发现缺陷最多的时候,在V模型中滞后严重。 不支持探测性测试。 不适合新领域,缺乏对变化的支持。 不支持频繁集成。 XP 中的测试 XP 的特点 每日集成: 所有的源代码保存在单一的开发服务器上。 可运行的程序框架。 自动化编译,创建。 所有人都可以得到最新、最好的可执行文件 测试优先: 先测试后编程 组队编程 – Pair programming 用户在场 – On-site 缺陷样本管理 定期培训 支持重构: 代码集体所有 增量开发 举例:微软的XP元素 微软的一天从几点开始? 答:半夜 为什么? 答:因为Daily Build是所有工作的核心,而且是在半夜自动启动。 举例:微软的XP元素 (续) 程序员每天上班前最担心什么? 答:由于自己前一天的代码C

文档评论(0)

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

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

1亿VIP精品文档

相关文档