软件质量保证相关概念(1)

来源:互联网 发布:新浪网络传真 编辑:程序博客网 时间:2024/06/01 07:40

1. quality 对于不同的角色,质量的含义不同。对一个实体/事物的某个方面或某几个方面的评价。

    software quality:开发者喜欢的定义可能是“meeting requirements”;客户可能喜欢的是“fit for use”但是,在开发项目前客户用的是“want”,而开发后用的是“need”。二者之间是“Gap”!!所以更需要沟通。

2.Prevention VS Detection 

   Prevention 预防 (在事故发生前进行的防范i),在实现预防软件过程的可能会产生的质量缺陷或不足,有好的payback,因为defect越早发现越早改,cost越小。

                                  类似于立个牌子说“地面滑,小心滑倒”就是典型的预防。

   Detection 检测 (是在事故发生后进的行为,为了防止下次发生,有种亡羊补牢的感觉) debug是典型的Detection。但是Detection就是bug已经存在了,之后努力找。

3.Verification((验证) vs. Validation (确认) 

    Verification((验证)  是贯穿整个软件开发周期的,其实就是在每个阶段都进行里程碑的check,每个阶段结束都进行Verification((验证) 是否符合用户需求和需求文档。

       --用来说明Are we building the product right? 

    Validation (确认)是在软件开发周期结束时进行的check,“end of the life cycle”!确认是否符合需求

                                     --用来说明Are we building the right product?

4.Cost of Quality 分为四大类

   a.Prevention cost (预先)为了预防defect的发生先进行的工作,比如做质量保证计划,技术的review,建立测试环境,进行培训学习相关知识等。

   b.Appraisal cost (鉴定费用):包括 measuring, evaluating, and auditing审计产品/服务是否符合标准和规范,比如设备校对和维护,检测产品,统计检测数据

   c.Internal failure cost:在用户检测前发现的bug,进行修改所需要的cost。常见的有返工(rework),修复(repair),故障模型分析(failure mode analysis)等

   d.External failure cost:在产品发布后发现的错误。这种cost,最严重的会导致为了商业的丢失,丢失合作者。

5.Cost在不同阶段代价不同:需求阶段为1   设计阶段则为3-6倍编码阶段为10倍 开发测试阶段为15-40倍系统测试阶段为30-70倍发布后40-1000倍

  早发现早治疗,虽然很多时候当事后英雄很容易让人记得住,大家会觉得很厉害,但是如果能在开始就做好prevention,真的会给以后带来更多的回报。

软件质量保证(Software Quality Assurance)的介绍在:软件质量保障(2) 中有较为详细的说明


0 0
原创粉丝点击