软件缺陷分析

来源:互联网 发布:淘宝登陆界面无法显示 编辑:程序博客网 时间:2024/04/29 23:53

软件缺陷分析

作者: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

原创粉丝点击