第六章软件测试 §6.1基本概念 软件开发过程必须伴有质量保 证活动。 软件测试是软件质量保证的关 键元素,代表了规约、设计和 编码的最终检査
第六章 软件测试 §6.1 基本概念 软件开发过程必须伴有质量保 证活动。 软件测试是软件质量保证的关 键元素,代表了规约、设计和 编码的最终检查
有关测试的思考题 ●软件测试是一门非常重要的学科,主要研 究内容是什么? ●软件测试需要什么样的专业基础 ●软件质量到底是什么? ●测试的目标是什么? ●开发一个测试系统之前你是否明白 可以测试什么? 应该测试什么? 最终能够测试什么?
有关测试的思考题 •软件测试是一门非常重要的学科,主要研 究内容是什么? •软件测试需要什么样的专业基础 •软件质量到底是什么? •测试的目标是什么? •开发一个测试系统之前你是否明白: • 可以测试什么? • 应该测试什么? • 最终能够测试什么?
软件产品最大的成本是检测软 件错误、修正软件错误的成本。 在整个软件开发中,测试工作量 般占30%~40%,甚至≥50% 在人命关天的软件(如飞机控制、 核反应堆等)测试所花费的时间 往往是其它软件工程活动时间之 和的三到五倍
软件产品最大的成本是检测软 件错误、修正软件错误的成本。 在整个软件开发中,测试工作量 一般占30%~40%,甚至≥50%。 在人命关天的软件(如飞机控制、 核反应堆等)测试所花费的时间 往往是其它软件工程活动时间之 和的三到五倍
软件测试背景 软件是人编的一所以不完美 实例: 1994-1995,迪斯尼的狮子王系统不支持问题 nte的 pentium处理器 1994年浮点除法缺陷 200年8月28日,1.13MHZ处理器一个可能导致运行程序 被挂起的执行指令问题 1999年12月3日美国航天局火星极地登陆飞船失 踪 ●1991年爱国者导弹防御系统系统时钟错误积累造 成跟踪系统失去精确度 ●千年虫世界各地解决2000年错误超过数亿美元
软件测试背景 软件是人编的—所以不完美 实例: •1994-1995,迪斯尼的狮子王系统不支持问题 •Intel的pentium处理器 • 1994年浮点除法缺陷 • 200年8月28日,1.13MHZ处理器一个可能导致运行程序 被挂起的执行指令问题 •1999年12月3日,美国航天局火星极地登陆飞船失 踪 •1991年爱国者导弹防御系统系统时钟错误积累造 成跟踪系统失去精确度 •千年虫,世界各地解决2000年错误超过数亿美元
软件测试的认识的发展 人们对软件测试认识的五个阶段: 阶段1一测试=调试 阶段2一测试是证明软件正确 阶段3一测试是发现软件中错误 阶段4一测试是减小软件不工作的风险 (是度量软件质量要素的过程) 阶段5一测试可产生低风险的软件的 种认识上的训练
软件测试的认识的发展 人们对软件测试认识的五个阶段: 阶段1 — 测试=调试 阶段2 — 测试是证明软件正确 阶段3 — 测试是发现软件中错误 阶段4 — 测试是减小软件不工作的风险 (是度量软件质量要素的过程) 阶段5 —测试可产生低风险的软件的一 种认识上的训练
三个盲人和一头大象:你能够为质量 下定义吗? 质量管理领域权威人物JM. Juran将质量 定义为“决定产品性能和:满意程度’的 特征”,测试注重于产品的满意度 测试应针对这样一种情况: 软件产品在一些特定的范围内不能满足 客户的合理要求。 通过测试过程可以评定质量风险(可能 的错误),了解被测试系统中存在的错误 模式(观察到的错误症状)
三个盲人和一头大象:你能够为质量 下定义吗? 质量管理领域权威人物J.M.Juran将质量 定义为“决定产品性能和‘满意程度’的 特征”, 测试注重于产品的满意度。 测试应针对这样一种情况: 软件产品在一些特定的范围内不能满足 客户的合理要求。 通过测试过程可以评定质量风险(可能 的错误),了解被测试系统中存在的错误 模式(观察到的错误症状)
质量控制技术 开发方法学 匚配置管理」 避免错误 匚验证技术」 评审 正确性验证 调试 性能调试 质量控制 检错 仁组件测试 测试〈[集成测试 系统测试 原子事务 容错 模块冗余性 质量控制活动分类
质量控制技术 质量控制活动分类 开发方法学 配置管理 验证技术 评 审 正确性验证 性能调试 组件测试 集成测试 系统测试 原子事务 模块冗余性 质量控制 检 错 避免错误 容 错 调 试 测 试
软件质量问题 以软件测试为中心的软件质量保障技术 软件静态测试技术 质量软件度量技术 控制动态测试技术 技术配置管理技术 修改控制与管理技术 软件测试是保证软件质量,提高 软件可靠性的关键
软件质量问题 以软件测试为中心的软件质量保障技术 软件 静态测试技术 质量 软件度量技术 控制 动态测试技术 技术 配置管理技术 修改控制与管理技术 软件测试是保证软件质量,提高 软件可靠性的关键
软件测试的目标 (1预防错误:几乎不可实现 (2)发现错误
软件测试的目标 (1)预防错误: 几乎不可实现 (2)发现错误
6.1.1测试的目的与地位 G. J. Myers在中认为 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为 止尚未发现的错误的测试 3.一个成功的测试是揭示了迄今为止尚未发 现的错误的测试
6.1.1 测试的目的与地位 G.J.Myers在中认为: 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为 止尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发 现的错误的测试