软件测试技术-2解决方案.ppt

* * 看不到(不可预知) 看到但是抓不到 软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都有可能产生和发现缺陷。随着整个开发过程的时间推移,更正缺陷或修复问题的费用呈几何级数增长。 0 20 40 60 80 100 编制说明书 设计阶段 编写代码 测试 发布 $1 $10 $100 $1000+ specification design code release * * 来自上个步骤的缺陷 放大了的缺陷,1:X 本步骤新产生的缺陷 缺陷检测 有效性 百分比 传给下个步骤 的缺陷 来自上个步骤 的缺陷 缺陷数量的放大 每个进入下个步骤的缺陷都可能引起 下个步骤中的多个缺陷,导致消缺成 本的剧增。 缺陷发现越晚,纠正费用越高 查找一个软件缺陷的案例 ,写在作业本上 及时发现缺陷要求时间和人力上的投入,可能表面上看会延误进度,但是,这些投入是会有收获的。这里面临的是“现在投入,否则以后投入更多”的情况,因此,各级管理人员不应该片面追求进度。在软件联调之前,放松评审检查可能容易保证表面的进度完成,但是累积下来的缺陷将给后面的工作带来极大工作量,实际上是得不偿失的。公司这方面已经有了大量教训。 * * 及时发现缺陷要求时间和人力上的投入,可能表面上看会延误进度,但是,这些投入是会有收获的。这里面临的是“现在投入,否则以后投入更多”的情况,因此,各级管理人员不应该片面追求进度。在软件联调之前,放松评审检查可能容易保证表面的进度完成,但是累积下来的缺陷将给后面的工作带来极大工作量,实际上是得不偿失的。公司这方面已经有了大量教训。 康玲 回顾 软件测试的 引入 软件测试的可靠性问题 软件测试的发展 软件缺陷 软件缺陷案例 描述软件失败的术语 什么是软件缺陷 为什么会产生软件缺陷 软件缺陷修复的费用 事件 迪斯尼的狮子王,1994年—1995 兼容性测试 1994年秋,迪斯尼公司发布第一个面向儿童的多媒体光盘游戏Lion King Animated Storybook(狮子王动画故事书)。销量可观,但不久爆发问题,用户买回家后光盘不能正确运行,最终导致退货并赔偿。 原因——兼容性问题 未对市场上的各种PC机进行正确的测试,仅在自己的开发系统中做测试。软件在少数系统中工作正常。 事件 1999年 火星气象探测器(Mars Climate Orbiter)到达火星之后不久就消失;此项工程成本耗费3.27亿美元,还不包括损失的时间(该探测器从发射到抵达火星将近一年时间) 原因 地面系统软件和飞行器上软件分别使用公制和英制两种单位。 事件 1996年6月4日,欧洲阿丽亚娜5型火箭第一次发射,原计划将运送4颗太阳风观察卫星到预订轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。 原因 代码重用 代码符合标准C语言,但在运行过程中,程序员将一个64位浮点值转换为16位有符号整数值时,超出了16位整数的表示范围,造成内存溢出,而这个异常未得到正确解决。 int 8 a; int 32 b; a = b; 事件 Intel 奔腾浮点除法软件缺陷,1994 年Thomas博士在他的奔腾PC机上做除法试验:(4195835/3145727)*3145727-4195835,结果不为0 原因 软件缺陷.英特尔声称 ,奔腾处理器出现这一问题的可能性微乎其微,因为即使是经常用到浮点运算的用户,也要每两万七千年才会遇上一次计算错误。但是,英特尔的技术性解释却引来媒体和公众更多的口诛笔伐。最终,英特尔当时的CEO (Andy Grove)向公众道歉,并承诺为用户更换奔腾处理器。 爱国者导弹防御系统,1991年 1991年海湾战争,美国爱国者导弹防御系统出现失误,炸死28名本国士兵。 原因:软件缺陷导致跟踪系统失去了精确度。 千年虫问题 20世纪70年代,为了节省系统存储空间,将4位的年份用后两位来存储。据估计,世界各地检查2000年兼容问题、解决2000年计算错误花费了数百亿美元。 原因:软件缺陷。 2009年2月份Google的Gmail故障,导致用户几个小时内无法访问邮箱。 原因:Google数据中心之间的负载均衡软件的Bug引起。 神舟七号成功发射 2008年 北京飞控中心和飞船系统、航天员系统、应用系统一道,共同制定了267个故障对策。除了几千页的技术文档,神七涉及的计算机指令有150多万 为了保证系统的可靠性、稳定性和正确性,飞控中心做了3万多条测试用例。 第一个有记载的bug是编译器的发明者格蕾斯.哈珀发现的。1945年9月9日,下午3点,哈珀中尉正领着他的小组构造一个称为”马克二型”的计算机.这还不是一个完全的电子计算机, 使用了大量的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档