软件缺陷分析

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

软件缺陷分析<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

作者:alan

1. 什么是缺陷分析

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

2. 缺陷数据的收集

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

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

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

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

3. 分析点

3.1. 缺陷的发展趋势

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

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

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中心推出,是将一个缺陷在生命周期的各环节的属性组织起来,从单维度、多维度来对缺陷进行分析,从不同角度得到各类缺陷的缺陷密...

测试之软件引入缺陷的原因

软件中缺陷的类型和原因。

什么是软件缺陷

什么是软件缺陷?作者:bailuyuan关键词: 软件测试, 软件缺陷  1.与“bug”、“缺陷”相关词语的解释     首先,我们看看上面提到的几个与软件缺陷有关的词在英语中的解释。翻译如下:n ...

几种交叉验证(CrossValidation)方法

交叉验证 以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(tr...

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

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

数据挖掘在软件缺陷管理应用的可行性分析

数据挖掘在软件缺陷管理应用的可行性分析 作者:寒阡 综述:          众观很多的缺陷管理系统,都是为了更加合理的帮助开发进行缺陷管理。没有对见到的事物有充分的度量或适当的准则去判断、...

基于大数据的软件缺陷分析和预测

那些对软件质量严格要求的行业,比如银行、财务、通信,因它们知道单是靠最终的系统测试无法把潜在的缺陷找出来,所以都愿意花费大量精力,找很有经验的程序员去做代码评审来找缺陷,。 从2000年开始,学术界...

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

严重性和优先级是表征软件测试缺陷的两个重要因素,它影响软件缺陷的统计结果和修正缺陷的优先顺序,特别在软件测试的后期,将影响软件是否能够按期发布与否。   对于软件测试初学者而言,或者没有软件开发经验...

我的第一篇博客——软件缺陷粗浅认识及白盒测试举例

软件缺陷可以分为:   1.输入/输出缺陷   2.逻辑缺陷   3.计算缺陷   4.接口缺陷   5.数据缺陷   软件缺陷的产生:   1.疏忽造成的错误(Carelessness defect...
  • mr_lady
  • mr_lady
  • 2015年05月27日 07:28
  • 534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件缺陷分析
举报原因:
原因补充:

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