欢迎来到天天文库
浏览记录
ID:39722282
大小:790.00 KB
页数:29页
时间:2019-07-10
《软件缺陷与测试定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章软件缺陷与测试定义3.1软件测试的背景3.2软件测试的定义3.3软件测试生命周期3.4软件开发与测试模型3.5软件测试的术语和定义由安博测试空间技术中心http://www.btestingsky.com/提供2007年8月28日3时37分第页3.1软件测试的背景3.1.1软件错误案例研究软件无处不在,软件是人写的,所以不完美,请看下面的例子迪斯尼的狮子王问题,1994-1995迪斯尼公司发布的第一个面向儿童的多媒体光盘游戏--狮子王动画故事,在公众使用的系统中不能运行英特尔奔腾器的除法问题
2、,19941994年12月30日;ThomasR.Nicely博士在他的一个实验中,发现了奔腾CPU的除法问题(4195835∕3145727)×31435727―4195835=?2007年8月28日3时37分第页英特尔公司为此道歉并花费4亿多美元更换芯片美国航天局火星极地登陆者号探测器问题,19991999年12月3日,美国航天局的火星极地登陆者号探测器试图在火星表面着陆时失踪。爱国者导弹防御系统问题,19911991美国爱国者导弹防御系统首次应用在海湾战争中对抗伊拉克飞毛腿导弹的防御战中,一
3、次在沙特阿拉伯的多哈击毙了28名美国士兵还有:2003年4月,一个软件故障导致美国航空集团公司损失数千美元,因为有些机票的价格被误定为1.86美元2007年8月28日3时37分第页2003年8月,位于美国俄亥俄州的第一能源(FirstEnergy)公司下属的电力监测与控制管理系统“XA/21”出现软件错误,导致北美东北部大规模停电2005年07月13日,北京互联网首次突然大面积断网,主要原因是北京网通几个核心路由器的BGPDown掉了美国商务部的国立标准技术研究所(NIST:NationalIns
4、tituteofStandardsandTechnology)有关软件缺陷的损失调查报告表示,“据推测,由于软件缺陷而引起的损失额每年高达595亿美元。这一数字相当于美国国内生产总值的0.6%”2007年8月28日3时37分第页3.1.2软件缺陷3.1.2.1软件失败的术语缺点(defect)偏差(variance)故障(fault)失败(failure)问题(problem)矛盾(incosistency)错误(error)特性殊(feature)事件(incident)缺陷(bug)异常(an
5、omaly)2007年8月28日3时37分第页这些词的含义几近相同。故障、失败和缺点都指确实严重的情况,甚至是危险的情况;异常、事件和偏差不是那么尖锐,主要指未按预料的运行,而不是全部的失败。问题、错误和缺陷也许是最常用的术语。2007年8月28日3时37分第页3.1.2.2软件缺陷官方的定义软件未实现产品说明书要求的功能。软件出现了产品说明书指明不会出现的错误。软件实现了产品说明书未提到的功能。软件未实现产品说明书虽未明确提及但应该实现的目标。软件难以理解、不易使用、运行缓慢或者——从测试员的角
6、度看——最终用户会认为不好。2007年8月28日3时37分第页每一个使用过一些软件的人都会对软件的工作方式有自己意见和想法,要编写令所有用户都满意的软件是不可能的。要全面,最重要的是要客观评价,并非所有测试发现的缺陷都要修改。2007年8月28日3时37分第页3.1.2.3为什么会出现软件缺陷(1)导致软件缺陷最大的原因是产品说明书(需求分析)图3-1软件缺陷所占的比例2007年8月28日3时37分第页(2)软件缺陷的第二大来源是设计(3)代码错误可以归咎于软件的复杂性、文档资料的不足、进度压
7、力或者普通的低级错误,与(1)、(2)有关(4)其他原因,如误解,重复错误,测试错误等只占极小的比例。2007年8月28日3时37分第页3.1.2.4软件缺陷的修复费用随着时间推移,修复软件缺陷的费用惊人地增长(指数级)IBM:确定软件错误的相对成本是:在设计阶段,1.5;编码前,1;编码中,1.5;测试前,10;测试中,60;交付后,100。[WattsHumphrey]TRW:确定错误的相对时间:需求分析阶段,1;设计阶段,3-6;编码阶段,10;开发测试阶段,15-40;接受性测试阶段,
8、30-70;应用运行中,40-1000。[Boehm]2007年8月28日3时37分第页图3-2软件缺陷的费用2007年8月28日3时37分第页3.2软件测试的定义3.2.1什么是软件测试根据侧重点的不同,主要有以下几种观点:1)1983年IEEE将软件测试定义为:“使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”,该定义明确地提出了软件测试以检验是否满足需求为目标。2)Myers认为:“是为了发现错误而执行程序的
此文档下载收益归作者所有