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