zoukankan      html  css  js  c++  java
  • 软件开发过程中的QA与QC(转)

    在实际质量工作中,经常会碰到一个问题,即质量保证(Quality Assurance)和质量控制(Quality Control)关系比较容易混淆。QA和QC由于都属于质量管理的范畴,同时在工作中由于二者的工作存在部分交叉、共同的工作内容,因此在项目成员中容易造成职责上的混淆。为了让项目组成员了解二者的区别,并协调一致地开展工作、共同提高软件质量,笔者结合多年的测试经验对这两种角色的关系进行了研究和阐述。

      1 QA与QC对比

      QA和QC各司其职,相辅相成,统一于质量管理(Quality Management)。拿一部汽车来做比喻吧,质量控制(QC)就是所有那些告诉你汽车当前运动状态的仪器仪表;质量保证(QA)包括各类标准,是告诉你所有部件操作方法的用户手册;而质量管理(QM)则是你要追求的目标,比如希望能平安、高速地驾驶汽车。可以看出,为了实现质量管理的目标,质量保证和质量控制都是不可或缺的部分。

      了解了QA和QC的重要性后,我们需要详细了解一下QA和QC的具体区别,如表一所示:


    QA

    QC

       

    Quality Assurance(质量保证)

    Quality Control (质量控制)

       

    QA工程师

    测试工程师、评审员

       

    为了确保软件开发过程和结果符合预期的结果,依照过程和计划采取的一系列活动及其结果评价。

    为了发现软件产品的错误、缺陷而进行工作的过程。

       

    减少并纠正实际的软件开发过程和软件开发结果与预期的软件开发过程和软件开发结果的不符合情况。

    为了寻找错误、缺陷,并尽可能的为修复错误提供更多的信息。

       

    监控公司质量保证体系的运行状况,审计项目的实际执行情况和公司规范之间的差异,并出具改进建议和统计分析报告。

    是过程、产品质量审计者。

    对每一个阶段或者关键点的产出物(工件)进行检测,评估产出物是否符合预计的质量要求。关注各阶段的评审和测试缺陷。

    是产品质量检查者。

                                                  表一 QA与QC基础信息对照表

    2 QA与QC工作的区别和统一

      在了解了QA和QC的不同之处后,那问题来了:QA和QC该如何在项目各阶段中既关注职能领域、又共同为项目的质量目标协调、一致地开展工作呢?根据不同的项目阶段,笔者将二者的工作内容和工作产品进行了划分,如表二所示。在实际项目中,QA或QC工作人员,可以依据项目所处阶段,快速清楚本阶段的工作内容和产出物。

      类别

    项目阶段

    QA

    QC

    工作内容

    工作产品

    工作内容

    工作产品

    项目启动

    定义产品质量指标

    参与项目规划的评审

    品质量指标

     

     

    项目计划

    编制QA计划

    过程审计

    项目QA计划

    QA阶段工作报告

    测试计划管理

    参加评审

    测试计划

     

    需求分析

    阶段交付物审计

    过程审计

    QA阶段工作报告

    分析测试需求

    参加评审

    测试需求

       

    阶段交付物审计

    过程审计

    QA阶段工作报告

    设计测试用例

    参加评审

    可能的话参与部分设计

    测试用例

       

    阶段交付物审计

    过程审计

    QA阶段工作报告

    单元测试

    集成测试

    参加评审

    缺陷报告

    测试报告

       

    阶段交付物审计

    过程审计

    QA阶段工作报告

    集成测试

    系统测试

    性能测试

    回归测试

    测试管理工作

    用户手册验证

    测试脚本

    缺陷报告

    测试报告

    用户手册

    验证报告

       

    品质量状态评估

    过程审计

    项目交付审计

    品质量评估报告

    QA阶段工作报告

    内部接收测试

    验收测试

    缺陷报告

    测试报告

    表二 QA与QC各个阶段工作内容及工作产品对照表

      3 小结

      质量保证(QA)与质量控制(QC)的关系,一直以来都比较让人困惑。本文主要是将二者在实际工作中,如何有效完成各自的使命进行了阐述。当然了,在不同公司,可能有不同的适用情况,所以,本文介绍的内容,仅仅只是个例子,供抛砖引玉用。

      虽然不同公司有不同的情况,但是原则都是一样的。QA是从过程和标准来控制开发过程,从而达到提高软件质量的目的。而QC则是通过测试、评审等验证、确认手段来发现软件中的缺陷,并确保该缺陷得到解决,从而达到提高软件质量的目的。

  • 相关阅读:
    软件测试职业规划(初版)
    http-server简易的HTTP服务解决数据传输问题
    moco框架的使用
    sublime3安装部署及插件安装
    Tomcat下载部署及解决中文乱码显示
    Linux磁盘管理
    DVWA学习记录 PartⅨ
    DVWA学习记录 PartⅧ
    DVWA学习记录 PartⅦ
    DVWA学习记录 PartⅥ
  • 原文地址:https://www.cnblogs.com/millen/p/1753919.html
Copyright © 2011-2022 走看看