经常看到有些人把QA、QC、QM的概念搞混,认为他们是同一个概念的不同描述,由于这三者都是舶来品,并且翻译者在翻译的过程中对概念的理解不一致,导致翻译质量良莠不一。
查阅了大量资料,认为他们之间的区别如下:
01概念上
QA:Quality Assurance (质量保证)QC:Quality Control (质量控制)QM:Quality Manage (质量管理)
02定义上
QA:为达到质量要求所采取的作业技术和活动。QC:为了提供足够的信任表明实体能满足质量要求,而实施的根据需要进行证实的全部有计划、有系统的活动。QM:确定质量方针、目标和职责,并在通过诸如:质量策划、质量控制、质量保证和质量改进等,使其实施的全部管理职能的所有活动。
03职责上
QA:最重要的职责在于系统层面的完善,侧重于问题的防范及对已发生问题的根源的探究及其对策的实施,从而降低不良的产生。QC:最重要的职责在于对制成品的监控。QM:最重要的职责在于从组织层面上保障质量工作环境。
04技能要求上
QA:具备必要资质的QA是组织中的高级人才,需要全面掌握组织的过程定义,熟悉所参与项目所用的工程技术。QC:既包括软件测试设计员等高级人才,也包括一般的测试员等中、初级人才。QM:不仅要具备QA、QC的技能,还需具备专业管理才能。
QA、QC、QM的关系如下:
其实QM和QA是相互依赖的,所有的组织都会从QM和外部QA相结合的总体利益中获得好处,他们的同时存在为各项工作的管理、执行和验证提供了联合的方法,从而获得满意的结果。
尽管他们的活动具有不同的范围、不同的目的、不同的动机和不同的结果,但他们的互补性能使所有质量管理的职能有效运作,取得内部和外部的足够信任。
质量管理既包括质量控制和质量保证,也包括质量方针、质量策划和质量改进等概念,质量管理的运作则通过质量体系进行。质量体系包括质量策划、质量控制、质量保证和质量改进。
三者在软件行业的角色
(相对于软件行业来说)
SQA指产品和过程保证人员,通过过程的方法保证质量达到要求;
SQC指测试人员,通过验证的方法提供产品满足需求的证据;
SQM指质量管理人员,一般为负责质量方面的管理者,通过制定过程、协调资源等一系列的手段为QA、QC工作创造良好的环境和条件。
如果说质量就意味一个组织"第一次就把事情做对"的能力的话,那么,这种能力需要三个方面的修炼,缺一不可:
一是“控制系统”,
二是“保证系统”,
三则是“管理思想”。
想一想你是如何开车的,你大概就会明白质量控制、质量保证和质量管理之间的关系了。
菲利浦·克劳士比说:让我再把质量控制(QC)、质量保证(QA)和质量管理(QM)之间的关系清楚地表述一下:
QC就像汽车表盘上的仪器,它们测量汽车的状态并即时告知司机。
因此,我们能看到任何发生的问题,比如发动机过热,或速度超出限制等。这是很有价值的。
QA则像我们收到的汽车用户手册。
它包括使用信息、维护程序和其它有用的信息。ISO 9000和类似的信息包就像这种手册。
QM却是驾驶汽车的哲学。
虽然那些危险的驾车者具有同样真实时刻的信息和如何正当驾驶的手册的手套箱。
因为哲学来自教育。
那么,QA与软件测试的关系呢 ?
QA是quality assurance的缩写,也就是质量保证的意思。
软件测试是software testing,主要指的是软件方面的测试。
显然两者的性质是不同的,软件测试只是QA的一部分,从工作内容的范围来说,可以理解为:
QA > 软件测试。
国内来说,各个组织对于QA和软件测试的定义是不同的。
有的组织,QA = 软件测试。
有的组织,QA > 软件测试,除了测试以外还负责流程改进的工作。
有的组织,既有QA,也有软件测试。QA负责流程,产品等方面的工作,软件测试则仅仅负责测试方面的工作。