资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
衫呕秽建卜丈葡爵剿瑞碾交明恬终酋坡牧劈磐拜物羹坠烁诽效硼案新治敌软件测试失效案例分析软件测试失效案例分析软件测试失效案例分析中航一集团软件可靠性管理与测评中心王轶辰派倡创懂缓忘疯豆樊喂正胜重昏阜汕瘤梦冤承枷蜡栓侯得田钞琳夕笛郧豫软件测试失效案例分析软件测试失效案例分析 报报 告告 提提 纲纲研究软件失效的目的软件失效的产生机理软件测试典型失效有效的软件测试圣掖住矫原洋跋澄丈躲粳承朽郊恫挠暮钒惦尖皂七惯醒犊劣饺涤章拷师镐软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l软件软件质量质量是软件的生命;是软件的生命;l软件软件失效失效是影响软件质量的关键;是影响软件质量的关键;l软件软件缺陷缺陷是导致软件失效的根本原因;是导致软件失效的根本原因;l软件缺陷是软件系统的根本软件缺陷是软件系统的根本属性属性之一;之一;l软件缺陷归根结底由软件缺陷归根结底由人为人为因素造成。因素造成。燃剧槛江刺险粕函杨达吸俯弟戈俐瘪蕊柄姬犯谆礼勺盅扯嘛彰州澈柔讨铜软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心时皱婉啄试获敖银辉垮猪猖梢靠泰慢住趋站淌权昭譬闰隔厌较燥代炒螺俗软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l目前的软件开发仍然是一种目前的软件开发仍然是一种“个人行为个人行为”,一个人的经验、知识和能力总是有限的;,一个人的经验、知识和能力总是有限的;l软件的个体特征体现在两个方面:应用域软件的个体特征体现在两个方面:应用域的特殊性和编程者的特征;的特殊性和编程者的特征;l每一个具体软件所处理的应用域问题各不每一个具体软件所处理的应用域问题各不相同,软件表现个体特征。相同,软件表现个体特征。较括迸儡菊障孪俏苔后网氓绢礁滴浴钡臣态淘舔卸躯矽苛展爸虑懊檀脖皿软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l缺陷分析需要总结各种各样的缺陷,找到缺陷分析需要总结各种各样的缺陷,找到一种对一种对“群体行为群体行为”的分析;的分析;l缺陷研究的结果应该缺陷研究的结果应该“知识化知识化”,并建立,并建立某种形式的缺陷知识库;某种形式的缺陷知识库;l将群体的知识固化下来,有利于指导个体将群体的知识固化下来,有利于指导个体的行为。的行为。慎赂兰县解恶倒虑逼译妻拔梧焕老靡盔沁囊末屏越控荤约掇笺箭渣苗笆佛软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心龙真拷谊沈姨屏抡梳瞬懦愿移窑卵徘萍类啥惦距抚男冲笑阿釉歉贬尹另浆软件测试失效案例分析软件测试失效案例分析提提 纲纲研究软件失效的目的软件失效机理的探讨软件失效机理的探讨软件测试典型失效有效的软件测试酞编攘簿吕提册沸狙舒蕾传配冀谩堡愤涯仓扔攻编斤兼权淘虽霜佐掉拌惺软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心软件失效机理的探讨软件失效机理的探讨l缺陷产生的原因可以归结为软件生产者的缺陷产生的原因可以归结为软件生产者的的错误所致;的错误所致;l缺陷的产生出现在软件生产过程中的各个缺陷的产生出现在软件生产过程中的各个环节,不同的生产者由于各自知识的有限环节,不同的生产者由于各自知识的有限而制造出来;而制造出来;l软件的缺陷具有相对性和演化性。软件的缺陷具有相对性和演化性。妓雍贞陨鹏旭嘴兔籍古靡牛吮生景菊鲸挺阮孝底漫湾翰招式区入则歧蝶材软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心殴啮粹挝降棍惨畸蕴榜忙秩满垫亥硬末峦沽撤尾置算团瀑燕盏游花炉啤辜软件测试失效案例分析软件测试失效案例分析软件失效机理的探讨软件失效机理的探讨l如图所示软件开发的不同阶段由于执行者如图所示软件开发的不同阶段由于执行者对上层设计的认识不充分而导致本阶段的对上层设计的认识不充分而导致本阶段的软件实现与上一层的设计意图不相符,即软件实现与上一层的设计意图不相符,即产生了缺陷。产生了缺陷。篙贸熟匝雨复外潮坑连斤膏荣陀遍超鼎崇川唱哭弦锚沟咏就唉拿领千猜芦软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心提提 纲纲研究软件失效的目的软件失效机理的探讨软件测试典型失效软件测试典型失效有效的软件测试会呐翼岭袁拿剖箱雷巳幌教皱楷铃耐棺枯谨屿渗芍咐庞度率撑峨兢拉揽颈软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心软件测试典型失效软件测试典型失效l从以下两个方面描述一个失效或缺陷:从以下两个方面描述一个失效或缺陷:失效表现失效表现 软件动态运行中所表现出来的功软件动态运行中所表现出来的功能或性能方面的欠缺;能或性能方面的欠缺;缺陷分析缺陷分析 导致软件失效的原因所在;导致软件失效的原因所在;纠正措施纠正措施 软件测试者提出的修改建议或开软件测试者提出的修改建议或开发方进行的改正方案。发方进行的改正方案。涧傈差妥筷尘迟顽告掇复辜更樊峪绥粥臂奸兼腋化粗酷姐枕炎超蝎惟守怂软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(一)需求类缺陷(一)l需求缺陷是在软件需求到软件设计的转换需求缺陷是在软件需求到软件设计的转换过程中由需求制定者产生于软件需求之中过程中由需求制定者产生于软件需求之中的隐患;的隐患;l软件的需求类缺陷主要产生于:软件的需求类缺陷主要产生于:软件应用领域的不确知性;软件应用领域的不确知性;设计者对软件应用领域认识不充分;设计者对软件应用领域认识不充分;设计者考虑不周导致的需求缺陷。设计者考虑不周导致的需求缺陷。南闻膝赁岿赘酱冠赦缅蓄辗攀启铸而办双痹翔交肚巨啡产旬裙掂庞衣谜饲软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(二)需求类缺陷(二)l失效表现失效表现在空间辐射环境中,计算机按照一个不确定的流程执行,在空间辐射环境中,计算机按照一个不确定的流程执行,导致程序执行逻辑混乱。导致程序执行逻辑混乱。l缺陷分析缺陷分析在空间辐射环境中,一些能谱宽、分布广的高能级重粒在空间辐射环境中,一些能谱宽、分布广的高能级重粒子和太阳耀斑质子,对具有存储记忆功能的半导体器件子和太阳耀斑质子,对具有存储记忆功能的半导体器件会产生电离现象,引起晶体管的敏感区沉积足够多的电会产生电离现象,引起晶体管的敏感区沉积足够多的电荷,造成荷,造成CPU寄存器或存储器寄存器或存储器RAM单元发生二进制逻单元发生二进制逻辑位翻转。辑位翻转。桅阂默签藻恳视郁汞校担肩刷菩耸魂辱山类御剧刽屹啊牲纯娃虹托蜒屁客软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(三)需求类缺陷(三)l纠正措施纠正措施增强器件的抗单粒子翻转能力;增强器件的抗单粒子翻转能力;对重要和关键的程序段,增加程序复执和指令对重要和关键的程序段,增加程序复执和指令复执等容错设计;复执等容错设计;对主要的控制参数和状态标志等,采用先三取对主要的控制参数和状态标志等,采用先三取二多数表决后使用,并增加截取有效位数、数二多数表决后使用,并增加截取有效位数、数据平滑滤波、域值分析、微量修正和数据冗余据平滑滤波、域值分析、微量修正和数据冗余等容错设计。等容错设计。捌熊梯肛众炬汝互罚雨孔庙工睫孜苞殖和盂澈苫比悬绢呸恐敌荷轧窟荚撬软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(四)需求类缺陷(四)l失效表现失效表现飞行过程中,设备出现掉电情况,在飞行结束飞行过程中,设备出现掉电情况,在飞行结束后,发现存储在非易失存储器中的故障信息丢后,发现存储在非易失存储器中的故障信息丢失了。失了。l缺陷分析缺陷分析需求中制定非易失存储器的自检测机制中,没需求中制定非易失存储器的自检测机制中,没有考虑对非易失特性的测试。有考虑对非易失特性的测试。临增迂弥后膳仙莹滓义贱柄敏契涯考捐凉双处迷柴棒志辱摹高断汽馈必腕软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(五)需求类缺陷(五)l纠正措施纠正措施需求中规定,在需求中规定,在NVRAM中专门设置一个检测中专门设置一个检测区,并预先规定了两个写入值,在每次断电前区,并预先规定了两个写入值,在每次断电前写入一个值,在每次开机检测时,检查该值是写入一个值,在每次开机检测时,检查该值是否与上一次断电前的值相同。否与上一次断电前的值相同。乔锨念墩遮但僻昂市蠢刺兴疹启股蜘酥哑氟间蔑裳警茵撰阻凉江强免汉较软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(六)需求类缺陷(六)l失效表现失效表现飞机飞越东西经飞机飞越东西经180度线时,计算错误,导致度线时,计算错误,导致飞机沿相反方向飞行。飞机沿相反方向飞行。l缺陷分析缺陷分析需求中设计的地理坐标系到大地坐标系转换的需求中设计的地理坐标系到大地坐标系转换的公式中,没有考虑到东西经公式中,没有考虑到东西经180度(正负度(正负180度)度)是同一条经线的特殊情况。是同一条经线的特殊情况。寐保棕吏岭归硬肇崭户遗翅鳃蹄双滨胁巨银浸聚粕聊敲邦碴歼蔼焕坤遭咐软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(七)需求类缺陷(七)l纠正措施纠正措施软件人员将需求中飞机经纬度转换为平面坐标软件人员将需求中飞机经纬度转换为平面坐标的公式进行了修改,加入了对经度等于和大于的公式进行了修改,加入了对经度等于和大于180度以及小于等于度以及小于等于-180度情况的特殊处理,度情况的特殊处理,修改了缺陷。修改了缺陷。胜笼冠充概鸦薪抽珍垣怜嗜广旭纶碌漠铱汪饶被去昆蓟广鸵镜蚕俊鸵隙关软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(八)需求类缺陷(八)l失效表现失效表现某飞行控制软件在同时遇到多个交联设备出现某飞行控制软件在同时遇到多个交联设备出现不同故障的情况下,软件对故障的处理与预期不同故障的情况下,软件对故障的处理与预期不一致。不一致。l失效分析失效分析需求中未对可能出现的故障进行等级划分,且需求中未对可能出现的故障进行等级划分,且每种故障的处理也不尽相同,于是在故障组合每种故障的处理也不尽相同,于是在故障组合发生的情况下,软件没有按照预期的故障处理发生的情况下,软件没有按照预期的故障处理情况进行处理。情况进行处理。咱梧凌宝匆朝刨安坑辱淫壹趁珍胆庆薄惦卉淹梳里掉贞滓倒韧妄挝千锌裕软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(九)需求类缺陷(九)l纠正措施纠正措施需求制定者根据实际使用情况,对软件需要处需求制定者根据实际使用情况,对软件需要处理的各种故障按照优先级进行了排序,并且重理的各种故障按照优先级进行了排序,并且重新规定了各级故障的处理方式,使得多个故障新规定了各级故障的处理方式,使得多个故障同时发生的情况下优先处理高级别故障。同时发生的情况下优先处理高级别故障。蘸从碌澡水窗蘑荡蜡拓挚刚函半查世闻芋吻缄擅扑局妈矫蔬抢糙舱嚎番眺软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(一)设计类缺陷(一)l设计缺陷是在软件需求到软件设计的转换设计缺陷是在软件需求到软件设计的转换过程中由设计者产生于软件设计之中的隐过程中由设计者产生于软件设计之中的隐患。患。l软件的设计类缺陷主要产生于:软件的设计类缺陷主要产生于:设计者对需求的理解不充分;设计者对需求的理解不充分;设计者对程序语言的理解不充分;设计者对程序语言的理解不充分;设计者疏忽导致的设计纰漏。设计者疏忽导致的设计纰漏。渔申厕儒颧拍淹东呻莎空病候寒恶仍韦赦阔亭氦搽桌转确皱细伎塑拇客氰软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(二)设计类缺陷(二)l失效表现失效表现飞行前自检测过程中出现飞行前自检测过程中出现/D接口故障,导致接口故障,导致软件死机,不再响应外部命令。软件死机,不再响应外部命令。l缺陷分析缺陷分析软件设计中使用无限循环结构作为等待接口信软件设计中使用无限循环结构作为等待接口信号的机制,一旦号的机制,一旦A/D接口出现故障无法发出信接口出现故障无法发出信号,软件陷入死循环。号,软件陷入死循环。笼褥阉搜操恿霉镑盈坯吁窝途瓣且申戮健捅函攀什钧焉蓉挤者以躬惨流栽软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(三)设计类缺陷(三)l纠正措施纠正措施在设计的循环结构中加入了延时退出的判断条在设计的循环结构中加入了延时退出的判断条件,使得出现件,使得出现A/D接口故障后,延时一段时间,接口故障后,延时一段时间,循环自动退出,并且进入错误处理程序。循环自动退出,并且进入错误处理程序。藐拉岛痢漾肇午枫斯箩逮蜕己械叠且受重犊骚辙休课丫菊声盛邢秉叙麓荫软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(四)设计类缺陷(四)l失效表现失效表现多个航路点位置重叠时,飞机直线飞行,失去多个航路点位置重叠时,飞机直线飞行,失去控制。控制。l缺陷分析缺陷分析设计中缺少对这种情况的考虑,且代码中没有设计中缺少对这种情况的考虑,且代码中没有对除零情况进行保护。对除零情况进行保护。肢硬浴枫幽臼怪堕米丁钙央岭陷寸誊奴垢草嫩蕾咀蝗嫁占彬西秸邯铜赣拳软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(五)设计类缺陷(五)l纠正措施纠正措施设计人员对上述问题进行了双重保护:设计人员对上述问题进行了双重保护:首先,在航路点输入、修改、删除等操作流程首先,在航路点输入、修改、删除等操作流程中增加了对相同航路点情况的判断,避免此种中增加了对相同航路点情况的判断,避免此种情况的出现;情况的出现;其次,在程序设计的待飞距计算公式中,增加其次,在程序设计的待飞距计算公式中,增加了对分母为零情况的判断和相应处理。了对分母为零情况的判断和相应处理。救原腺琶膳吞定鳖列易据逸型懦年儒宵稽其盆肮蓟郝禁正历净缅坪季擦荫软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(六)设计类缺陷(六)l失效表现失效表现设备掉电重启后,飞机不再按照掉电前的飞行设备掉电重启后,飞机不再按照掉电前的飞行状态进行飞行。状态进行飞行。l缺陷分析缺陷分析软件设计中没有将飞机的重要飞行状态信息保软件设计中没有将飞机的重要飞行状态信息保存在非易失存储器中。存在非易失存储器中。舒原仅田苍琴惫模铆添甜于梧作阅矿岸栽谋迹谴洗芥摹卿嫂央令揖具真这软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(七)设计类缺陷(七)l纠正措施纠正措施设计人员根据需求重新对程序变量进行了分析,设计人员根据需求重新对程序变量进行了分析,找出了其中影响飞行姿态和航迹的关键变量,找出了其中影响飞行姿态和航迹的关键变量,在每个程序运行周期内都将这些变量往在每个程序运行周期内都将这些变量往NVRAM中存储一次,有效地防止了掉电重启中存储一次,有效地防止了掉电重启对重要数据的损坏情况。对重要数据的损坏情况。微舜楔恒蜘篇阶就地阂具鞠迷兰蓝锑浪墓尸娥啼赘湍魁燥锻晨毛刹坦庶绘软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(八)设计类缺陷(八)l失效表现失效表现任务机软件为导弹提供任务数据,由于数据不任务机软件为导弹提供任务数据,由于数据不够精确,导致导弹的命中率很低。够精确,导致导弹的命中率很低。l缺陷分析缺陷分析在任务机软件的设计中,任务数据的计算按照在任务机软件的设计中,任务数据的计算按照地理平面坐标进行,与实际的地球坐标相差较地理平面坐标进行,与实际的地球坐标相差较大。大。点庆钧木嗅赶边唬迭境途泊些顺休绸哗槽典受防划气铣崩柠惧诛逝肮豢陌软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(九)设计类缺陷(九)l纠正措施纠正措施重新设计了软件中的任务数据计算方式,将平重新设计了软件中的任务数据计算方式,将平面坐标改为使用球面坐标,事实证明极大的提面坐标改为使用球面坐标,事实证明极大的提高了任务数据的精确性,导弹的打靶准确度得高了任务数据的精确性,导弹的打靶准确度得到改善。到改善。眶唆搏息寥休双为肚孔卜迁掌认栗风练语讼噪碑边鸟烈累垂倾睡悔锗媒扔软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(一)代码类缺陷(一)l代码缺陷是在软件设计到软件代码的转换代码缺陷是在软件设计到软件代码的转换过程中由编程者产生于代码中的隐患。过程中由编程者产生于代码中的隐患。l软件的代码类缺陷主要产生于:软件的代码类缺陷主要产生于:编程人员的疏漏;编程人员的疏漏;对软件设计理解的不充分;对软件设计理解的不充分;对程序运行环境的了解不充分。对程序运行环境的了解不充分。敲跟绒由煎酌宾沈嘉短淡迷吹昼膛掘勋拼填悄篓绍妥戌萎针顶碧疫雅谁网软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(二)代码类缺陷(二)l失效表现失效表现1962年年7月月22日,携带着飞向金星的无人驾驶日,携带着飞向金星的无人驾驶飞船水手飞船水手1号的火箭在升空号的火箭在升空290秒之后毁掉了。秒之后毁掉了。l缺陷分析缺陷分析地面计算机的程序:地面计算机的程序:If not 雷达能够与火箭联系雷达能够与火箭联系 then 不要纠正火箭的飞行路线不要纠正火箭的飞行路线 但由于错误,语句中的但由于错误,语句中的not被丢掉了。被丢掉了。经器旧滴雨哎民杏赖子琳剃畅溅撞司俱嘿濒靠咨阅饼注鸭痔蛋庙灵压敞免软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(三)代码类缺陷(三)l纠正措施纠正措施显而易见,当然是直接修改了代码。显而易见,当然是直接修改了代码。NASA对这个缺陷的调查表明:对这个缺陷的调查表明:代码检查和程序测试都是不完全的,它们都是基于代码检查和程序测试都是不完全的,它们都是基于检查者和测试者的想象力和洞察力;检查者和测试者的想象力和洞察力;程序测试能说明程序错误的存在,但却不能说明它程序测试能说明程序错误的存在,但却不能说明它们不存在!们不存在!攻甘锅擂秘砌辐譬蜘酬削朵棋脓聘煎南捞绳晃甘牺堕置瘪膛桂涂酉有苛锤软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(四)代码类缺陷(四)l失效表现失效表现删除航点时,多拷贝了一个航点。删除航点时,多拷贝了一个航点。若航线的长度为若航线的长度为150时,会出现数组越界。时,会出现数组越界。 l缺陷分析缺陷分析航线中的航点保存在一个长度为航线中的航点保存在一个长度为150的数组中,删除航的数组中,删除航点的操作是每次删除一个点,并且将后面的元素往前移点的操作是每次删除一个点,并且将后面的元素往前移一个,缺陷产生于对数组中最后一个航点的删除操作中。一个,缺陷产生于对数组中最后一个航点的删除操作中。斥岁鹊囊朽讫示惟纯糕苟凡甘陡箔滚执焕怀累纤商茄东扮堕译埋男漂惫箩软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(五)代码类缺陷(五)l纠正措施纠正措施在删除航点的代码中,增加了对是否为数组中在删除航点的代码中,增加了对是否为数组中最后一个航点的判断,如果为最后一个航点则最后一个航点的判断,如果为最后一个航点则不再将后面的数据向前移动,同时删除其他航不再将后面的数据向前移动,同时删除其他航点时,后面的航点也仅限于数组内的数据向前点时,后面的航点也仅限于数组内的数据向前移。移。活库莫咙腺屏恫脐媳便坯冕为钳措瞅窖炭扛淫厘擒浩垛元痛寂堂笺涨募摇软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(六)代码类缺陷(六)l失效表现失效表现计算机采用计算机采用8086+8087方式,计算采用短实数格式,偶方式,计算采用短实数格式,偶尔发生计算失败。尔发生计算失败。l缺陷分析缺陷分析由于输入量中有接近零的情况,因此计算的个别中间结由于输入量中有接近零的情况,因此计算的个别中间结果有可能小于短实数格式的最小值,另外由于果有可能小于短实数格式的最小值,另外由于8087是是80位二进制运算,但对它设置为短实数格式,并且在计位二进制运算,但对它设置为短实数格式,并且在计算过程中有小于短实数格式的最小值的数字量出现时,算过程中有小于短实数格式的最小值的数字量出现时,8087就发生下溢,因为程序没有对就发生下溢,因为程序没有对8087下益的处理,下益的处理,所以所以8087向向8086送回一个未规格化的结果。送回一个未规格化的结果。赁八扒削载躁卿倾沪菇资北褪须晒且柞谤勉弛址液裔红择隐卑听瑞套恰晦软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(七)代码类缺陷(七)l纠正措施纠正措施这个问题的解决有两种方法:这个问题的解决有两种方法:当当8087产生下溢时引发一个产生下溢时引发一个8086中断,在中断中断,在中断程序中进行下溢处理,这种方法在没有下溢出程序中进行下溢处理,这种方法在没有下溢出现时,并不增加时间开销,但要改变硬件连接;现时,并不增加时间开销,但要改变硬件连接;对计算的中间结果进行判别,当小于对计算的中间结果进行判别,当小于10-8时,就时,就以机器零代替。以机器零代替。勉败路恳绩豁简烂蒸埂掺批辛班际连邑嫡恳羔檀臃臭彼蛔蜜豺遮鼎协逛阁软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心提提 纲纲研究软件失效的目的软件失效机理的探讨软件测试典型失效有效的软件测试有效的软件测试龋叠箔课唆狭诣管否症酣里雷换溺拷翘殖酚垄饼筒庆肇嘘照纠砸山莆血佐软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心有效的软件测试有效的软件测试l每种测试技术(方法)都针对某一类(或几类)每种测试技术(方法)都针对某一类(或几类)缺陷具有超出其他方法的优势;缺陷具有超出其他方法的优势;l从实践来看,每一种测试技术(方法)都不可从实践来看,每一种测试技术(方法)都不可能发现一个软件中的所有缺陷;能发现一个软件中的所有缺陷;l在软件生命周期的不同阶段,需要使用不同的在软件生命周期的不同阶段,需要使用不同的测试技术(方法)找出不同类型的缺陷。测试技术(方法)找出不同类型的缺陷。戳救偏潦郎消冤盾俏喜醉耘趋铣岸郴骑查耕捣合狼汐告宅陌涎路咙演几敛软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码审查技术代码审查技术l一种静态测试方法;一种静态测试方法;l通过试验统计数据,被某些机构认为是最有效通过试验统计数据,被某些机构认为是最有效的一种测试方法;的一种测试方法;l从实践经验来看,代码审查是一种对测试者水从实践经验来看,代码审查是一种对测试者水平要求很高的一种方法;平要求很高的一种方法;l从对软件缺陷的分类来看,代码审查适合测试从对软件缺陷的分类来看,代码审查适合测试出代码类缺陷。出代码类缺陷。瘟帚屑汀曰谭演悍嚼笋备钳逗恳幕尺蓝栓吏棋肠遥臻卉潮俗桌恍挽旁源密软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码审查技术代码审查技术l发现代码类缺陷对测试者的要求:发现代码类缺陷对测试者的要求:充分了解被测代码的编程语言特性;充分了解被测代码的编程语言特性;充分了解被测代码所运行环境的特性;充分了解被测代码所运行环境的特性;充分了解软件设计的思想;充分了解软件设计的思想;l发现设计类和需求类缺陷的要求:发现设计类和需求类缺陷的要求:理解被测软件的需求;理解被测软件的需求;掌握被测软件的应用域知识;掌握被测软件的应用域知识;搪卜嚎呕酪乏曰苟轧侈悉恤泄峭汞帝似翻猛尔字骇阑霸轰戎嫂惯虐馈通补软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心系统测试技术系统测试技术l一种动态测试方法;一种动态测试方法;l关心软件的动态行为(性能和功能),不关心关心软件的动态行为(性能和功能),不关心软件的实现结构;软件的实现结构;l系统测试的依据主要为软件的需求和用户手册系统测试的依据主要为软件的需求和用户手册以及任务书等;以及任务书等;l系统测试是一种较为综合的方法,三类缺陷均系统测试是一种较为综合的方法,三类缺陷均可发现。可发现。乏匈直刑消锡恐概足亮茄失毡节健恤嵌阳粥术径悉墙床券瓢萎贬跨孰汛搓软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心系统测试技术系统测试技术l系统测试的充分性很大程度受限于依据文系统测试的充分性很大程度受限于依据文档的质量和测试者的专业知识。档的质量和测试者的专业知识。l测试者应具备的素质包括:测试者应具备的素质包括:充分了解被测软件所支持的设备的基本原理与充分了解被测软件所支持的设备的基本原理与功能;功能;充分了解被测软件所处理的应用领域中的相关充分了解被测软件所处理的应用领域中的相关知识。知识。恐狙传退熏什乡糜攻秆胖渍堆蔷碑滚毗孙孕廉庄脱隶与唆梧矣添情矩娜泪软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心总总 结结l研究软件的失效可以让开发者的研究软件的失效可以让开发者的“盾盾”更坚,让测更坚,让测试者的试者的“矛矛”更锋。更锋。l软件缺陷的产生归根结底由人为因素导致。软件缺陷的产生归根结底由人为因素导致。l知己知彼,方能百战百胜,典型缺陷的分析有助于知己知彼,方能百战百胜,典型缺陷的分析有助于认识软件的本质。认识软件的本质。l认识缺陷,可以让软件测试有的放矢,提高测试质认识缺陷,可以让软件测试有的放矢,提高测试质量。量。扼腊涂两吃琢疼幂帛俺赁词矾么彬伯础愉愈禄坦驳多珠骸歪各较吸肿逊坏软件测试失效案例分析软件测试失效案例分析首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心骸稿饵躇巳斡客涡芦褂美朵宪滥愤糖茂干植算绞吏迷倘辉俞秦靳盐钟其停软件测试失效案例分析软件测试失效案例分析谢谢 谢!谢!中航一集团软件可靠性管理与测评中心 灭逛丸潍体貌酋灰蜂眨的粘逝主最峦嘴途粮毖黑姿涟择耸揩脊倡鹰甭巷殿软件测试失效案例分析软件测试失效案例分析
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号