请一句话说出对优秀的理解你对QA的理解

本帖最后由 皇后 于 13:47 编辑

老总总是提质量体系你们对质量体系的理解是什么?QA又该担任什么样的角色


回答被采纳后将获得系统奖励

这个文章必然是有争议的我在峩的上讨论过很多次了,每次都是很有争议的有不同的观点,有争论总是一件好事这样可以引发大家的思考。所以对于我的这篇博攵,如果你赞同我的观点我会感到高兴,如果你会去认真地深入思考我也会高兴,如果你反对没关系,可以讨论

在此之前,我想說明一下我观点里的这个“专职QA”是怎么定义的

  1. 其是很多公司成立的专门做测试的技术人员,仅测试不开发
  2. 这些QA对于软件开发技术并鈈熟悉,甚至不懂

我经历过一些公司都有专职的QA团队(专职的测试人员),自从上个公司我的开发团队在一个项目上被QA部门搞得一团糟我越来越怀疑专职QA存在在意义。我的观点不一定对但请让我鲜明地表达一下——我觉得是不需要全职的QA的,甚至不需要QA这一专职角色戓部门因为,不懂开发的人必然做不好测试就像不懂开发的研发经理必然管不好研发团队一样。我越来越觉得Dev应该应该是做测试最合適的人选这必然是未来的趋势 (因为我已经看到了中国程序员的进步,相比起10年前今天的程序员已经是非常全面了,再来十年必然證明我的观点是对的)。

在我正在展开说明之前我想引用两篇文章:

一篇是  “”(),本文的作者Sriram Krishnan是一名程序员曾在Yahoo和微软工作过,开发過很多软件曾被纽约时报,写过本文是他的一篇博客。他在文章中表达了这几个观点——

大多数的开发团队并不需要一个独立的测试角色即使要有,那么所有的开发时间比上所有的测试时间应该 >20:1的。证据吗光看看一些从古至今最成功的软件开发团队就知道了。不論是当今的Facebook还是30年前最初的NT团队,很多伟大的产品都是出自没有或很少测试人员的团队

开发人员应该测试自己的代码。没什么可说的背后的道理并不重要。这包括单元测试全覆盖的自动化测试或手工测试或组合测试。如果你的开发人员不能/不愿意或认为这“不归我管”那你需要更好的程序员。

另一篇文章是邹欣的“”这是一篇很不错的文章。他在文章里提到了分工的必要性比如第三方的鉴定機构,并且也指出了分工的一些问题比如,画地为牢的分工无明确责任的分工,等这些问题直接命中了分工的要害。我隐约觉得峩和邹欣的很多观点是相同的,我们内容上是相同的只是形式上还有分歧。另外我的观点太鲜明了,从而容易导向极端的理解

你看,我们都同意Dev要懂测试,QA要懂开发只不过分工不同,既然你中有我我中有你,那就不要分彼此了一起携手开发测试吧。(另外峩个人觉得不懂开发的测试人员不可能测试得好)

我再说说我最糟糕的QA经历吧,这个公司的QA部门只做测试他们的leader觉得所有的test design和test 的过程都鈈需要Dev参与,他们是独立于Dev之外的部门他们几乎不关心Dev的设计和实现,他们只关心能跑通他们自己设计的test case但是去执行Test Case的时候,又需要Dev嘚支持尤其在环境设置,测试工具使用确认是否是bug方面,全都在消耗着Dev的资源最扯的是,他们对任何线上的问题不负责反正出了問题由Dev加班搞定。

Design另外,我不知道他们为什么那么热衷于设计一堆各式各样的Negative Test Case而有很多Positive的Test Case没有覆盖到。为什么呢因为他们不知道开發和设计的细节,所以没有办法设计出Effective的Test Case只能从需求和表面上做黑盒。

在做性能测试的时候需要Dev手把手的教怎么做性能测试,如何找箌系统性能极限如何测试系统的latency,如何观察系统的负载(CPU内存,网络带宽磁盘和网卡I/O,内存换页……)如何做Soak Test如何观察各个线程嘚资源使用情况,如何通过配置网络交换机来模拟各种网络错误等等,等等

测试做得也不认真,大量的False Alarm都是环境问题,比如:安装噺版本后没有重启服务没有使用新的配置文件,网络配置等等,等等

在项目快要上线前的一周,我又私自查看了一下他们的Test Result我看箌5天的Soak Test 的内存使用一直往上涨,很明显的内存泄露这个情况发生在2个月前,但是一直都没有报告我只好和我的程序员每天都加班到凌晨,赶在上线前解决了这个问题但是,QA部门的同学们就像没发生什么事似的依然正常上下班。哎……

为什么会这样我觉得有这么几點原因(和邹欣的观点一样)

  1. 给了QA全部测试的权力,但是没有给相应的责任
  2. QA没有体会过软件质量出问题后的痛苦(解决线上问题的压力),导致QA不会主动思考和改进
  3. QA对Dev的开发过程和技术完全不了解,增加了很多QA和Dev的沟通
  4. QA对软件项目的设计和实现要点不了解,导致了很哆不有效的测试

注:我无意在这里贬低QA的能力工作。只是我看到了QA因为没有参与开发的一些现实问题

邹欣对于分工出现的问题给出了兩点解决方法:

我的观点是,理论上正确操作上太虚了。这就像我们国家喊的“为人民服务”的口号一样没有具体的方法,根本无法落实

我无意在这里贬低QA的工作,我也无意因为这个事走向另一个极端但是,我在现在公司的经历还有很多新兴公司的做法,我越来樾觉得软件开发真的不需要专职的QA,更不需要只写代码不懂做测试的专职的Dev观点如下:

1) 开发人员做测试更有效

  • 开发人员本来就要测試自己写的软件,如果开发人员不懂测试或是对测试不专业,那么这就不是一个专业的开发人员
  • 开发人员了解整个软件的设计和开发過程,开发人员是最清楚应该怎么测试的这包括单元测试,功能测试性能测试,回归测试以及Soak Test 等。
  • 开发人员知道怎么测试是最有效嘚开发人员知道所有的function point,知道fix一个bug后哪些测试要做回归和验证,哪些不需要开发人员的技术能力知道怎么才能更好的做测试。

很多開发人员只喜欢写代码不喜欢做测试,或是他们说开发人员应该关注于开发,而不是测试这个思路相当的错误。开发人员最应该关紸的是软件质量需要证明自己的开发成果的质量。开发人员如果都不知道怎么做测试这个开发人员就是一个不合格的开发人员

另外我始终不明白,为什么不做开发的QA会比Dev在测试上更专业 这一点都说不通啊

2)减少沟通扯皮,和推诿

想想下面的这些情况你是否似缯相识

  • QA 做的测试计划,测试案例设计测试结果,总是需要Dev来评审和检查
  • QA在做测试的过程中,总是需要Dev对其测试的环境配置,过程莋指导
  • QA总是会和Dev争吵某个问题是不是BUG,争吵要不要解决
  • 无论发现什么样的问题,总是Dev去解决QA从不fix问题。
  • 我们总是能听到线上发生問题的时候,Dev的抱怨QA这样的问题居然没测出来
  • QA也总会抱怨Dev代码太差,一点也不懂测试没怎么测就给hand over 给QA了。
  • QA总是会push Dev这个bug再不fix,你就影響我的进度了

如果没有QA,那么就没有这么多事了DEV自己的干出来的问题,自己处理没什么好扯皮的。

而一方面QA说Dev不懂测试,另一方媔Dev说QA不懂技术而我们还要让他们隔离开来,各干各的这一点都不利于把Dev和QA的代沟给填平了。要让Dev理解QA让QA理解Dev,减少公说公有理婆說婆有理的只站在自己立场上的沟通,只有一个方法那就是让Dev来做测试,让QA来做开发这样一样,大家都是程序员了

真的优秀的开发團队都是要吃自己狗食的。这句话的意思是——如果你不能切身体会到自己干的烂事自己的痛苦,你就不会有想要去改进的动机没有痛苦,就不会真正地去思考没有真正的思考,就没有真正的进步

在我现在的公司,程序员要干几乎有的事从需求分析,设计编码,集成测试,部署运维,OnCall从头到尾,因为:

  • 只有了解了测试的难度你才明白怎么写出可测试的软件,怎么去做测试的自动化和测試系统
  • 只有自己真正去运维自己的系统,你才知道怎么在程序里写日志做监控,做统计……
  • 只有自己去使用自己的系统你才明白用戶的反馈,用户的想法和用户的需求。

所以真正的工程师是能真正明白软件开发不单单只是coding,还更要明白整个软件工程只明白或是呮喜欢coding的,那只是码农不能称之为工程师。

  • Amazon都有这样的职位但我不知道这样的职位在微软和Google的比例是多少,在Amazon是非常少的那么像这樣的懂开发的专职测试可以有吗?我的答案是可以有!但是我在想,如果一个人懂开发为什么只让其专职做测试呢?这样的程序员分笁合理吗把程序员分成两等公民有意义吗?试问有多少懂开发的程序员愿意只做测试开发呢所以,SDET在实际的操作中更多的还是对开發不熟的测试人员。还是哪句话不懂开发的人是做不好测试的。
  • 如果你说Dev对测试不专业不细心,不认真那么我们同样也无法保证QA的專业,细心和认真在Dev上可能出现的问题,在QA也也会一样出现而出了问题QA不会来加班解决,还是开发人员自己解决所以,如果QA不用来解决问题那么,QA怎么可能真正的细心和认真呢
  • 如果你说不要QA的话,Dev人手会不够你这样想一下,如果把你团队中现有的QA全部变成Dev然後,大家一起开发一起测试,亲密无间沟通方便,你会不会觉得这样会更有效你有没有发现,在重大问题上Dev可以帮上QA的忙,但是QA幫不上Dev的忙
  • 第三方中立,你会说人总是测不好自己写的东西因为有思维定式。没错我同意。但是如果是Dev交叉测试呢你可能会说开發人员会有开发人员的思维定式。那这只能说明开发人员还不成熟他们还不合格。没关系只要吃自己的狗食,痛苦了就会负责的。
  • 磨刀不误砍柴功如果你开发的东西自己在用,那么自己就是自己天然的QA如果有别的团队也在用你开发的模块,那么别的团队也就很洎然地在帮你做测试了,而且是最真实的测试
  • 你可能会说吃狗食就是个笑话,因为如果是我我把事干烂后,就离职走人了让别人去吃我的狗食。这个在现实中的确会发生也是很现实的。但是想一想你为什么在一开始让他把事干烂了?另外如果你的团队在设计评審和代码评审里没有把好关,让某人把事给干烂了那么这个人的离职带来的问题还是这个团队来扛,于是整个团队都在吃自己的狗食挺公平的。痛苦过一次你的团队下次怎么干了,就不敢乱招人了就不敢随意评审代码了,就不敢让人只做一块东西了最终还是没有逃脱吃狗食的范畴。
  • 关于系统集成测试所谓集成测试,就是把多个开发团队开发的模块集中起来测试因为开发人员可能无法看到全局,不了解别个团队的系统而且步调不一,所以需要有统管全局的专职的QA进行统筹规划并做测试对这个方面,我并不反对在实际操作過程中,好像的确用专职的做集成测试的QA统一调度各团队的时度更有效一些不过,这还是不能让我停止去思考两个问题1) 如果开发人员看不到全局,他能开发出更好的软件吗2)这个全职的做集成测试的QA难道不能是各个团队的骨干Dev来组成吗?3)统一调度这个事不更像是Project Manager偠做的事吗?
  • 关于自动化测试所谓自动化的意思是,这是一个机械的重复劳动我想让测试人员思考一下,你是否在干这样的事如果伱正在干这样的事,那么你要思考一下你的价值了。但凡是重复性比较高的机械性的劳动总有一天都会被机器取代的。
  • 关于线上测试我们都知道,无论自己内测的怎么样到了用户那边,总是会有一些测试不到的东西所以,有些公司会整出个UAT用户验收测试。做产品的公司会叫Beta测试无论怎么样,你总是要上生产线做真正测试的对于互联网企业来说,生产线上测试有的在玩A/B测试有的玩部分用户測试,比如新上线的功能只有10%的用户可以访问得到,这样不会因为出问题让全部用户受到影响做这种测试系统的人必然是开发人员。

恏吧我暂时写这么多,我会视大家的讨论再补充我的观点的

一些人觉得我是在泄私愤,我能够理解为什么我会被这样误解但是没有關系,很多新东西新观点总是会被误解的我坦然面对。请大家抛开我的这些情感因素单纯的思考一下,没有专职QA的的团队架构是否有積极的意义在里面

再补充一点,大家思考一下QA是保证质量的,但是很多QA是在做测试软件质量是测试出来的吗?如果不从需求分析軟件设计,代码实现上做好控制到测试的时候你还怎么保证质量呢?

(转载本站文章请注明作者和出处  请勿用于任何商业用途)

面试QA班长时、面试官问你将来有什么计划为什么应聘这个职位?怎么回答... 面试QA班长时、面试官问你将来有什么计划?为什么应聘这个职位怎么回答?

就职于日本最夶的人力资源公司RECRUIT集团主要从事在日


回答这个问题,你需要找到你和这个职位结合的点就可以了

具体来说,分为以下两个步骤:

  1. 理解職位包括它的工作内容和所需能力和经验。主要途径有:阅读招聘广告的描述和从事相关工作的人交流,参加类似的实习

  2. 阐述自己苻合这份工作的具体内容。主要包括:能力以及能够证明自己具有该能力的相关经历

关于具体的做法,欢迎你告诉我你报名的职位我們可以继续交流。


  1. 面试官的问题应该都是围绕岗位或者认识候选人的目的,所以不要随意回答

  2. 当面试官问你将来有什么计划,为什么偠应聘这个岗位应该突出对这个岗位的理解与热爱,然后把个人计划与在这个岗位上的发展结合起来可以说短中期计划做好这个岗位嘚工作。长期计划是瞄准这个岗位对应的上一级岗位但是必须是同一序列的。比如会计到财务经理

其实想要回答好这个问题,只要按照下面的三步框架走就好了准备起来也不复杂的。

- 你对这家公司的了解和热爱;

- 你的相关能力和经验;

- 这个岗位和你长期职业规划的联系

第一步:表达你对于这家公司的向往

首先,这个问题给了你一个很好的机会来表达你对于这家公司的无限向往比起空谈一整天你多麼希望加入这家公司(这种回答就算你吹上了天,也没有人会相信的)最有效的回答就是切切实实表现出你对这家公司有一两点深入的叻解,比如他们的价值观是什么比如他们的业务特点是什么。

假设你去面试一家专注量化投资的资产管理公司那么你应该这样措辞:當我看到这个岗位的时候,最引起我兴趣的是这个岗位是专注于量化策略的。我了解到贵公司虽然团队规模不大但独立研发了很多优秀的内部量化分析工具,并在美股投资上使用了很多量化投资策略

当你面试的是一家小公司时,如果你表现出对这家公司的一些了解那么在面试中是非常占便宜的。而且最妙的是你基本上只要提前翻一翻公司官网或者跟这家公司的前员工或者现员工聊聊天,就可以在媔试中表现的好像你已经关注这家公司很久并且有深入了解了

第二步:将你的技能和经验与这个岗位联系起来

在接下来的回答部分,你偠开始向面试官推销你自己告诉他们为什么你会是这个岗位的最佳人选了。

这里有两条回答的路径:一是将你过往的工作/实习/科研经历與这个岗位联系起来;另一个是将你具备的技能与现有岗位的需求匹配起来(特别当你正在进行职业转换的时候这么做非常有用)。

在這个过程中记得一定要精确指出你具备了哪些这个岗位必需的能力,并且加上在岗位要求中提及的几个最好拥有的技能

例如:对我来說,这个岗位最吸引我的地方是它可以让我在投资领域,充分发挥我之前作为一个资深软件工程师的编程技能以及我量化分析的能力

記住,这里你不需要太长篇大论因为在整个面试过程中,你有很多机会来讲述你是如何通过实习或者工作来锻炼各种技能的你只要认嫃强调你具备这个岗位所需要的几项关键能力即可。

第三步:将这个岗位与你的职业规划联系在一起

最后你需要证明的是,你选择这个崗位是经过深思熟虑而不是随意海投的结果;如果你直接说自己就是看到有一个招聘启事,过来试试那么面试一定是分分钟要挂的节奏。最理想的回答是不要表现出这份工作只是你的一个踏脚石。比如说虽然大部分人都觉得四大只是一个跳板,但如果你在四大的面試过程中直接说自己打算过两年跳去投行合伙人可不愿意公司两年时间培养出的人才都白白流失的。所以请展现出你愿意在这家公司長期工作的意愿,这样面试官在下决心录用、培养你时会更放心继续以一位工程师转行申请量化投资岗位为例,你可以在这个部分这样囙答:我对于金融领域一直很感兴趣之前几年也有在积极进行股票投资。对我来说量化投资是少数几个能够将我的量化能力和对金融嘚兴趣紧密结合的地方。我一直认为投资是一份需要积累终身经验的工作所以我一直都在努力学习,并且希望我的经验和能力可以为贵公司做出贡献当然,这并不是说你一定要在这个岗位上待到退休但是你一定要说明的是,这份岗位对你职业发展的帮助并且在未来鈳见的一段时间这些理由仍然可以成立。

面试官之所以要问为什么应聘这个岗位测试的是你的工作动机,是为了考查你的专业度、忠诚喥、对所应聘岗位的熟悉和认知程度所以你的回答重点该放在表达高度的工作热忱及自己对这份工作的胜任度上。别忘了要强调内在动機(如成就感、自我实现等)而在回答时若能阐述得越明确,则说服力就越强岗位的发展前景、自我的职业生涯规划都会是极佳的回答题材。“我很喜欢这份工作”显得太笼统;而“我现在的工作只能涉及到很小的一部分内容而据我了解,贵公司的这个岗位涉及到的笁作领域更加全面更能锻炼自身能力。因此我一直很向往加入贵公司”就动人多了而“公司离我家很近”、“听说贵公司假期多”、“我就想来试试”等回答就要吓昏面试官了。比如你可以这样说:“从我的经历来看这是我的职业生涯中最适合的一份工作。几年来峩一直在研究这个领域并且关注贵公司,一直希望能有这样的面试机会我拥有必备的技能(简单讲述一个故事来加以说明),非常适合這一职位也有自信能做好这份工作。” 当然要一句话说出对优秀的理解以上的那些话你在面试前必须做足功课,如果你只是这么说但卻不能给出实例则会完全毁了你在面试官心中的形象。你可以不必要知道每个细节但是你应该知道地足够多,来表明在你的意识中你嫃的在考虑这家公司从而让这家公司来考虑你。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 博爱柏山几月几号逢会 的文章

 

随机推荐