软件测试实例PPT课件
4) 失效(failure):失效指软件故障使软件不 能完成规定功能。
27.11.2020
11
这么多描述软件缺陷的术语?
Why? 公司的文化 开发小组的个性 他们怎样形容自身的软件问题
测试人员有必要了解与己合作的开发小组的 个性。
27.11.2020
12
产品需求规格说明书
产品需求规格说明书:也称产品规格说明书, 软件开发小组的依据。也是系统测试的依据。
其内容涉及: 产品的功能 产品的性能 产品的限制或应用范围 可靠性、可用性、可测试性等等。
27.11.2020
13
软件缺陷:定义
软件缺陷符合下列5个规则之一:
1. 软件未达到产品规格说明书定义的功能。 2. 软件出现了产品规格说明书指明不会出现
的错误。 3. 软件功能超出了产品规格说明书指明的范
围。
• 软件缺陷被发现后,Intel试图掩盖问题的严 重性。
27.11.2020
5
爱国者导弹防御系统,1991
海湾战争时,一枚爱国者导弹在沙特的多哈 击毙28名美国士兵。分析专家发现症结在 于一个软件缺陷。一个很小的系统时钟错误, 累积起来造成跟踪系统失去准确度。
27.11.2020
6
千年虫,大约1974
1.1臭名昭著的软件错误案例
• 计算机的发展史 • 软件的发展史 • 软件是人编写的--所以不完美
27.11.2020
1
Intel浮点除法软件缺陷,1994
让你的计算机做以下算式: (4195835/3145727)*314 答案?
27.11.2020
2
Intel浮点除法软件缺陷,1994
1994年12月,Virginia州Lynchburg University Dr. Thomas R.Nicely在Pentium PC上做除法实
27.11.2020
14
软件缺陷:定义
4. 软件未达到产品规格说明书虽未指出但应 达到的目标。
5. 软件测试员或用户认为软件不好或不便之 处。(全面客观、合情合理)
27.11.2020
15
举例:计算器
Senario: 1+2=5 死机或崩溃 一些“后门” 电池电力不足时计算错误 按键位置安排不好
27.11.2020
16
基础概念
软件缺陷:正式定义与分类
软件产品中违背了软件产品需求的实现, 则称为软件缺陷。 软件缺陷从应用意义上可分为三类:
语义错误 语法错误 功能缺陷
27.11.2020
17
基础概念
语义错误
软件是需求驱动的一系列变换过程的输出。如 果在变换过程中,对输入理解错误,则会产生 错误的输出,这类错误称之为语义错误。
1) 错误(error):指在软件开发过程中出现的 不希望或不能接受的人为差错。
2) 缺陷(defect):软件缺陷是指存在于软件 (文档、数据、程序)之中的那些不希望或 不可接受的偏差。
3) 故障(fault):故障指软件的计算或判决与 规定的不符合,使软件或其组成部分丧失了 在规定的限度内执行所要求的功能的能力。
据估计,世界各地检查2000年兼容问题、解 决2000年计算错误花费了数百亿美元。
27.11.2020
7
千年虫,大约1974
20世纪70年代,当时的计算机存储空间很小, 为了节省存储空间,很多系统采用了一个方 法,把4位数日期缩减为2位数,例如, 197373。也有人知道,采用这种方案, 到2000年时程序的日期计算会出问题,但 大家都认为那是遥远的未来。
验时发现了异常,他把发现的这个问题放到 了Internet,引发了一场风暴。
万幸的是,这种情况很少出现,仅在进行精 度很高的数学、科学和工程计算时才导致错 误。大多数的财务、商务应用用户根本不会 遇到此类问题。
27.11.2020
3
Intel浮点除法软件缺陷,1994
事情越闹越大。 最终,Intel为自己处理软件缺陷的行为道歉
然而,这一天毕竟是要到来的。
27.11.2020
8
1.2软件缺陷是什么
什么是“软件缺陷”,或“软件错误”?
“软件错误”这一术语,在没有特别加以说 明的情况下,这是一个泛用的、模糊的概念。
它指的可能是bug、 fault、error、failure、 crash(重大事故)、problem(疑问)等
并支付4亿美金来更换芯片。 现在,Intel在Web站点上报告已发现的问题,
并认真查看客户的反馈意见。
类似事件,通用汽车…
27.11.2020
4
Intel浮点除法软件缺陷,1994
这个故事重要的不是软件缺陷,而是Intel处 理问题的方式:
• 他们的软件测试工程师在内部测试时已经发 现了这个问题。管理层认为这没有严重到要 必须修正。
语义错误是一种偏离错误,如需求定义偏离了 用户需求,设计偏离了需求定义等。偏离既包 括正偏离(超出需求)也包括负偏离(不满足 需求)。
根据软件缺陷分布统计,需求定义错误和设计 错误分别占整个缺陷的56%和27%。
27.11.2020
18
基础概念
语法错误
软件产品是通过某种描述语言表达的结 果,如通过UML描述的设计,通过Java 描述的程序等。错误地使用了这些语言 或违背了这些语言的标准,则称为语法 错误。
根据软件缺陷分布统计,代码错误占整 个缺陷的7%。
27.11.2020
19
基础概念
功能缺陷
有些功能在通常情况下(甚至在大部分 绝大部分情况下)都可以正常运行,但 在一些特定条件下,则会出现异常,甚 至会引起系统崩溃或严重的安全问题, 例如缓冲区溢出。
27.11.2020
20
典型的缺陷类型
从产生缺陷的原因上分, 典型的缺陷类型
27.11.2020
9
描述软件缺陷的术语
描述软件缺陷的术语:
Defect 缺陷
Variance 偏差
Fault 故障
Problem 问题
Failure 失效
Error 错误
Bug 臭虫
Anomaly 异常
对于测试人员来说,任何和所期望的偏 差都应该上报。
27.11.2020
10
有关缺陷的几个概念
需求解释有错误 用户定义错了需求 需求记录错误 设计说明有误 编码说明有误 程序代码有误 数据输入有误 测试错误 问题修改不正确 正确的结果是由于其它的缺陷产生的
27.11.2020
21
软件缺陷根源统计
பைடு நூலகம்
长期的统计表明:
软件缺陷根源分布 其他 3%