APP下载

软件缺陷分析技术的研究

2018-03-23杨勋姮段明璐

软件 2018年2期
关键词:分类故障分析

杨勋姮,段明璐

(华北计算技术研究所 软件测评中心,北京 100083)

0 引言

随着技术的不断发展和人类文明的不断进步,以软件为基础的产业发展迅猛,软件已经由以往的单一结构逐渐向复杂结构转变,航空航天等领域武器装备系统的结构复杂度不断提高,对系统进行缺陷分析是变得越来越重要的。

从开始进入软件领域,我们就一直被反复教导一个由无数惨痛教训总结出的道理:缺陷在研发过程的越早期被发现,其造成的影响和修复带来的成本就会越低[1]。

曾经有研究显示,如果在需求分析阶段发现并修复一个缺陷的成本为 1,在编码实现阶段发现并修复缺陷成本就增长到了15,而到了测试阶段一跃而升变为35,如果到了最终交付用户使用后才发现并修复,成本甚至可以到75。对于不同阶段注入的单位缺陷,修复成本和发现阶段的关系如图1所示:

从图1可以看出,项目开发后期修复缺陷的成本已经高到了初期修复成本的75倍,而且返工次数也随着项目进行而大幅提高。如果在交付用户后发现了一个缺陷需要修复,必须要重新修改设计和编码,然后再次进行评审和测试。

为了达到这些需求,本文首先会介绍软件缺陷分析的相关知识,然后列举目前主流的软件缺陷分析方法进行一一进行阐述,最终将六种缺陷分析方法综合进行比较。

图1 缺陷的成本与发现阶段的关系Fig.1 The relation of defect cost and found phase

1 缺陷分析技术的研究

1.1 软件缺陷相关概念

软件缺陷(software defect)是指在软件开发周期中软件产品产生的缺陷和不足,会导致实际运行结果与预期结果产生偏离。……

登录APP查看全文

猜你喜欢

分类故障分析
分类算一算
隐蔽失效适航要求符合性验证分析
故障一点通
电力系统不平衡分析
教你一招:数的分类
电力系统及其自动化发展趋势分析
奔驰R320车ABS、ESP故障灯异常点亮
故障一点通
江淮车故障3例