有这样一个例子,很久以前看的,很清晰的说明了QC和QA的关系。把软件开发比作一条向下流的河,那么QC更多的是在下游设置一个拦河网,把垃圾过滤出去。而QA呢,更多的是在河的每段中间发现根源,从源头就把垃圾消灭。QC的工作很好理解,就是现在我们做的测试活动。那么QA要做到很好,的确不能仅仅是一个监督者的角色,如果你认为自己是一个监督者,那么你的工作会很失败。你应该是去帮助项目组避免问题,让项目组尽量朝着正确的方向进行,这就需要你通过审计发行一个问题,注意,这里更多的是做预判,就像seeker_fu前面说的,通过一些度量手段来对后面的活动进行改进或者建议。比如你在审计的过程当中发现跟计划相比,需求阶段的Schedule的偏差已经到了10%,再比较前面的偏差,你发行这个偏差还有继续扩大的趋势,你就要去分析是什么原因产生的,有什么办法可以把这个趋势扭转到正常的轨道上来,这就需要SQA做更多的工作。如果说需要SQA的能力,这里就是体现SQA能力的地方,当然要求很高,沟通也是很重要,你的建议要能让项目组接受。
感慨一下,SQA在执行力很差的公司或者过程不稳定的公司,或者SQA本身能力不足以应付很复杂的状况,那是很累的。。。。。。。 有所启发 就好比将军和士兵的关系。SQA----将军 TEST----士兵 将军统筹规划,士兵执行。
嗯 ,顶一下
顶,真是比我看那么多CMMI资料管用哦 第一次看到这个题目,有点吃惊,因为我们公司这两个职位分得很开. 我想不同的公司对于岗位的定义或许有些不同. 我们公司是一个外资的软件公司,流程比较美式,SQA的职责和前面seeker提到的比较类似.SQA是一个独立的部门,就像测试部门一样. 他们有自己的director,manager和engineer, 主要的工作是流程的管理和项目的audit. 比如在早期召集对一些主要的文档,比如test plan的review,每个大的milestone会组织相应的meeting来看是否达到要求,还有就是对公司各个项目做统计分析,用到很多统计学的方法和工具,这些结果也会给engineer的老大们. 关于6 sigma或者CMM的流程也是他们来推的.
楼上欣欣说的将军和士兵,更想是 QA Manager/lead 和QA engineer的对比.
个人观点,因公司而异吧. QA关注过程,对整个项目监督,包括需求、设计、编码、测试、文档、里程碑等等;
QC只关注结果的测试
回复 #4 ncutlidi 的帖子
ok testing 主要是测试工作,根据公司要去不同,有的做白盒有的做黑盒而QA的概念就比较广泛了,公司不同要求的职责也不同,有的是做产品测试和客户技术支持交流的,有的还要负责过程管理,而软件配置管理有的公司也划分到QA部门 其实对于QA的要求本应是很高的,
但是国内很多企业目前都没有重视到这一块,随便招一个人.
起码对于整个软件工程熟悉
很强的沟通能力,计划能力,协调能力,还有时间、风险控制能力,等等拉
这些能力并不是一个工作2,3年的人就能有的. 个人觉得QA主要是通过过程改进来保证质量,而QC则主要是同过产品测试来保证质量
就好想制造业中,QC相当于质检员的工作,而QA则是担当流程设计和优化工作
回复 #20 seeker_fu 的帖子
SQA独立于项目组,好比建筑企业中出现的监理!如果只看到流程未免太拘束,还要要保持项目进展的透明度. 原帖由 rickyqiu 于 2006-9-22 00:22 发表 http://bbs.51testing.com/images/common/back.gif
第一次看到这个题目,有点吃惊,因为我们公司这两个职位分得很开. 我想不同的公司对于岗位的定义或许有些不同. 我们公司是一个外资的软件公司,流程比较美式,SQA的职责和前面seeker提到的比较类似.
SQA是一个独立 ...
我们公司也是分的很开
SQA主要是流程控制
而Testing分为SW Testing与HW Testing,分别注重Software与Hardware质量保证。 tester 主要是做测试工作,就是单纯的测试人员.
SQA:软件质量保证(SoftwareQualityAssurance,以下简称SQA)的目的是验证在软件开发过程中是否遵循了合适的过程和标准。软件质量保证过程一般包含以下几项活动:
首先是建立SQA组;其次是选择和确定SQA活动,即选择SQA组所要进行的质量保证活动,这些SQA活动将作为SQA计划的输入;然后是制定和维护SQA计划,这个计划明确了SQA活动与整个软件开发生命周期中各个阶段的关系;还有执行SQA计划、对相关人员进行培训、选择与整个软件工程环境相适应的质量保证工具;最后是不断完善质量保证过程活动中存在的不足,改进项目的质量保证过程。
独立的SQA组是衡量软件开发活动优劣与否的尺度之一。SQA组的这一独立性,使其享有一项关键权利——“越级上报”。当SQA组发现产品质量出现危机时,它有权向项目组的上级机构直接报告这一危机。这无疑对项目组起到相当的“威慑”作用,也可以看成是促使项目组重视软件开发质量的一种激励。这一形式使许多问题在组内得以解决,提高了软件开发的质量和效率。
而现在很多中小型软件公司对这个问题不是那么清晰,在招聘测试工程师的时候会说是招QA或者SQA,没经验的人会说我是来应聘软件测试工程师工作的.这样的误会很多. 这两个概念我也一直不太清楚,得救了,hoho 新人学习中~~ 一般外企,QA就是TESTING
而一般国内的企业,QA是质量保证工程师,根据每个企业的具体情况,职位会各有侧重,有的QA是做流程管理,过程改进的,有的是全程监督项目的.侧重项目管理,还有一部分QA侧重配置管理 tkd 我一直以为这两个指的一种职务. SQA的关键工作是Audit Process,Audit的过程是在“取样”,然后进行度量,分析度量数据,通过分析对项目的下步发展提出自己的合理性建议,并引导项目去做这些工作。SQA的工作是一项很有意义的工作,也很有挑战性,Police/doctor/teacher/lawyer,四种角色形容的很贴切,Police的Audit,doctor的诊断,Teacher的引导,lawyer的公正的评判,当然Audit的方式未必像Police一样生硬,应更灵活一些就更好了。
Test,是SQC,是Process中的一个环节,它关注的是产品本身的质量,而不是整个流程。
两者缺一不可,角色不可替代。
分析得很清楚.. 我以前还一直以为QA=TESTING...看来是搞错了...