很多企业实施了CMMI的2级和3级后企业仍然没有体会到有明显的质量改善,问题出在什么地方呢?我认为问题的关键在于测试与同行评审没有抓好。
  管理的作用是预防。预防可能有效也可能无效,预防了并不代表一定不会出错。质量体系的作用就是预防,就是要降低出错的概率。这恰如中药,中药见效慢但是能够强身健体,从根本上解决病因。而测试与同行评审则好比是西药,立竿见影,直接作用在痛处。
  同行评审是在软件开发的各个生命周期阶段都可以实施的质量管理措施,测试是当软件模块开发完成后才可以采取的质量管理措施,二者是互补的,同行评审可以发现测试无法发现的问题,测试也可以发现同行评审无法发现的问题。
  根据统计数据证明,同行评审发现问题效率一般是测试发现问题的3倍以上,因此越来越多的企业开始重视同行评审的工作量投入。在TSP/PSP中,Humphery建议设计评审的工作量要大于设计工作量的1/2,代码评审的工作量要大于编码工作量的1/2。企业在做同行评审时,往往由于工期的原因而省略了同行评审,急于进入编码,于是需求阶段注入的缺陷、设计阶段注入缺陷全都集中在了测试阶段来发现与修改,则增加了测试的负担。据研究,在生命周期的后期修改缺陷的成本是在前期修复缺陷的成本的10倍,这些成本都是隐性成本,如果没有度量数据来证明,往往为管理者所忽略。
  测试分为单元测试、集成测试、系统测试、验收测试,在实践中,企业往往是侧重在系统测试,而没有关注单元测试与集成测试,系统测试无法发现单元测试可以发现的所有问题,这正如盖房子,每块砖的质量无法保证,则整个楼的质量也无法保证,楼已经盖好了,再去检验每块砖的质量就比较困难。单元测试是集成测试与系统测试的基础,单元测试一般要求语句覆盖率为100%,即每个语句都要被测试过。单元测试可以由开发人员自己也可以由其他人员来进行,单元测试也需要编写测试用例,需要记录缺陷。
  评审与单元测试都是直接作用在工作产品的内在质量上,似乎头痛治痛,脚痛治脚,是让客户或者管理者直接看到质量管理的效果,但这只是就事论事,本次测试了很多BUG,下次测试仍可能发现很多BUG,测试与同行评审并不能减少BUG的出现,只是能最大程度的发现BUG,避免BUG由客户发现。CMMI的管理体系则不同,尽管其实施效果的见效周期比较长,但是其能从根本上减少BUG的出现,这就是西药与中药的区别。要想让CMMI能够在企业里推广下去,必须要先吃西药再吃中药,先顾眼前,再顾长远,如此才可减少企业里的阻力,改变大家的观点,真正推行下去!
  无论是否吃中药,西药都是首先要吃的!

2007年4月11日记于成都飞济南途中

软件质量管理的西药与中药相关推荐

  1. 软件质量管理之困境与对策思考

    相信在不少与软件开发相关的企业内,质量管理部门与软件开发部门在日常运作中形成了如下图所示的"哑铃形"组织结构. 开发部门执行质量管理部门所制定的流程,通过提供证据的形式将各种流程执 ...

  2. 软件工程质量管理体系要求_软件质量管理| 软件工程

    软件工程质量管理体系要求 软件质量管理体系 (Software quality management system) A quality management system frequently me ...

  3. [原创]软件质量管理培训

    [原创]软件质量管理培训 质量管理是确定质量方针.目标和职责并在质量体系中通过诸如质量策划.质量控制.质量保证和质量改进使其实施的全部管理职能的所有活动.

  4. 如何确保有效的软件质量管理流程

    如何确保有效的软件质量管理流程 低质量的软件不仅会导致用户采用率不足,还会危及公司的声誉并增加软件生产成本.不合标准的软件会导致用户留存率低并影响用户参与度,36%的受访者提到更高质量的软件是他们IT ...

  5. 软件质量测试大作业,软件质量管理大作业.ppt

    <软件质量管理大作业.ppt>由会员分享,可在线阅读,更多相关<软件质量管理大作业.ppt(22页珍藏版)>请在人人文库网上搜索. 1.Minitab软件质量管理运行的数据分析 ...

  6. 项目中的软件质量管理

    项目中的软件质量管理 本文发表于<软件世界>07年1月杂志,转载请注明. 提起软件质量管理,人们更多地会想起ISO9001.CMM.CMMI这些"质量管理圣经".但国内 ...

  7. 初识SQ软件质量管理的认识

    SQ软件质量管理的认识 质量是什么 管理是什么 软件是什么 软件如何管理 软件质量如何管理 软件质量管理理论 软件质量管理工具 最后来个签名 质量是什么 质量是衡量产品的性能长期一致性的方法.说法虚无 ...

  8. 【软件测试基础理论知识】软件质量、软件质量管理体系、软件质量特性

    1.软件质量 质量:质量是一个实体的所有特性,基于这些特性可以满足明显或者隐含的需求,而质量就是实体基于这些特征满足需求的程度. 软件质量的三个层次 1)从用户角度出发,质量即符合需求又能满足需求. ...

  9. 5M1E,软件质量管理最佳解决方案

    - 如何做好一个产品? - 用户.需求.文化.价值.设计.流程,这些因素缺一不可. - 那么,如何做好产品的质量管理? - 人.机器.物料.方法.环境.测量,这些因素同样缺一不可. 能够影响产品质量波 ...

最新文章

  1. git克隆远程项目并创建本地对应分支
  2. java web dao层_java web 中web层直接调用dao层 可以吗?
  3. Oracle查询锁表以及杀会话或系统进程来解除锁表操作
  4. python带参数装饰器 函数名_python 全栈开发,Day11(函数名应用,闭包,装饰器初识,带参数以及带返回值的装饰器)...
  5. RuoYi-Cloud 部署篇_02(linux环境 Oracle +nginx版本)
  6. [Unity] Perfab 和 Scene 中显示的物体局部坐标系的原点不是实际原点
  7. Debug解决问题方法论
  8. Linux指令:sed和awk指令
  9. Excel 如何让复制的内容保持原文本格式
  10. ----流程控制-条件控制/循环控制\错误控制/程序终止控制
  11. python写sql语句_python3将变量写入SQL语句的实现方式
  12. c++项目 生成dll文件
  13. FPGA verilog基本外设练习(五)-串口通信
  14. Matlab/Simulink Embedded Coder一个非常迷幻的问题
  15. 2021-09-23 latex 实心圆编号
  16. python 对称加密_常见加密方式及Python实现
  17. java单链表反转(头插法)详解
  18. 游戏玩家的“梦想”,ROG Phone 6出圈,双USB-C,还有两个屏幕?
  19. java 画立体图形
  20. vue通过URL传递参数

热门文章

  1. 高通人工智能前瞻性布局 发力终端人工智能
  2. 个人博客集成语雀文档开发博文管理
  3. 【ThreeJS基础教程-高级几何体篇】2.6.1 BufferGeometry应用1-物体居中与包围盒的应用
  4. (三十)股指期货的交叉套保
  5. Maven项目打包时添加本地jar包
  6. Thinkpad T440s重装系统 Window或者linux
  7. 【打卡】电子表格符号转换(简单)
  8. 统计学(一) 导论之习题
  9. python 画蜘蛛_用turtle画蜘蛛侠(无注释)
  10. bilinear 神经网络_bilinear model bilinear pooling(一)