软件测试失效案例分析.ppt

上传人:本田雅阁 文档编号:3302492 上传时间:2019-08-10 格式:PPT 页数:46 大小:610.05KB
返回 下载 相关 举报
软件测试失效案例分析.ppt_第1页
第1页 / 共46页
软件测试失效案例分析.ppt_第2页
第2页 / 共46页
软件测试失效案例分析.ppt_第3页
第3页 / 共46页
软件测试失效案例分析.ppt_第4页
第4页 / 共46页
软件测试失效案例分析.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《软件测试失效案例分析.ppt》由会员分享,可在线阅读,更多相关《软件测试失效案例分析.ppt(46页珍藏版)》请在三一文库上搜索。

1、软件测试失效案例分析,中航一集团软件可靠性管理与测评中心 王轶辰,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,报 告 提 纲,研究软件失效的目的 软件失效的产生机理 软件测试典型失效 有效的软件测试,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,研究软件失效的目的,软件质量是软件的生命; 软件失效是影响软件质量的关键; 软件缺陷是导致软件失效的根本原因; 软件缺陷是软件系统的根本属性之一; 软件缺陷归根结底由人为因素造成。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,首届军工产品软件测试技术专题研讨会,中航一集团

2、软件可靠性管理与测评中心,研究软件失效的目的,目前的软件开发仍然是一种“个人行为”,一个人的经验、知识和能力总是有限的; 软件的个体特征体现在两个方面:应用域的特殊性和编程者的特征; 每一个具体软件所处理的应用域问题各不相同,软件表现个体特征。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,研究软件失效的目的,缺陷分析需要总结各种各样的缺陷,找到一种对“群体行为”的分析; 缺陷研究的结果应该“知识化”,并建立某种形式的缺陷知识库; 将群体的知识固化下来,有利于指导个体的行为。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,提 纲,研究软件失效

3、的目的 软件失效机理的探讨 软件测试典型失效 有效的软件测试,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,软件失效机理的探讨,缺陷产生的原因可以归结为软件生产者的的错误所致; 缺陷的产生出现在软件生产过程中的各个环节,不同的生产者由于各自知识的有限而制造出来; 软件的缺陷具有相对性和演化性。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,软件失效机理的探讨,如图所示软件开发的不同阶段由于执行者对上层设计的认识不充分而导致本阶段的软件实现与上一层的设计意图不相符,即产生了缺陷。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测

4、评中心,提 纲,研究软件失效的目的 软件失效机理的探讨 软件测试典型失效 有效的软件测试,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,软件测试典型失效,从以下两个方面描述一个失效或缺陷: 失效表现 软件动态运行中所表现出来的功能或性能方面的欠缺; 缺陷分析 导致软件失效的原因所在; 纠正措施 软件测试者提出的修改建议或开发方进行的改正方案。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(一),需求缺陷是在软件需求到软件设计的转换过程中由需求制定者产生于软件需求之中的隐患; 软件的需求类缺陷主要产生于: 软件应用领域的不确知性;

5、设计者对软件应用领域认识不充分; 设计者考虑不周导致的需求缺陷。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(二),失效表现 在空间辐射环境中,计算机按照一个不确定的流程执行,导致程序执行逻辑混乱。 缺陷分析 在空间辐射环境中,一些能谱宽、分布广的高能级重粒子和太阳耀斑质子,对具有存储记忆功能的半导体器件会产生电离现象,引起晶体管的敏感区沉积足够多的电荷,造成CPU寄存器或存储器RAM单元发生二进制逻辑位翻转。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(三),纠正措施 增强器件的抗单粒子翻转能力; 对重要和关键的

6、程序段,增加程序复执和指令复执等容错设计; 对主要的控制参数和状态标志等,采用先三取二多数表决后使用,并增加截取有效位数、数据平滑滤波、域值分析、微量修正和数据冗余等容错设计。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(四),失效表现 飞行过程中,设备出现掉电情况,在飞行结束后,发现存储在非易失存储器中的故障信息丢失了。 缺陷分析 需求中制定非易失存储器的自检测机制中,没有考虑对非易失特性的测试。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(五),纠正措施 需求中规定,在NVRAM中专门设置一个检测区,并预先规定

7、了两个写入值,在每次断电前写入一个值,在每次开机检测时,检查该值是否与上一次断电前的值相同。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(六),失效表现 飞机飞越东西经180度线时,计算错误,导致飞机沿相反方向飞行。 缺陷分析 需求中设计的地理坐标系到大地坐标系转换的公式中,没有考虑到东西经180度(正负180度)是同一条经线的特殊情况。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(七),纠正措施 软件人员将需求中飞机经纬度转换为平面坐标的公式进行了修改,加入了对经度等于和大于180度以及小于等于-180度情况的特

8、殊处理,修改了缺陷。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(八),失效表现 某飞行控制软件在同时遇到多个交联设备出现不同故障的情况下,软件对故障的处理与预期不一致。 失效分析 需求中未对可能出现的故障进行等级划分,且每种故障的处理也不尽相同,于是在故障组合发生的情况下,软件没有按照预期的故障处理情况进行处理。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,需求类缺陷(九),纠正措施 需求制定者根据实际使用情况,对软件需要处理的各种故障按照优先级进行了排序,并且重新规定了各级故障的处理方式,使得多个故障同时发生的情况下优先处

9、理高级别故障。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(一),设计缺陷是在软件需求到软件设计的转换过程中由设计者产生于软件设计之中的隐患。 软件的设计类缺陷主要产生于: 设计者对需求的理解不充分; 设计者对程序语言的理解不充分; 设计者疏忽导致的设计纰漏。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(二),失效表现 飞行前自检测过程中出现/D接口故障,导致软件死机,不再响应外部命令。 缺陷分析 软件设计中使用无限循环结构作为等待接口信号的机制,一旦A/D接口出现故障无法发出信号,软件陷入死循环。,首届军工产品软

10、件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(三),纠正措施 在设计的循环结构中加入了延时退出的判断条件,使得出现A/D接口故障后,延时一段时间,循环自动退出,并且进入错误处理程序。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(四),失效表现 多个航路点位置重叠时,飞机直线飞行,失去控制。 缺陷分析 设计中缺少对这种情况的考虑,且代码中没有对除零情况进行保护。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(五),纠正措施 设计人员对上述问题进行了双重保护: 首先,在航路点输入、修改、删除等操作

11、流程中增加了对相同航路点情况的判断,避免此种情况的出现; 其次,在程序设计的待飞距计算公式中,增加了对分母为零情况的判断和相应处理。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(六),失效表现 设备掉电重启后,飞机不再按照掉电前的飞行状态进行飞行。 缺陷分析 软件设计中没有将飞机的重要飞行状态信息保存在非易失存储器中。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(七),纠正措施 设计人员根据需求重新对程序变量进行了分析,找出了其中影响飞行姿态和航迹的关键变量,在每个程序运行周期内都将这些变量往NVRAM中存储一次,

12、有效地防止了掉电重启对重要数据的损坏情况。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(八),失效表现 任务机软件为导弹提供任务数据,由于数据不够精确,导致导弹的命中率很低。 缺陷分析 在任务机软件的设计中,任务数据的计算按照地理平面坐标进行,与实际的地球坐标相差较大。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,设计类缺陷(九),纠正措施 重新设计了软件中的任务数据计算方式,将平面坐标改为使用球面坐标,事实证明极大的提高了任务数据的精确性,导弹的打靶准确度得到改善。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管

13、理与测评中心,代码类缺陷(一),代码缺陷是在软件设计到软件代码的转换过程中由编程者产生于代码中的隐患。 软件的代码类缺陷主要产生于: 编程人员的疏漏; 对软件设计理解的不充分; 对程序运行环境的了解不充分。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码类缺陷(二),失效表现 1962年7月22日,携带着飞向金星的无人驾驶飞船水手1号的火箭在升空290秒之后毁掉了。 缺陷分析 地面计算机的程序: If not 雷达能够与火箭联系 then 不要纠正火箭的飞行路线 但由于错误,语句中的not被丢掉了。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测

14、评中心,代码类缺陷(三),纠正措施 显而易见,当然是直接修改了代码。 NASA对这个缺陷的调查表明: 代码检查和程序测试都是不完全的,它们都是基于检查者和测试者的想象力和洞察力; 程序测试能说明程序错误的存在,但却不能说明它们不存在!,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码类缺陷(四),失效表现 删除航点时,多拷贝了一个航点。 若航线的长度为150时,会出现数组越界。 缺陷分析 航线中的航点保存在一个长度为150的数组中,删除航点的操作是每次删除一个点,并且将后面的元素往前移一个,缺陷产生于对数组中最后一个航点的删除操作中。,首届军工产品软件测试技术专题研

15、讨会,中航一集团软件可靠性管理与测评中心,代码类缺陷(五),纠正措施 在删除航点的代码中,增加了对是否为数组中最后一个航点的判断,如果为最后一个航点则不再将后面的数据向前移动,同时删除其他航点时,后面的航点也仅限于数组内的数据向前移。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码类缺陷(六),失效表现 计算机采用8086+8087方式,计算采用短实数格式,偶尔发生计算失败。 缺陷分析 由于输入量中有接近零的情况,因此计算的个别中间结果有可能小于短实数格式的最小值,另外由于8087是80位二进制运算,但对它设置为短实数格式,并且在计算过程中有小于短实数格式的最小值

16、的数字量出现时,8087就发生下溢,因为程序没有对8087下益的处理,所以8087向8086送回一个未规格化的结果。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码类缺陷(七),纠正措施 这个问题的解决有两种方法: 当8087产生下溢时引发一个8086中断,在中断程序中进行下溢处理,这种方法在没有下溢出现时,并不增加时间开销,但要改变硬件连接; 对计算的中间结果进行判别,当小于10-8时,就以机器零代替。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,提 纲,研究软件失效的目的 软件失效机理的探讨 软件测试典型失效 有效的软件测试,首届军

17、工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,有效的软件测试,每种测试技术(方法)都针对某一类(或几类)缺陷具有超出其他方法的优势; 从实践来看,每一种测试技术(方法)都不可能发现一个软件中的所有缺陷; 在软件生命周期的不同阶段,需要使用不同的测试技术(方法)找出不同类型的缺陷。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码审查技术,一种静态测试方法; 通过试验统计数据,被某些机构认为是最有效的一种测试方法; 从实践经验来看,代码审查是一种对测试者水平要求很高的一种方法; 从对软件缺陷的分类来看,代码审查适合测试出代码类缺陷。,首届军工产品软

18、件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,代码审查技术,发现代码类缺陷对测试者的要求: 充分了解被测代码的编程语言特性; 充分了解被测代码所运行环境的特性; 充分了解软件设计的思想; 发现设计类和需求类缺陷的要求: 理解被测软件的需求; 掌握被测软件的应用域知识;,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,系统测试技术,一种动态测试方法; 关心软件的动态行为(性能和功能),不关心软件的实现结构; 系统测试的依据主要为软件的需求和用户手册以及任务书等; 系统测试是一种较为综合的方法,三类缺陷均可发现。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,系统测试技术,系统测试的充分性很大程度受限于依据文档的质量和测试者的专业知识。 测试者应具备的素质包括: 充分了解被测软件所支持的设备的基本原理与功能; 充分了解被测软件所处理的应用领域中的相关知识。,首届军工产品软件测试技术专题研讨会,中航一集团软件可靠性管理与测评中心,总 结,研究软件的失效可以让开发者的“盾”更坚,让测试者的“矛”更锋。 软件缺陷的产生归根结底由人为因素导致。 知己知彼,方能百战百胜,典型缺陷的分析有助于认识软件的本质。 认识缺陷,可以让软件测试有的放矢,提高测试质量。,谢 谢!,中航一集团软件可靠性管理与测评中心,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1