QA真的只需要做黑盒测试,找到错误就扔给SE,就完了么?
QA帮助SE定位错误,到底要定位到多深的程度?我想,最深的程度就是,SE放假了,QA也能行驶SE的职能,把错误给改了。
目前我们公司把SE和QA截然分成两派,SE做好后,就交由QA来测。是否有更好的安排方式?比如SE当一段时间QA,QA当一段时间SE。敏捷不是提倡全功能团队么?既有某方面的专家,每个人也乐于、有能力承担其它方面的工作,至少能够通过有效的结对与任何角色一起完成特定的工作。这样,对个人发展的广度也是有帮助的。
这样的话,QA与SE的座位布局可能需要经常变换,重排了。因为物理上阻隔了沟通,便不利于敏捷的实行。
我的想法主要受到文章(http://www.infoq.com/cn/news/2011/03/Ensuring-Product-Quality-Google)的启发。此文讲到:Google保证产品质量的方法和很多公司是不一样的。Google没有一个庞大的测试部门,相反,部分测试工作委派给了开发人员。
在传统的业务导向的软件公司(如穆迪),开发的软件主要是为了满足客户的业务需求。如果业务逻辑十分复杂,涉及到的行业知识很丰富,这时开发人员(SE)可能没有足够时间来进行需求分析,那么QA则可以更多地承担这种需求分析工作,进而成为业务专家。而对于37signals、google、facebook这样的公司,他们的软件开发其实是由工程师主导的。尤其是37signals公司,他们主要开发程序员使用的软件,开发者本身就是客户,他自己知道所要开发的软件是什么样,自然也是其软件质量的拍板者。这样的开发团队更强调测试的自动化,因而也只需要保留较少的专业测试人员。
我说的QA越殂代庖去改bug,是一种夸张的说法。QA有改bug的知识与技术,但不一定要QA亲自改嘛。正如有的同学所说的,QA更有生产力的工作是测试,SE更有生产力的工作是修改代码。比如架构师有能力去完成每一行代码的编写,但他更重要、更有生产力的工作是切分好系统,然后把任务分配给下面的开发者来完成。所以,我想强调的是,作为“全功能团队”的一员,你的头衔是QA,但同时也有修改代码的权利与能力,这不是很好么。这也是代码全体所有权的一个重要体现。
有一次,我们team的QA见SE很闲,就拉她去做了一天的QA。结果,这位SE测出了很多BUG。其中不少BUG都是与界面使用起来顺不顺有有关,或者是某些界面组件的行为不一致。但不得不说,这些bugs都是值得去改进的。QA Team的同学也同意这一点。这里我想提问的是,为什么QA没有把这些BUG提出来呢?一个主要的原因是,QA主要从业务的视角(远离代码、是否匹配业务需求)看问题,而SE则更多从更佳的操作流程、软件精简和一致性(接近代码、是否符合程序员的直觉)来看问题。
由此,我妄作推断:更加了解代码,不仅有利于重现BUG,也有利于发现更多的改进软件的建议。这条建议对SE和QA都适用。
分享到:
相关推荐
追究QA要不要追究BUG发生的原因软件测试这篇文章是有感而发,因为和几个同事在这个问题上达不成一致的意见,所以写出来自己的观点,希望能引起大家的思考和讨论。软件测试到底要不要追究BUG发生的原因呢?这个问题的...
截屏只需要按一下键盘上的Printscreen键,自动把屏幕保存为图片,告别画图板,告别复杂操作
SEPG建立了一套规范过程后,并不表示这个过程就一成不变了,规范自身也必须不断地得到改进才能保证它的正确性和有效性。QA的存在恰好可以解决SEPG和项目组之间的矛盾,因为QA经常要参与过程改进工作,又常常参与项目...
本数据集,名为"中英文QA数据集主要包含生活常识以及计算机技术QA",是一个专门收集自问答网站的资源,涵盖了广泛的生活常识问题和计算机技术问题,旨在为这些领域的问答系统开发提供训练素材。 首先,让我们深入...
标题:Ralink_QA_Tool 描述:Ralink_QA_Tool_Introduction 标签:Ralink, QATool 根据提供的文件信息,我们可以深入了解Ralink QA Tool的相关知识点,这是一款专为验证Ralink无线局域网(WLAN)802.11a/b/g/n MAC...
**QA Distiller** 是一款强大的双语文档比对与检查工具,专为处理语言文档的质量保证而设计。这款软件能够帮助用户在翻译过程中确保源文本和目标文本的精确度,从而提升翻译质量和效率。它主要适用于专业翻译人员、...
### QA的核心职责详解 #### 一、全流程质量保证 QA(Quality Assurance,质量保证)的核心职责之一便是确保产品的全流程质量。这一过程从需求分析阶段开始,贯穿设计开发、测试直至运维等多个环节,确保每一个阶段...
**定义与作用**:一旦Bug被分配给具体的开发者,他们就需要开始着手解决问题。这可能包括但不限于代码修改、功能调整等。开发者在处理Bug的过程中还需要与提交者保持沟通,确保理解问题的本质,并及时反馈进展。 **...
衡量QA工作指标之一,通过过程质量控制后经过判断线上bug和线下bug的比率去衡量测试指标是否合格
在IT项目管理中,QA(Quality Assurance)质量保证工作流程是确保软件产品质量的关键环节。一个清晰、详尽的QA工作流程图不仅能够帮助团队成员理解各自的角色与责任,还能够提高项目的透明度和效率,从而确保软件...
QA在bug处理上很大程度上会收到开发人员的影响,在关键问题上决不能妥协。 3.高度的警觉性(洞察力)和怀疑精神。不要放过一个任何一个小问题,以怀疑的态度来测试软件。 4.会对自己的经历进行及时的总结。特别是...
敏捷开发中QA的职责之敏捷中的QA!QA,通常指的是质量保证(QualityAssurance)工程师,但我更喜欢定义敏捷中的QA为质量分析师(QualityAnalyst),主要基于以下几个方面的原因:质量保证更偏向于工业说法,称参与软件...
【标题】"2007年QA典型百大MISSBUG总结"揭示了当年软件质量保证(QA)过程中遇到的一些常见且具有代表性的错误,这些错误,或者称为“Missbug”,在软件开发过程中可能会导致功能异常、性能下降或用户体验不佳。...
### CMMI——QA主要工作 #### QA的目标与作用 CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是一种用于评估组织的过程成熟度和能力的模型,旨在提高组织的产品和服务质量。在此背景下,QA...
“baike-qa2019.zip”是一个压缩文件,包含了两个JSON格式的子文件:“baike_qa_train.json”和“baike_qa_valid.json”。JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁明了、易于...
【QA基础入门】 QA,全称为Quality Assurance,中文译为“品质保证”,是ISO8402:1994标准中的定义,指的是为确保实体能满足品质要求,而在品质管理体系中进行的一系列有计划和有系统的活动。这些活动旨在提供足够...
QA管理体系是一种重要的组织管理和质量控制方法,主要用于确保工作质量和提升工作效率。在IT行业中,QA(品质保证)扮演着至关重要的角色,它不仅涉及到产品的质量控制,还涵盖了项目的整体管理、责任分配、时间规划...