1、软件测试失效案例分析中航一集团软件可靠性管理与测评中心王轶辰首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心 报报 告告 提提 纲纲研究软件失效的目的软件失效的产生机理软件测试典型失效有效的软件测试首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l软件软件质量质量是软件的生命;是软件的生命;l软件软件失效失效是影响软件质量的关键;是影响软件质量的关键;l软件软件缺陷缺陷是导致软件失
2、效的根本原因;是导致软件失效的根本原因;l软件缺陷是软件系统的根本软件缺陷是软件系统的根本属性属性之一;之一;l软件缺陷归根结底由软件缺陷归根结底由人为人为因素造成。因素造成。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l目前的软件开发仍然是一种目前的软件开发仍然是一种“个人行为个人行为”,一个人的经验、知识和能力总是有限的;一个
3、人的经验、知识和能力总是有限的;l软件的个体特征体现在两个方面:应用域软件的个体特征体现在两个方面:应用域的特殊性和编程者的特征;的特殊性和编程者的特征;l每一个具体软件所处理的应用域问题各不每一个具体软件所处理的应用域问题各不相同,软件表现个体特征。相同,软件表现个体特征。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心研究软件失效的目的研究软件失效的目的l缺陷分析需要总结各种各样的缺陷,找到缺陷分析需要总结各种各样的缺陷,找到一种对一种对“群体行为群体行为”的分析;的分析;l缺陷研究的结果应该缺陷研究
4、的结果应该“知识化知识化”,并建立,并建立某种形式的缺陷知识库;某种形式的缺陷知识库;l将群体的知识固化下来,有利于指导个体将群体的知识固化下来,有利于指导个体的行为。的行为。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心提提 纲纲研究软件失效的目的软件失效机理的探讨软件失效机理的探讨软件测试典型失效有效的软件测试首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心软件失效机理的探讨软件失效机理的探讨l缺陷产生的原因可
5、以归结为软件生产者的缺陷产生的原因可以归结为软件生产者的的错误所致;的错误所致;l缺陷的产生出现在软件生产过程中的各个缺陷的产生出现在软件生产过程中的各个环节,不同的生产者由于各自知识的有限环节,不同的生产者由于各自知识的有限而制造出来;而制造出来;l软件的缺陷具有相对性和演化性。软件的缺陷具有相对性和演化性。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心软件失效机理的探讨软件失效机理的探讨l如图所示软件开发的不同阶段由于执行者如图所示软件开发的不同阶段由于执行者对上层设计的认识不充分而导致本阶段的对上
6、层设计的认识不充分而导致本阶段的软件实现与上一层的设计意图不相符,即软件实现与上一层的设计意图不相符,即产生了缺陷。产生了缺陷。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心提提 纲纲研究软件失效的目的软件失效机理的探讨软件测试典型失效软件测试典型失效有效的软件测试首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心软件测试典型失效软件测试典型失效l从以下两个方面描述一个失效或缺陷:从以下两个方面描述一个失效或缺陷:失
7、效表现失效表现 软件动态运行中所表现出来的功软件动态运行中所表现出来的功能或性能方面的欠缺;能或性能方面的欠缺;缺陷分析缺陷分析 导致软件失效的原因所在;导致软件失效的原因所在;纠正措施纠正措施 软件测试者提出的修改建议或开软件测试者提出的修改建议或开发方进行的改正方案。发方进行的改正方案。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(一)需求类缺陷(一)l需求缺陷是在软件需求到软件设计的转换需求缺陷是在软件需求到软件设计的转换过程中由需求制定者产生于软件需求之中过程中由需求制定者产生于软件
8、需求之中的隐患;的隐患;l软件的需求类缺陷主要产生于:软件的需求类缺陷主要产生于:软件应用领域的不确知性;软件应用领域的不确知性;设计者对软件应用领域认识不充分;设计者对软件应用领域认识不充分;设计者考虑不周导致的需求缺陷。设计者考虑不周导致的需求缺陷。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(二)需求类缺陷(二)l失效表现失效表现在空间辐射环境中,计算机按照一个不确定的流程执行,在空间辐射环境中,计算机按照一个不确定的流程执行,导致程序执行逻辑混乱。导致程序执行逻辑混乱。l缺陷分析缺陷
9、分析在空间辐射环境中,一些能谱宽、分布广的高能级重粒在空间辐射环境中,一些能谱宽、分布广的高能级重粒子和太阳耀斑质子,对具有存储记忆功能的半导体器件子和太阳耀斑质子,对具有存储记忆功能的半导体器件会产生电离现象,引起晶体管的敏感区沉积足够多的电会产生电离现象,引起晶体管的敏感区沉积足够多的电荷,造成荷,造成CPU寄存器或存储器寄存器或存储器RAM单元发生二进制逻单元发生二进制逻辑位翻转。辑位翻转。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(三)需求类缺陷(三)l纠正措施纠正措施增强器件的抗
10、单粒子翻转能力;增强器件的抗单粒子翻转能力;对重要和关键的程序段,增加程序复执和指令对重要和关键的程序段,增加程序复执和指令复执等容错设计;复执等容错设计;对主要的控制参数和状态标志等,采用先三取对主要的控制参数和状态标志等,采用先三取二多数表决后使用,并增加截取有效位数、数二多数表决后使用,并增加截取有效位数、数据平滑滤波、域值分析、微量修正和数据冗余据平滑滤波、域值分析、微量修正和数据冗余等容错设计。等容错设计。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(四)需求类缺陷(四)l失效表现
11、失效表现飞行过程中,设备出现掉电情况,在飞行结束飞行过程中,设备出现掉电情况,在飞行结束后,发现存储在非易失存储器中的故障信息丢后,发现存储在非易失存储器中的故障信息丢失了。失了。l缺陷分析缺陷分析需求中制定非易失存储器的自检测机制中,没需求中制定非易失存储器的自检测机制中,没有考虑对非易失特性的测试。有考虑对非易失特性的测试。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(五)需求类缺陷(五)l纠正措施纠正措施需求中规定,在需求中规定,在NVRAM中专门设置一个检测中专门设置一个检测区,并预
12、先规定了两个写入值,在每次断电前区,并预先规定了两个写入值,在每次断电前写入一个值,在每次开机检测时,检查该值是写入一个值,在每次开机检测时,检查该值是否与上一次断电前的值相同。否与上一次断电前的值相同。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(六)需求类缺陷(六)l失效表现失效表现飞机飞越东西经飞机飞越东西经180度线时,计算错误,导致度线时,计算错误,导致飞机沿相反方向飞行。飞机沿相反方向飞行。l缺陷分析缺陷分析需求中设计的地理坐标系到大地坐标系转换的需求中设计的地理坐标系到大地坐标
13、系转换的公式中,没有考虑到东西经公式中,没有考虑到东西经180度(正负度(正负180度)度)是同一条经线的特殊情况。是同一条经线的特殊情况。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(七)需求类缺陷(七)l纠正措施纠正措施软件人员将需求中飞机经纬度转换为平面坐标软件人员将需求中飞机经纬度转换为平面坐标的公式进行了修改,加入了对经度等于和大于的公式进行了修改,加入了对经度等于和大于180度以及小于等于度以及小于等于-180度情况的特殊处理,度情况的特殊处理,修改了缺陷。修改了缺陷。首届军工产
14、品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(八)需求类缺陷(八)l失效表现失效表现某飞行控制软件在同时遇到多个交联设备出现某飞行控制软件在同时遇到多个交联设备出现不同故障的情况下,软件对故障的处理与预期不同故障的情况下,软件对故障的处理与预期不一致。不一致。l失效分析失效分析需求中未对可能出现的故障进行等级划分,且需求中未对可能出现的故障进行等级划分,且每种故障的处理也不尽相同,于是在故障组合每种故障的处理也不尽相同,于是在故障组合发生的情况下,软件没有按照预期的故障处理发生的情况下,软件没有按照预
15、期的故障处理情况进行处理。情况进行处理。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心需求类缺陷(九)需求类缺陷(九)l纠正措施纠正措施需求制定者根据实际使用情况,对软件需要处需求制定者根据实际使用情况,对软件需要处理的各种故障按照优先级进行了排序,并且重理的各种故障按照优先级进行了排序,并且重新规定了各级故障的处理方式,使得多个故障新规定了各级故障的处理方式,使得多个故障同时发生的情况下优先处理高级别故障。同时发生的情况下优先处理高级别故障。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专
16、题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(一)设计类缺陷(一)l设计缺陷是在软件需求到软件设计的转换设计缺陷是在软件需求到软件设计的转换过程中由设计者产生于软件设计之中的隐过程中由设计者产生于软件设计之中的隐患。患。l软件的设计类缺陷主要产生于:软件的设计类缺陷主要产生于:设计者对需求的理解不充分;设计者对需求的理解不充分;设计者对程序语言的理解不充分;设计者对程序语言的理解不充分;设计者疏忽导致的设计纰漏。设计者疏忽导致的设计纰漏。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团
17、软件可靠性管理与测评中心设计类缺陷(二)设计类缺陷(二)l失效表现失效表现飞行前自检测过程中出现飞行前自检测过程中出现/D接口故障,导致接口故障,导致软件死机,不再响应外部命令。软件死机,不再响应外部命令。l缺陷分析缺陷分析软件设计中使用无限循环结构作为等待接口信软件设计中使用无限循环结构作为等待接口信号的机制,一旦号的机制,一旦A/D接口出现故障无法发出信接口出现故障无法发出信号,软件陷入死循环。号,软件陷入死循环。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(三)设计类缺陷(三)l纠正措
18、施纠正措施在设计的循环结构中加入了延时退出的判断条在设计的循环结构中加入了延时退出的判断条件,使得出现件,使得出现A/D接口故障后,延时一段时间,接口故障后,延时一段时间,循环自动退出,并且进入错误处理程序。循环自动退出,并且进入错误处理程序。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(四)设计类缺陷(四)l失效表现失效表现多个航路点位置重叠时,飞机直线飞行,失去多个航路点位置重叠时,飞机直线飞行,失去控制。控制。l缺陷分析缺陷分析设计中缺少对这种情况的考虑,且代码中没有设计中缺少对这种情
19、况的考虑,且代码中没有对除零情况进行保护。对除零情况进行保护。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(五)设计类缺陷(五)l纠正措施纠正措施设计人员对上述问题进行了双重保护:设计人员对上述问题进行了双重保护:首先,在航路点输入、修改、删除等操作流程首先,在航路点输入、修改、删除等操作流程中增加了对相同航路点情况的判断,避免此种中增加了对相同航路点情况的判断,避免此种情况的出现;情况的出现;其次,在程序设计的待飞距计算公式中,增加其次,在程序设计的待飞距计算公式中,增加了对分母为零情况的
20、判断和相应处理。了对分母为零情况的判断和相应处理。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(六)设计类缺陷(六)l失效表现失效表现设备掉电重启后,飞机不再按照掉电前的飞行设备掉电重启后,飞机不再按照掉电前的飞行状态进行飞行。状态进行飞行。l缺陷分析缺陷分析软件设计中没有将飞机的重要飞行状态信息保软件设计中没有将飞机的重要飞行状态信息保存在非易失存储器中。存在非易失存储器中。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软
21、件可靠性管理与测评中心设计类缺陷(七)设计类缺陷(七)l纠正措施纠正措施设计人员根据需求重新对程序变量进行了分析,设计人员根据需求重新对程序变量进行了分析,找出了其中影响飞行姿态和航迹的关键变量,找出了其中影响飞行姿态和航迹的关键变量,在每个程序运行周期内都将这些变量往在每个程序运行周期内都将这些变量往NVRAM中存储一次,有效地防止了掉电重启中存储一次,有效地防止了掉电重启对重要数据的损坏情况。对重要数据的损坏情况。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(八)设计类缺陷(八)l失效表
22、现失效表现任务机软件为导弹提供任务数据,由于数据不任务机软件为导弹提供任务数据,由于数据不够精确,导致导弹的命中率很低。够精确,导致导弹的命中率很低。l缺陷分析缺陷分析在任务机软件的设计中,任务数据的计算按照在任务机软件的设计中,任务数据的计算按照地理平面坐标进行,与实际的地球坐标相差较地理平面坐标进行,与实际的地球坐标相差较大。大。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心设计类缺陷(九)设计类缺陷(九)l纠正措施纠正措施重新设计了软件中的任务数据计算方式,将平重新设计了软件中的任务数据计算方式,
23、将平面坐标改为使用球面坐标,事实证明极大的提面坐标改为使用球面坐标,事实证明极大的提高了任务数据的精确性,导弹的打靶准确度得高了任务数据的精确性,导弹的打靶准确度得到改善。到改善。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(一)代码类缺陷(一)l代码缺陷是在软件设计到软件代码的转换代码缺陷是在软件设计到软件代码的转换过程中由编程者产生于代码中的隐患。过程中由编程者产生于代码中的隐患。l软件的代码类缺陷主要产生于:软件的代码类缺陷主要产生于:编程人员的疏漏;编程人员的疏漏;对软件设计理解的不
24、充分;对软件设计理解的不充分;对程序运行环境的了解不充分。对程序运行环境的了解不充分。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(二)代码类缺陷(二)l失效表现失效表现1962年年7月月22日,携带着飞向金星的无人驾驶日,携带着飞向金星的无人驾驶飞船水手飞船水手1号的火箭在升空号的火箭在升空290秒之后毁掉了。秒之后毁掉了。l缺陷分析缺陷分析地面计算机的程序:地面计算机的程序:If not 雷达能够与火箭联系雷达能够与火箭联系 then 不要纠正火箭的飞行路线不要纠正火箭的飞行路线 但由于
25、错误,语句中的但由于错误,语句中的not被丢掉了。被丢掉了。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(三)代码类缺陷(三)l纠正措施纠正措施显而易见,当然是直接修改了代码。显而易见,当然是直接修改了代码。NASA对这个缺陷的调查表明:对这个缺陷的调查表明:代码检查和程序测试都是不完全的,它们都是基于代码检查和程序测试都是不完全的,它们都是基于检查者和测试者的想象力和洞察力;检查者和测试者的想象力和洞察力;程序测试能说明程序错误的存在,但却不能说明它程序测试能说明程序错误的存在,但却不能说
26、明它们不存在!们不存在!首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(四)代码类缺陷(四)l失效表现失效表现删除航点时,多拷贝了一个航点。删除航点时,多拷贝了一个航点。若航线的长度为若航线的长度为150时,会出现数组越界。时,会出现数组越界。 l缺陷分析缺陷分析航线中的航点保存在一个长度为航线中的航点保存在一个长度为150的数组中,删除航的数组中,删除航点的操作是每次删除一个点,并且将后面的元素往前移点的操作是每次删除一个点,并且将后面的元素往前移一个,缺陷产生于对数组中最后一个航点的删除操
27、作中。一个,缺陷产生于对数组中最后一个航点的删除操作中。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(五)代码类缺陷(五)l纠正措施纠正措施在删除航点的代码中,增加了对是否为数组中在删除航点的代码中,增加了对是否为数组中最后一个航点的判断,如果为最后一个航点则最后一个航点的判断,如果为最后一个航点则不再将后面的数据向前移动,同时删除其他航不再将后面的数据向前移动,同时删除其他航点时,后面的航点也仅限于数组内的数据向前点时,后面的航点也仅限于数组内的数据向前移。移。首届军工产品软件测试技术专题
28、研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(六)代码类缺陷(六)l失效表现失效表现计算机采用计算机采用8086+8087方式,计算采用短实数格式,偶方式,计算采用短实数格式,偶尔发生计算失败。尔发生计算失败。l缺陷分析缺陷分析由于输入量中有接近零的情况,因此计算的个别中间结由于输入量中有接近零的情况,因此计算的个别中间结果有可能小于短实数格式的最小值,另外由于果有可能小于短实数格式的最小值,另外由于8087是是80位二进制运算,但对它设置为短实数格式,并且在计位二进制运算,但对它设置为短实数格式,并且在计算过程中有小
29、于短实数格式的最小值的数字量出现时,算过程中有小于短实数格式的最小值的数字量出现时,8087就发生下溢,因为程序没有对就发生下溢,因为程序没有对8087下益的处理,下益的处理,所以所以8087向向8086送回一个未规格化的结果。送回一个未规格化的结果。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码类缺陷(七)代码类缺陷(七)l纠正措施纠正措施这个问题的解决有两种方法:这个问题的解决有两种方法:当当8087产生下溢时引发一个产生下溢时引发一个8086中断,在中断中断,在中断程序中进行下溢处理,这种方法
30、在没有下溢出程序中进行下溢处理,这种方法在没有下溢出现时,并不增加时间开销,但要改变硬件连接;现时,并不增加时间开销,但要改变硬件连接;对计算的中间结果进行判别,当小于对计算的中间结果进行判别,当小于10-8时,就时,就以机器零代替。以机器零代替。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心提提 纲纲研究软件失效的目的软件失效机理的探讨软件测试典型失效有效的软件测试有效的软件测试首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性
31、管理与测评中心有效的软件测试有效的软件测试l每种测试技术(方法)都针对某一类(或几类)每种测试技术(方法)都针对某一类(或几类)缺陷具有超出其他方法的优势;缺陷具有超出其他方法的优势;l从实践来看,每一种测试技术(方法)都不可从实践来看,每一种测试技术(方法)都不可能发现一个软件中的所有缺陷;能发现一个软件中的所有缺陷;l在软件生命周期的不同阶段,需要使用不同的在软件生命周期的不同阶段,需要使用不同的测试技术(方法)找出不同类型的缺陷。测试技术(方法)找出不同类型的缺陷。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性
32、管理与测评中心代码审查技术代码审查技术l一种静态测试方法;一种静态测试方法;l通过试验统计数据,被某些机构认为是最有效通过试验统计数据,被某些机构认为是最有效的一种测试方法;的一种测试方法;l从实践经验来看,代码审查是一种对测试者水从实践经验来看,代码审查是一种对测试者水平要求很高的一种方法;平要求很高的一种方法;l从对软件缺陷的分类来看,代码审查适合测试从对软件缺陷的分类来看,代码审查适合测试出代码类缺陷。出代码类缺陷。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心代码审查技术代码审查技术l发现代码类
33、缺陷对测试者的要求:发现代码类缺陷对测试者的要求:充分了解被测代码的编程语言特性;充分了解被测代码的编程语言特性;充分了解被测代码所运行环境的特性;充分了解被测代码所运行环境的特性;充分了解软件设计的思想;充分了解软件设计的思想;l发现设计类和需求类缺陷的要求:发现设计类和需求类缺陷的要求:理解被测软件的需求;理解被测软件的需求;掌握被测软件的应用域知识;掌握被测软件的应用域知识;首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心系统测试技术系统测试技术l一种动态测试方法;一种动态测试方法;l关心软件的动态
34、行为(性能和功能),不关心关心软件的动态行为(性能和功能),不关心软件的实现结构;软件的实现结构;l系统测试的依据主要为软件的需求和用户手册系统测试的依据主要为软件的需求和用户手册以及任务书等;以及任务书等;l系统测试是一种较为综合的方法,三类缺陷均系统测试是一种较为综合的方法,三类缺陷均可发现。可发现。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心系统测试技术系统测试技术l系统测试的充分性很大程度受限于依据文系统测试的充分性很大程度受限于依据文档的质量和测试者的专业知识。档的质量和测试者的专业知识。l
35、测试者应具备的素质包括:测试者应具备的素质包括:充分了解被测软件所支持的设备的基本原理与充分了解被测软件所支持的设备的基本原理与功能;功能;充分了解被测软件所处理的应用领域中的相关充分了解被测软件所处理的应用领域中的相关知识。知识。首届军工产品软件测试技术专题研讨会首届军工产品软件测试技术专题研讨会 中航一集团软件可靠性管理与测评中心中航一集团软件可靠性管理与测评中心总总 结结l研究软件的失效可以让开发者的研究软件的失效可以让开发者的“盾盾”更坚,让测更坚,让测试者的试者的“矛矛”更锋。更锋。l软件缺陷的产生归根结底由人为因素导致。软件缺陷的产生归根结底由人为因素导致。l知己知彼,方能百战百胜,典型缺陷的分析有助于知己知彼,方能百战百胜,典型缺陷的分析有助于认识软件的本质。认识软件的本质。l认识缺陷,可以让软件测试有的放矢,提高测试质认识缺陷,可以让软件测试有的放矢,提高测试质量。量。谢谢 谢!谢!中航一集团软件可靠性管理与测评中心
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。