QC、 QA、Tester & CM岗位说明
QC,[质量检验]是为使产品满足质量要求所采取的作业技术和活动,它包括检验、纠正,比如QC进行检验发现不良品后将其剔除,然后将不良信息反馈给相关部门采取改善措施,因此QC的控制范围主要是在工厂内部,其目的是防止不合格品投入,转序,出厂, 确保产品满足质量要求及只有合格品才能交付给客户. QA,[质量保证]是为满足顾客要求提供信任,就是为使顾客确信你提供的产品能满足他的要求,因此需从市场调查开始及以后的评审客户要求,产品开发,接单及物料采购,进料检验,生产过程控制及出货,售后服务等各阶段留下证据,证实工厂每一步活动都是按客户要求进行的。 QA的职责不是保证每个产品的质量,保证产品质量是QC的任务,QA主要是提供确信,因此需对了解客户要求开始至售后服务的全过程进行管理,这就要求企业建立品管体系,制订相应的文件规范各过程的活动并留下活动实施的证据,以便提供信任,这种信任可分为内外两种,外部的即使客户放心,相信工厂是按其要求生产和交付产品的,内部是让工厂老板放心,因为老板是产品质量的第一责任人,产品出现质量事故他要负全部责任,这也是各国制定产品质量法律的主要要求,以促使企业 真正重视质量,因此老板为了避免承担质量责任,就必须以文件规范各项活动并留下证据,但工厂内部人员是不是按文件要求操作老板不可能一一了解,这就需要 QA代替他进行稽核,以了解文件要求是否被遵守,以便让老板相信工厂各项活动是按文件规定进行的,使他放心。<br><br> 因此QC和QA的主要区别前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作,以提供内外部的信任.同时QC和QA又有相同点:即QC和QA都要进行验证,如QC按标准检测产品就是验证产品是否符合规定要求,QA进行内审就是验证体系运作是否符合标准要求,又如QA进行出货稽核和可靠性检测,就是验证产品是否已按规定进行各项活动,是 否能满足规定要求,以确保工厂交付的产品都是合格和符合相关规定的. 软件质量保证(Software Quality Assurance,简称SQA),即参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量;在许多质量体系还不是很成熟的公司,维护和发展这些质量标准、流程规范等也是由质量保证人员进行。行内有个这样的说法:“软件质量保证并不能够保证软件的质量”,事实也是如此,软件质量的好坏不是一个人,一个部门能够决定的。但是,我们可以把提高软件的质量作为我们从事软件质量保证工作的目标。软件测试(Software Test),尽早、尽可能多地发现软件系统中存在的缺陷及问题。但是,好的软件并不是“测”出来的,而是“做”出来的,所以,每一个测试人员都应该清楚这样一点:任何人都不可能找出软件中隐含的所有缺陷和问题,正如世界上没有人是十全十美的。软件配置管理(Software Configuration Management,简称CM),简单来讲,配置管理即是对软件工作中间件及工作成果的各种管理。其中包括:配置项、配置库、配置标识、基线(详见下文)。SQA Tester CM 工作解析工作内容及手段一、软件质量保证工作内容建立软件质量保证活动的实体 制订软件质量保证计划 坚持各阶段的评审和审计,跟踪其结果,并作合适处理 监控软件产品的质量 采集软件质量保证活动的数据 度量软件质量保证活动 手段“请介绍几种有效的质量保证工具?……”,论坛中经常有朋友这么问。我想,他可能是把质量保证手段统称为工具了,在我看来,称作“手段”可能更贴切一点。下面就来介绍一种有效的质量保证手段——同行评审(Peer Review),以此可以提前发现许多软件各阶段隐含的问题。比如:在需求阶段的评审:发现需求是否已被很好的定义,其中是否存在技术上的风险等; 在设计阶段的评审:检查架构数据库等设计的是否合理; 在编码阶段的评审:检查Source code,发现代码中不符合编码规范部分; 在测试阶段的评审:检查测试计划安排的是否合理,测试用例设计的覆盖率等; 在验收阶段的评审:检查项目文档是否都已存在于配置管理库中;总结项目开发过程中的一些经验教训并作记录,存入公司的资源库等。 过程中需注意的细节做评审计划; 人员不要太多,保证会议的效率; 经常性地举行; 尽量提前点时间将会议上要审核的资料发送给参加会议的人,并请参会人员对发现有疑问的地方及时做出标识,以提高会上的效率; 千万注意不要将评审会议变成聊天或过分争论会议; 评审团队最好是由经过同行评审培训,并有产品经验的相关人员组成; 对评审人员提出的问题,在会后,应该由文档作者修改,并最终通过评审团队成员的一致确认。 常见误解误解一:认为发布出去的软件发现了问题,就是QA和TESTER的责任;还是那句话,“软件质量保证”并不能保证软件的质量; 误解二:QA就是公司的文档管理员,常有QA称自己是“打杂工”。实际上,成为一名出色的QA并不是一件容易的事情,工作年限、工作经验、工作成果等都是对其衡量的标准; 误解三:QA的工作有TESTER兼职进行即可。这是目前多数软件公司采取的措施。个人认为,最好将二者分开,TESTER的工作也是有质量可言,同样需要QA进行监督、检查,而QA的直接上司即公司的高层领导; 二、软件测试工作内容编写测试计划 编写测试用例 对软件开发过程的重要文档进行测试,如:需求文档、设计文档等 测试执行 测试结果总结、分析 测试数据的度量(更高要求) 以上工作基本上涵盖了测试的所有工作,在分工比较明细的公司,通常由不同人员来进行,如:测试设计员:制定和维护测试计划;设计测试用例及测试过程;评估测试,生成测试分析报告 测试员:执行集成测试和系统测试; 设计员:设计测试需要的驱动程序和稳定桩; 编码员:编写测试驱动成员和稳定桩;执行<a><u><font color="#0000ff">单元测试手段手工测试 目前多数测试人员都采取的一种测试工具,虽存在一定的弊端,但也绝对不可以省略。BUG管理工具通常叫BMS(BUG MANAGEMENT SYSTEM)。如果公司不愿意投入成本购买大公司的BUG管理工具,不妨根据自己的情况开发一个,便宜又好用,并且一劳永逸!三、软件配置管理术语解释:配置项:凡是纳入配置管理范畴的工作成果都叫做配置项。 配置库:所有配置项的集合 配置标识:为了方便管理,而对各配置项作的标识 基线:由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了就不能再被任何人随意修改,直接进入变更阶段。通常将交付给用户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。 工作内容创建配置库,并至少创建配置库的所有一级目录 为每个项目组成员分配权限 根据配置管理计划中的基线计划维护基线,“冻结”配置项,控制变更 定期清楚配置库里的“垃圾”文件(“垃圾”文件即在项目中产生,但最终不用存档的一些文档)配置状态发布 定期备份配置库 手段常用配置管理工具如下:VSS、CVS、CLEARCASE等,具体内容我已在论坛中发布过,大家可去查看。SQA与TESTER的区别通过上面各自含义及工作内容的描述,我想SQA与TESTER的区别应该比较清晰了吧,现在总结为以下两点:SQA重点是对软件开发过程进行监督、管理、控制; TESTER重点是对软件开发的成果进行检查、控制。 SQA与CM的区别SQA重在监督项目的进度,督促项目按开发流程及规范进行,控制并记录好各项变更,并通知配置管理员对配置项做好相应的变更;同时SQA还可以作为SEPG(Software engineering process group)的成员之一,参与公司的软件过程改进工作。配置管理工作的主要目的是为了保证项目资料得到清晰、有效地管理,加快工作效率的同时,也避免一些意想不到的风险,如:代码丢失或恶意修改等。同时,有效地配置管理工作,还可作为公司建立复用资源库的主要来源之一。建立复用资源库对公司来讲势在必行,频繁的人员流动是再充分不过的理由。