cleverman 发表于 2007-7-17 00:51:02

(驳斥)迷信自动化是测试人员的误区 (1)

今天七月四号美国国庆节,有时间坐下来总结一下过去几年在微软的测试经验,谈谈对测试自动化的看法。


今天看到这篇关于自动化测试的文章,有很大的误导作用,我也谈一下对自动化测试的看法。首先,作者是一个在微软工作了几年的一个测试人员,总结的是在微软的测试经验。可是他总结的并不是典型的微软公司的测试观点,而是自己个人的测试观点。因此,他的观点实际上是与微软公司没有太大关系的。这点,大家还是不要被误导。众所周知,微软在几年前对测试有一个大的改变。以前微软有两种职位,STE和SDET,前者是手工测试,后者是自动化测试。微软把STE基本cut掉了,因此STE要不走人,要不转SDET。转过来的,因为以前主要是手工测试,因此就对自动化测试产生很大的抵抗情绪。这种情绪是team lead很不愿意看到的。因此,STE的困境是比较大的。还有就是在微软里做几年如一日的测试人员大有人在,因为能力问题,级别得不到提升。因此,几年还是junior。所以,在微软做几年测试,也不代表就是一个级别很高的人。

另外要说明一点,从文章的title里可以看到,这篇文章是说给迷信自动化测试人员的。作者以前本身就是一个迷信自动化测试的人,可是后来从迷信变得不相信自动化测试了。可见作者是一个很容易走极端的人,从头到尾都没有用一个公平理性的态度去面对自动化测试。还有就是,这个文章如果给迷信自动化测试的人看,还是有一定意义的。可是,我们当中有几个人像作者以前那样迷信自动化呢?大部分看了可能会觉得是针对整个自动化来讲的,而且作者确实也偏离了他的title,因此我也需要澄清一下。


先说说为什么做测试的人喜欢搞自动化。
第一,自尊心。计算机科班出身的人都喜欢作开发(Dev)。做测试工作经常是身不由己,可是测试工作很多时间不需要编程,于是做测试的人想方设法写些程序,以显示自己也会编程。结果往往是欲罢不能,测试自动化程序越写越多,越写越复杂。后面我会谈谈测试自动化框架复杂的代价。
第二,为了出成绩。很多测试组为了向管理层展示成绩,往往要拿出例如测试自动化达到80%,程序覆盖率达到90%。要我说,这些都是Bull Shit. 就象小平同志说的“实践是检验真理的唯一标准”,我认为在测试中“用户不出问题是检验质量的唯一标准”。自动化做的再多,用户出了问题,也是白搭。另外,一个人就可以做的测试,自动化往往需要两个,三个。倒是解决就业的好方法。

我想作者漏掉了一个最重要的方面,那就是自动化可以解决我们的测试问题。两个方面,一是自动化可以完成手工不能完成的任务,二是自动化可以替代手工重复的劳动。这才是我们搞自动化最重要的原因。关于自尊心的问题是有的。可是作者解释的好像都不在理。计算机科班出身的人都喜欢做开发?这个观点从何而来?计算机出身的人可以做开发,测试,dba,support,销售,市场,自己创业。各种工作都有可能,怎么能说都喜欢做开发呢?以我的个人经验来看,喜欢做开发的是少数。做测试经常是身不由己?我认为做开发也很多是身不由己。测试工作很多时间不需要编程?开发人员很多时间也不需要编程。后边的就不说了。总之,给人的感觉都是作者的心理。好像作者自己喜欢做开发,身不由己作了测试,发现不需要什么编程,然后就想方设法写程序,以显示自己也会编程,结果出了大问题了。这里可以提供两点信息,一是作者想做开发没有做成。可见作者的开发能力有限,老板不给提供这个机会,因为老板是要给产品负责的。还有就是,做了几年的程序,而且一直想转开发而转不过去的话,我真的不能suppose他水平有多高了。另外就是,把自己的心理,心态,引申到整体,不是很有道理。

用户不出问题是唯一标准?你可以认为它是一个标准,可是你怎么衡量?用户,半年不出问题,一年不出问题,还是五年不出问题,永远不出问题?还有就是,难道只能在用户的使用上才能衡量一个软件的质量吗?我们做测试的首要目的就是在用户拿到产品之前就要保证好产品的质量。难道,自动化测试,程序覆盖率不是实现这个目标的解决方法吗?一个人做的测试,自动化需要两,三个。这又是从何而来?以我的经验,三四个人的测试,我一个人做自动化就可以完成了。我前不久的工作成绩就是,本来需要3个星期手工测试的,经过我的自动化,变成1个星期完成了。也就是说,本来需要三个手工测试人员,现在只需要一个自动化测试人员了。还有就是,我们的软件需要在不同平台下,不同环境下测试,没有自动化怎么行?比如,我们要在2000,XP,XP+sp1,XP+sp2, 2003, 2003+sp1,2003+sp2,vista。这还不包括,这种cpu,windows的不同版本呢。手工测试得需要多少人呢?

[ 本帖最后由 cleverman 于 2007-7-17 09:40 编辑 ]

cleverman 发表于 2007-7-17 04:17:33

(驳斥)迷信自动化是测试人员的误区 (2)

在进行第二部分的时候,我想简单说一个问题。以我个人的看法,功能测试根据被测试对象主要可以分三种类型:UI测试,Command line测试和API测试。我认为后两部分是非常适合用自动化来作为主要方法进行测试的。作者只是提到了UI自动化,然后就推广到整个的自动化。我认为这不是很reasonable的。如果谁要是认为API和command line的测试不适合自动化,我们可以单独讨论。不过这里,我们就要把topic nail down了。我们只谈UI的自动化。如果我们要谈整个的自动化,作者的观点一下子就错了,没必要继续谈下去了。



我对测试自动化的认识也有一个变化的过程。刚刚入行时也是很相信自动化,想方设法写一些从头到尾自动化的框架,觉得自动测试很过瘾。到微软的Portal Media Center组后也是和另外两个人做了一个相当复杂的用户界面的自动测试。其实现在想想,用自动测试发现的问题基本上可以一个人用手工测试完成,最多写些简单的测试辅助工具就可以完成。有些人可能会说自动化可以为产品的下一个版本节省测试时间。其实Portal Media Center 下一个版本出来时,所有户界面完全变了,80%以上的自动测试程序都需要改动。做完第一个版本,我们三个人全都走掉了。后面来的人往往宁可自己再写一套,也懒得改以前人的程序。自动化的浪费就是这样造成的。想说服别人用你开发的自动测试框架是很难的,所有人都想另搞一套。

作者在自动化过程中发现的问题,和犯下的错误是初学自动化的人很容易出现的。刚开始的时候,很多人都想把自己的自动化做的多么fancy,想100%的automation.把目标定得很高,结果又相差很大。因此,就动摇了自动化的信心。我做自动化总是强调的一点是,“怎样合理的进行自动化?”。什么应该自动化,什么不应该自动化,怎样进行自动化,这都是有一定学问的,也是一个senior测试人员应该具备的基本能力。因为作者的能力问题,使得后来的测试人员不愿意用他们的代码,宁可另起炉灶。这完全不能说明自动化有什么不好的。你想想看,如果你设计,实现了一套非常好的,非常灵活的自动化系统,后来的人很轻松的能够上手,他为什么还要自己重新来过呢?以我个人的经验来看,想另起炉灶的最根本的原因是因为以前人留下的代码太滥了。这个不光测试有这个问题,开发中同样普遍。我设计的自动化框架,到我辞职后一年还没有替代品的出现,大家都是在我的基础上进行新的开发和利用,以及扩展。这又说明了什么?我从来没有试图去说服别人一定要用我的。好的东西,别人一定会看到的。


下面分几点讲讲为什么要放弃对测试自动化的幻想,和怎样进行低成本的有效测试。如果你还不能同意我对测试自动化的看法,可以去这个微软员工的Blog http://minimsft.blogspot.com/2006/08/dev-vs-test-vs-pm.html 去看看为什么Windows测试组用的WTT测试框架被称作“Waste of Tester Time". 我最基本的观点不是说测试自动化不能测出bug,而是想问: 一个比较复杂的测试自动化框架所造成的人力浪费,值不值得最终的结果?如果不做测试自动化,能不能达到同样的效果。以我的亲身经历,去年我的测试组两个人对应开发组五个人,项目经理三个人的工作量,去年做了好几个Release,Hotfix只有两三个。我们旁边的测试组七八个人对应五六个Dev. 他们又是自动化,又是搞程序覆盖率,好不热闹,Hotfix 也不少。按一个人的人工成本12万美元,我们组省至少三个人的成本36万美元。

作者自己在自动化中出现了很多问题之后,并不是积极地想办法去解决这些问题,而是消极地放弃了自动化测试,实在是令人感到可惜。要知道,发现问题是最能提高人的能力的时候,你把这些问题解决了,你的水平,能力,经验就相应的得到了提高。并且,作者从一个极端走到另一个极端以后,就想方设法找一些证据来支持自己的观点。比如,通过微软员工的blog。一个员工blog里的观点能证明什么呢?你有没有去问过windows 测试组对WTT的观点呢?别人一说,你就相信?可以看出作者不是一个严谨的人,吸收东西总是从自己的思想角度出发,而没有经过验证。作者在自动化过程受到挫折后,竟然与当今测试的发展背道而驰,实在是令人费解。

作者的问题是,一个复杂自动化框架值不值得去做?如果不做自动化,能不能达到同样效果。从这里我们又一次看到了作者走了极端。复杂的自动化不值得做,就要抛弃自动化。首先,我不想辩论到底什么是复杂的自动化,是它本身复杂,还是你自己给搞复杂了。这里我假设,它不值得做。可是,这样就抛弃自动化吗?我的问题是,如果复杂的自动化不值得做,那么相对简单的自动化值不值得做?合理的自动化值不值得做?是不是一定就要抛弃自动化?接下来,作者用自己的经历来说明,自动化没有必要,并且和其他的team进行了比较。从数据上看,好像自动化测试真的不如他的手工测试。我想这种比较意义不大,因为我可以给你举出更多的例子,自动化比手工测试效果好。并且,你hotfix少也不能说明什么,说不定你要用合理的自动化,都没有hotfix呢。别人如果不用自动化,hotfix更多呢。产品不一样,都很难进行公平比较。另外,既然公司给他们配备了更多的测试,本身就说明了其他组的项目复杂度比较高。你们少的测试,说明了复杂度比较低。最后质疑一下工资成本,12万美金的年薪?你真有那么多吗?如果是的话,也不代表普遍的测试人员的工资。不知道你这个数字从何而来?如果你拿着这么高的年薪而不能搞定自动化的一些基本问题,那么我还有点为你担心了。

[ 本帖最后由 cleverman 于 2007-7-17 09:40 编辑 ]

cleverman 发表于 2007-7-17 04:53:05

(驳斥)迷信自动化是测试人员的误区 (3)

第一,不要指望自动化能帮你找bug. 软件bug和生物的bug很像,测试的规律是bug少的地方bug越少,bug多地方越找越多。做测试自动化,往往在开发自动化的时候,该发现的bug就发现了。自动化开发完成,再想发现更多bug就很难了。这是无论你怎样跑你的自动化,也不会发现新的bug.

我承认大部分的bug都是通过手工测试来找到的,我也相信很少会有人把找bug完全依赖于自动化。可是,你也提到了,在开发自动化的过程中,该发现的bug就发现了。这也就是说,如果没有开发自动化,这些bug还未必能被发现。这里边的意思就是,自动化开发完了,可能找不到什么bug,可是在开发过程中还是对找bug做出了贡献。我们总是说要注重过程,因此从过程来说,自动化对找bug还是有它的必要性.对于作者后面的问题,我得先说说什么是自动化测试的目的了(在找bug方面).我们知道,很多模块是要跟其他模块来合作工作的,即使你自己的模块没有任何变动,也有可能因为其他模块的变动被fail掉。比如最近的Norton的问题。Windows的update引致了Norton的误报。因此,自动化测试的非常重要的一个目的就是保证没有regression的问题。也就是说,我们不指望automation找到新的bug,可是以前能够work的一定要保证继续work。我工作过不少公司,很多产品都是一天一个build,请问没有automation的话,你怎么能够手工的运行一遍你的case呢?而且,每天运行一遍的话,你烦不烦呢?

还有就是,作者说的不会发现新的bug还是太绝对了。我的自动化可是发现了不少新bug呢。有的是因为开发人员改动代码造成的,有的是因为其他team的模块发生变动造成的。有的是测试工具本身的bug造成的。总之这种各样,并且每种问题,我都是要报bug的。最后,无论对自己的team还是其他的team都做出了自动化测试的贡献。


第二,不要指望自动化对Regression Test的测试的贡献。软件的特点是如果一次做对了,以后永远不会出错。当程序出现变动时,只要针对变动的部分测试就可以了,以前测过的东西,如果和变动没有关联就不会出错。相反如果,程序出现很大变化,自动化可能完全不能用了。

我想这种观点也不需要我反驳了吧?任何有个有一定测试经验的人很难说出这种话来。这里边每一句话都是错的,如果有人提出不明白,我再来解释。这里我假设大家都清楚怎么回事。


第三,自动化不如测试工具加手工测试。我不建议测试人员作全面自动化,相反我建议测试人员多做小巧灵活的测试工具。自动化往往需要自动判Pass或Fail.想想你如果测试用于生成www.microsoft.com的页面的产品,你如何判断页面框架生成的正确?很多东西是动态产生的,你很难确认所有的内容的正确性。如果你自己用这个产品手工做个页面,用肉眼很容易判断所有相关和不相关的内容生成的正确性。我就是用这个方法在工作中发现了网页上谁也想不到的bug, 如果用自动化很难在测试阶段发现这个bug.

又一次以一个例子引申到整体自动化。可能你的这个例子没有什么问题,可是根据这个例子,我实在不能得出自动化不如测试工具加手工测试的结论。还有就是多做小巧灵活的测试工具?这个最好能具体谈谈。什么是多做?什么是小巧?什么是灵活?作者从一个自动化工程师发展到现在用肉眼来测网页,还拿着12万美金的年薪,我实在是怀疑作者的测试发展轨迹了。这个工资应该是很senior的了,怎么还在肉眼测网页呢?这种工作在google是最低级的。都是合同工来做,根本不可能那么高人工。


第四,软件项目的生命周期就定了自动化的无用。现在很多网络应用项目的生命周期都很短,一个项目从生到死不过两三年。死的定义是项目进入Sustain Engineering维持状态。自动化原来的一个主要目的是使软件测试的未来阶段越来越容易,成本越来越低。可是当一个项目死掉了,自动化还有什么用。而且最新的敏捷开发,软件的要求,程序,接口,界面在不断变化,自动化怎么可能跟得上变化。与其去搞自动化,不如多理解变化,直接测试变化的东西。

又一次从网络应用的生命周期短,引申到了整个的软件项目。windows存活多少年了?Office多少年了?有没有死掉?就算是网络应用,Google Search多少年了?有没有死掉?Google的界面这么多年变化也不大吧?可能你做了一些项目很快死掉,但是不能代表整个的软件行业。软件的要求,程序,接口,界面在不断变化?我真怀疑当初是怎么设计的?如果这样的话,你手工也没法测。这个问题好像不是自动化测试的问题,而是产品设计的问题吧?

[ 本帖最后由 cleverman 于 2007-7-17 09:41 编辑 ]

cleverman 发表于 2007-7-17 05:16:02

(驳斥)迷信自动化是测试人员的误区 (4)

第一,测试人员的自信心可以建立在读程序的能力上。在一个项目中,开发人员的工作是研究新技术,写出最好的程序。测试人员应该在开发人员研究的基础之上,更好的理解新技术,读懂程序。看懂程序可以使测试工作非常高效。不懂内部程序的人,可能会设计三十个test cases, 才能找到一个bug.懂程序的人每个test case都可能发现一个或多个bug.我有30%的bug都是读程序读出来的。由于对开发人员的程序有很深的理解,即使release后出了问题,也能很快理解问题出在什么地方,是否是bug.

读程序也算是测试人员的一个基本技能了.可是没有任何理由说读程序就能代替自动化测试呀.我承认读程序是一个非常好的测试方法,可是我们更需要其他好的方法来对软件进行全面的测试.自动化测试难道不是其中一种吗?通过一种测试方法来贬低另外一种,不是很客观和有意义.


第二,测试人员写测试程序的时间应该尽量最小化。测试人员测试的时间分配应该是, 30%读程序,20%写测试程序,50%写Test Cases和运行Test Cases. 好的测试员的工作重点应该放在理解要求,理解客户需要,思考在什么条件下程序会出错,而不是思考如何去自动化。如果时间都放在设计自动化上了,必然会影响测试,分散测试资源。测试人员应该边读程序边测试,读程序帮助找到好的Test Case,测试帮助验证理解和猜测。

我们今天的主题本来是在讨论自动化测试方面,你现在却跳到了白盒测试方面。我想白盒测试可以单独作为一个topic来讨论。还是那句话,用一种测试方法来贬低另外一种,没有意义,也没有说服性。毕竟大家搞自动化大多数都是从黑盒测试的角度出发的。


第三,测试人员要学会讨价还价。很多时候项目经理,开发人员搞得东西不是客户马上需要的,或许是永远用不到的。测试人员可以和项目经理研究先测什么,后测什么,那些不测。比如,我做的一个项目,我发现30%的功能是现在用处不大,所以我直接告诉项目经理那些东西我不会去测的。事实证明,这样做节省了很多人力。

这不是偷工减料吗?用户不用为什么还要设计呢,还要实现呢?你应该在设计阶段就进行质疑。对用户的需求方面是项目经理的责任。你的目的是监督项目经理的工作。如果你认为这些东西没用,应该在设计阶段就cut掉。而不是等到测试阶段才发现,并且不进行测试。你现在没有节约成本,你浪费了很多pm和dev的时间,加大了他们的成本开销。你现在是拿PM的错误来跟他们讨价还价,他们也没办法。但是,作为一个优秀得测试人员,最好的办法还是应该在设计阶段发现这些问题。还有就是,既然已经实现了,如果你不进行测试,里边的风险是很大的,是绝对的不应该的。这里我不想多讲,因为道理还是很简单的。如果有人不明白我再解释?


第四,测试人员要多花时间参与设计。测试人员一定要紧跟项目经理和开发人员的要求变化和设计。理解每一个要求的影响。在每个项目周期中,去比较当前版本和以前版本的所有程序变化。重点测试变化。
总之,少做自动化,多写小工具,读懂程序,是高效省钱的测试方法,除非你钱多得没地方花。下次有谁建议搞什么测试自动化构架,告诉他"That is bullshit".

不想多说了,自己自动化不行,别说脏话。你要是参与了设计,怎么还出现了第三里面的问题呢?

最后想说的是,这个作者的观点绝对不代表着微软的观点。作为前辈传授经验是好事,不过千万不要误导。作为晚辈学习前辈的经验也不要全盘接受,要学会思考,有自己的理解和idea。

[ 本帖最后由 cleverman 于 2007-7-17 09:42 编辑 ]

刘洪鹏 发表于 2007-7-17 08:13:12

支持一下

luming 发表于 2007-7-17 09:10:56

看着很乱,最好给出原帖地址,或者把格式整理一下。

shanxi 发表于 2007-7-17 09:19:51

作者说的还是有道理的。
只不过观点有些偏激,有些以偏盖全,以他自己所做的项目得出自动化效果不大的结论,自动化带来效果的好坏跟项目背景有很大关系,不是所有项目做自动化都能做出很好的效果。

他其实并没有否认自动化的好处,只是在着重强调不要“迷信自动化”。

微软的项目有时确实会出现这样的问题,因为面大组织有些官僚化有时会导致投入不够。

微软某些项目的自动化发现不了Issue是有的:比如某个做了两年多的项目只发现了1个Bug。

cleverman 发表于 2007-7-17 09:30:22

原帖由 luming 于 2007-7-17 09:10 发表 http://bbs.51testing.com/images/common/back.gif
看着很乱,最好给出原帖地址,或者把格式整理一下。

http://peking2toronto.spaces.live.com/

这里看着会好些。我是直接copy过来的。

cleverman 发表于 2007-7-17 09:33:02

他其实并没有否认自动化的好处,只是在着重强调不要“迷信自动化”。

我到没看出来。他说自动化是bullshit。原话是

下次有谁建议搞什么测试自动化构架,告诉他"That is bullshit".

wuyuzimu 发表于 2007-7-17 10:32:29

感觉有那么点震撼。。。。呵呵

luffy2095 发表于 2007-7-17 10:38:41

没有全部看完,没有站在同一位置的探讨,没有火花,只有摩擦。

zgslhyh 发表于 2007-7-17 15:39:42

最近刚听了MS的培训   自动化测试最大价值是预防缺陷测试的最高境界就是不让BUG出现

在程序员写代码时提供白盒测试工具   使得程序员无法写出简单的BUG

在程序员提交代码时提供功能测试工具 使得程序员无法提交有功能错误的BUG

所以MS的缺陷管理系统里已经大部分都是UI 易用性 兼容性 性能方面的BUG   

一般的BUG根本无法到达产品库中

当然这一切都建立在详细详尽的需求文档上,只有这样才能在代码完成前,就由测试开发人员写好测试工具。

cleverman 发表于 2007-7-17 16:33:38

我不太同意

自动化测试怎么能预防缺陷呢?自动化的开发一般是在产品基本成型或者已经成型之后才开始进行的。这个阶段bug已经存在与产品中了。
测试的最高境界是不让bug出现?这好像是开发的最高境界吧?测试的最高境界应该是在产品release之前找到所有的bug。
程序员写代码的阶段测试人员是involve不进去的。开发人员写的代码每天都在变动,而且根本就不check in。你要想得到要单独去程程序员要,而且,这个时期代码的变动极大,根本不值得去进行白盒测试。再说了,就算你去进行白盒测试,就能让程序员无法写出简单的bug?只能说发现程序员写出的简单bug吧?毕竟程序不是测试人员写的。
程序员提交代码时提供功能测试工具,使得无法提交有功能错误的bug?提交的时候,bug都已经在那里了,你在怎么提供测试工具,在怎么测试,怎么能说无法提交有功能错误的bug呢?
一般的bug根本无法到达产品库?什么算是一般的bug呢?Service Pack fix的那些算不算是一般的呢?我想现在你如果认真点,在windows里找到点一般的bug也不是太难吧?

cleverman 发表于 2007-7-17 16:41:22

还有就是MS的培训也不是很大不了的事情,没有必要全盘接受。
我的工作被要求参加MS的培训不少,我都是签个到就走人。培训因为是针对大家的,因此都会讲得比较泛泛。
工作中能够用到的有能有多少呢?

zgslhyh 发表于 2007-7-17 17:21:55

。。。没说完全避免啊,能避免掉大部分低级错误已经很了不起了

这里说的不出现BUG是指BUG不出现在缺陷库里,保证在Checkin之后没有一般性的BUG

BUG在Checkin后被测试人员发现,再到缺陷系统,1套走下来,改BUG的成本,远远高于在CheckIn之前。

听起来这样预防缺陷,好象很不可思意,但是MS确实办到了

连UI都是自动化测试的,并且不是一般自动化测试工具那样慢慢等界面然后1个1个点,而是深入程序内部的直接发送消息事件,UI的图象生成速度都不及测试工具处理速度。

这就是顶尖软件公司的实力

PS:MS 测试开发工程师待遇是开发工程师的2倍

[ 本帖最后由 zgslhyh 于 2007-7-17 17:30 编辑 ]

shanxi 发表于 2007-7-17 18:10:20

原帖由 zgslhyh 于 2007-7-17 17:21 发表 http://bbs.51testing.com/images/common/back.gif
MS 测试开发工程师待遇是开发工程师的2倍

这话不正确,得看项目。

cleverman 发表于 2007-7-18 03:02:50

原帖由 zgslhyh 于 2007-7-17 17:21 发表 http://bbs.51testing.com/images/common/back.gif
。。。没说完全避免啊,能避免掉大部分低级错误已经很了不起了

这里说的不出现BUG是指BUG不出现在缺陷库里,保证在Checkin之后没有一般性的BUG

BUG在Checkin后被测试人员发现,再到缺陷系统,1套走下来, ...

我觉得你被忽悠了。
微软的测试是很强,可也并不是神话。

cleverman 发表于 2007-7-18 03:19:18

原帖由 shanxi 于 2007-7-17 18:10 发表 http://bbs.51testing.com/images/common/back.gif


这话不正确,得看项目。

有项目,测试是开发工资的两倍吗?
虽然微软很重视测试,可是总的来说,测试的地位还是比不上开发。这也是为什么有人从测试转到开发(而且是很多人),没人从开发转到测试(能力差者除外)。
待遇来说,都是看级别的。同级别应该差不多,不过开发可以发展到的级别要超过了测试。也就是说,最终开发的待遇应该更高。
不过,测试发展的速度相对来说会快些,也就是说同样毕业的,过两年测试的可能比开发的工资高,可是过五年,或者更长来看,开发就超过测试了。
这也是为什么测试发展到一定程度,如果不往管理走,就要往开发走了。因为,测试发展很快就倒头了。当然也有能力一般者,在测试这个位子多年都还没倒头的。

微软的职位从好坏来分是PM〉Dev〉Test。这也是为什么,PM主要是白人,Dev主要是印度人,Test主要是中国人的原因了。当然了,印度人每种职位人都不少,test也不少,PM也有一些。可是中国人PM明显就没几个,大部分都是Test。如果Test好,白人干吗不抢着做呢?工资还是两倍?

我们从事测试行业也要承认事实和现状,不要一味的听到有利于测试的消息就无条件的吸收。总是用各种信息来证明测试比开发不差,甚至好是不对的。如果硬要比较,肯定是开发比测试地位高,待遇好。可是特例也总是有的。比如,微软的测试,确实比一般公司的开发水平要高。你如果横向比,也可以比较出微软的测试工资是一些公司开发人员的两倍。可是,这没有什么意义。

zgslhyh 发表于 2007-7-18 09:12:50

我说的是中国微软工程院的情况,是做EXCHANGE2007的项目组

当然EXCHANGE相对MS其他的产品要简单一些,所以自动化测试可以达到99.9%

我不认为WINDOWS也可以这样搞 但是OFFICE也是可以的

shanxi 发表于 2007-7-18 10:40:47

微软的PM中中国人也相当多,特别是Redmond的中国人不少

但印度做英语版本的开发测试是已经形成的事实。

EXCHANGE和OFFICE这些MS自己产品Team的测试确实已经完全能覆盖所有功能

Windows的Sub Team也应该实现了完全的覆盖。
页: [1] 2 3
查看完整版本: (驳斥)迷信自动化是测试人员的误区 (1)