软件缺陷分析

原创 2005年02月28日 14:28:00

软件缺陷分析

作者:alan

1. 什么是缺陷分析

    缺陷分析本质上是对缺陷中包含的信息项进行收集,汇总,分类之后使用统计方法(或者分析模型)得出分析结果。缺陷分析得出的结果可以用来度量软件开发过程中各阶段中工作产品的质量,了解缺陷集中的区域,明晰缺陷发展趋向。对于软件过程的改进,软件产品的发布来说具有十分重要的参考价值

2. 缺陷数据的收集

    在我们提交缺陷报告的时候,实际上就是在记录一些必要的信息项。在不同的软件生产企业中,需要记录的信息项是大相径庭的。以下是分析缺陷活动中必须收集的一些数据项目
 
  u     缺陷提交时需要收集的信息

        1 缺陷的严重等级
        2 缺陷所在的模块
        3 缺陷发现的时间
        4 缺陷所在的版本号
        5 缺陷的发现者
        6 负责修改缺陷的工程师

u     缺陷关闭时需要收集的信息

       1 缺陷关闭的时间
       2 关闭缺陷的版本
       3 修复缺陷而改动的代码行数
       4 产生缺陷的根本原因 (例如 :需求,分析,编码,软/硬配置)
 

3. 分析点

3.1. 缺陷的发展趋势

    缺陷的发展趋势包括新发现缺陷数量增长趋势和关闭缺陷数量的增长趋势。    对于软件产品发布而言,发展趋势图是辅助决策的重要依据。一般来说,软件发布的必要条件是新缺陷的数量增加呈下降趋势,见下图3-1。

3-1 缺陷趋势图


    在软件发放过程中,缺陷发展趋势图有助于我们了解各版本中缺陷数量的分布。特别在回归测试阶段中,缺陷的分布可以直接反映出版本的质量状况。

3.2 缺陷的分布状况

    缺陷分布状况图有两种,第一种是缺陷按模块的分布状况,另外一种是缺陷按产生的根本原因的分布状况。

 u    
模块分布图


 
   模块分布图是反映的是各个模块中缺陷数量的分布状况。它可以被用来评估各模块质量水平,开发难度。同时也能从侧面反映出测试资源在各模块分布情况。见下图3-2:





3-2 模块分布图

     



u     缺陷产生原因分布图


      该分布图是缺陷分析中最为重要的一张图表,因为它可以直接反映出各软件工程活动的质量,为软件过程的改进提供直接的参考数据。一般来说,缺陷产生的根本原因划分的越细致,分析的结果就越精确。见下图3-3:
 







3-3 缺陷产生原因分布图

    但当我们发现需求中出现的缺陷比较多的时候,在未来的项目中我们可以通过需求评审,需求变更控制来减少该种缺陷的数量,以起到软件质量保证的目的。同样如果我们发现软件设计过程中产生的问题比较多,那么就可以通过加强软件设计阶段中的审查活动来保证设计的质量。 

3.3 源代码修改趋势图和模块分布图

    源代码修改数量趋势图可以为回归测试风险分析和软件发布提供参考。源代码修改的数量越多,那么代码产生的负作用的风险就越大,为了规避风险,回归测试的强度就需要相应的加强。同样的道理,如果某一个产品的源代码修改数量呈上升趋势的话,那么它是不适合现在发布的 。
    总而言之,通过软件的缺陷不仅要进行跟踪,而且要根据不同的情况进行分析,尽早尽快的减少或避免缺陷的产生, 提高软件质量。

----------------------------------------------------------------------------------------

[作者简介]

网名Alan liang

工作时间6

专业特长单元测试、回归测试自动化

爱好自行车 摄影 网球

Mail: cyber_lover_cn@163.com

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

软件测试缺陷分析方法简介

ODC分析法   ODC(正交缺陷分类)分析方法最早由IBM的waston中心推出,是将一个缺陷在生命周期的各环节的属性组织起来,从单维度、多维度来对缺陷进行分析,从不同角度得到各类缺陷的缺陷密...

科学论文1-软件缺陷预测中基于聚类分析的特征选择方法

对我国一级刊物上的论文进行分析,希望广大程序员掌握学术论文的阅读方法,从中选择对自己工作最有效的方法和理论.

本地化测试软件缺陷分类祥解

本地化测试发现的软件缺陷特征明显,便于分类。本文按照本地化测试软件缺陷的特征进行分类,详细地分析各种缺陷的表现特征,简要描述各类缺陷的产生原因。最后给出各类缺陷的修正方法。 1.缺陷类型   概...

软件缺陷生命周期

Introduction:引言 Bug can bedefined as the abnormal behavior of the software. No software exists wi...

软件缺陷是什么

俗话说”人无完人“,软件是人写的,所以软件不可能完美。这些不完美,叫软件“缺陷”。 先举个例子,保证都是“血淋淋“的亲身经历: 1.   某软件项目,由于合同时间点的关系,系统必须在某日上线,并让...

软件缺陷度量之旅

*转载请注明出处。   为什么要去度量缺陷?我觉得最大的意义是预测。且听我慢慢道来。 项目没开始前,预测: A;这个项目将会有多少个defect B;各个阶段将发现多少个defect C;...

如何有效地描述软件缺陷(Defect)?

如何有效地描述软件缺陷(Defect)? 作为软件测试人员,最基本的一项技能就是如何把所发现的缺陷(Defect)准确无歧义的表达出来,尤其还是全英文表达的时候。   其实从缺陷的描述也可以看出一...

软件缺陷管理

缺陷管理是软件开发及测试过程中对缺陷进行提交、沟通、修正、关闭、统计等一系列过程的总和,确保缺陷被跟踪管理,直到执行了缺陷管理的全生命周期。 在整个缺陷管理周期,主要包括以下几部分: 1、缺陷发现...

软件缺陷的严重性和优先级

严重性和优先级是表征软件测试缺陷的两个重要因素,它影响软件缺陷的统计结果和修正缺陷的优先顺序,特别在软件测试的后期,将影响软件是否能够按期发布与否。 对于软件测试初学者而言,或者没有软件开发经验的测...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)