引言
近期微信公众号后台有同学留言问:
QA与测试的区别? QA、QC、QM的区别?以及QA的工作内容与职责。
针对这些问题我查阅了一些资料然后结合自己的工作日常聊聊这些概念。
1. QA与测试的区别?
QA是什么意思?Quality Assurance的缩写,翻译过来就是质量保证。
软件测试是Software Testing,主要指的是软件方面的测试。
显然两者的性质是不同的,软件测试QA的一部分,从工作内容的范围来讲,QA>软件测试。
国内公司中,各个组织对于QA和软件测试的定义不同
有的公司,QA=软件测试,
有的公司,QA>软件测试,除了测试意外还负责流程改进等工作,
有的公司,既有QA,也有软件测试。QA负责流程,产品等方面的工作,软件测试则仅仅负责测试方面的工作。
2. QA、QC、QM的关系与区别?
概念:
从英文字面上看他们三个的语义区别:
QA:Quality Assurance (质量保证)
QC:Quality Control (质量控制)
QM:Quality Manage (质量管理)
定义:
QA:为达到质量要求所采取的作业技术和活动;
QC:为了提供足够的信任表明实体能满足质量要求,而实施的根据需要进行证实的全部有计划、有系统的活动;
QM:确定质量方针、目标和职责,并在通过诸如:质量策划、质量控制.质量保证和质量改进,使其实施的全部管理职能的所有活动。
职责上:
QA:最重要的职责在于系统层面的完善,侧重于问题的防范及对已发生问题的根源的探究及其对策的实施,从而降低不良的产生;
QC:最重要的职责在于对制成品的监控;
QM:最重要的职责在于从组织层面上保障质量工作环境。
技能要求:
QA:具备必要资质的QA是组织中的高级人才,需要全面掌握组织的过程定义,熟悉所参与项目所用的工程技术;
QC:既包括软件测试设计员等高级人才,也包括一般的测试员等中、初级人才;
QM:不仅要具备QA、QC的技能,还需具备专业管理才能。
QA、QC、QM关系:
其实QM和QA是相互依赖的,所有的组织都会从QM和外部QA相结合的总体利益中获得好处,他们的同时存在为各项工作的管理、执行和验证提供了联合的方法,从而获得满意的结果。尽管他们的活动具有不同的范围、不同的目的、不同的动机和不同的结果,但他们的互补性能使所有质量管理的职能有效运作,取得内部和外部的足够信任。
质量管理既包括质量控制和质量保证,也包括质量方针、质量策划和质量改进等概念,质量管理的运作则通过质量体系进行。质量体系包括质量策划、质量控制、质量保证和质量改进。
质量控制和质量保证的某些活动是相互关联的,如质量控制活动包括:验证、审核等,而验证和审核又属于质量保证的证实活动。而质量控制则侧重于控制的措施(作业技术和方法),质量保证则侧重于控制结果的证实,以提供充分的信任。
三者在软件行业:
SQA指产品和过程保证人员,通过过程的方法保证质量达到要求;
SQC指测试人员,通过验证的方法提*品满足需求的证据;
SQM指质量管理人员,一般为负责质量方面的管理者,通过制定过程、协调资源等一系列的手段为QA、QC工作创造良好的环境和条件。
3. QA工作内容与职责
在我工作过的公司里,我理解的QA与测试的工作内容基本都是一样的,只是叫法不同。包含的工作内容有,理解需求,参加需求评审,编写测试用例,参加测试用例评审,执行测试用例,功能测试,接口测试,编写测试报告,风险评估,线上验证,另外还有自动化测试,自动化测试用例编写和维护,性能测试等等。
QA的职责就是负责好软件产品的质量,如何保证产品质量需要根据具体的产品特性来灵活开展,这里就不再展开来讲。如果你是一个测试新人,那么首先认真执行好领导分配的测试任务,其次再进行自我学习和提高。作为一名测试工程师,我觉得最主要的是热爱你的工作并且认真的投入。