我眼中的测试高手(测试架构师)

我眼中的测试高手(测试架构师)

1.概述

    既然是写我眼中的测试高手,得先容我作一下自我介绍,让你们了解一下我的背景。介绍前再啰嗦一句:是我眼中的测试高手,不一定对,如果有不对的地方,请多多包涵。我有 8 年以上工作经验,其间前 5 年在开发部做开发,后 3年在测试部当经理。做过以下工作:写代码,软件设计,项目管理,性能测试(数据库性能监测及优化、前端性能测试),自动化测试工程师,设计、执行测试用例、项目部署(数据库高可用性)。这几年工作的时间基本都分配在测试和开发上,所以有一些想法。

    介绍我之后,再介绍一下写这篇文章的目的:让中国的测试工程师找到方向 ,提升信心,努力学习。呵呵,说大了,还是先提升我自己带的这帮人水平吧。有人说测试工程师找不到方向,不至于吧!我先表态,我了解的测试工程师,及面试有几年工作经验的测试工程师(至少上百人吧),我觉得他们还没有找到方向。如果你已经找到了方向,并且有兴趣看下去的话,可以做一下比较,顺便也给我提提建议,我洗耳恭听。

    再阐述一点,我眼中的测试高手,不代表我能做到,是我努力的方向。

    介绍一下题目“我眼中的测试高手(测试架构师)”,测试高手是不是测试架构师,我是这么想的。现在网上对测试架构师理解不一样,很多人理解测试架构师只搞搞自动化、性能测试,我觉得这只是其中一部分,具体如下:

2. 测试工程师工作目标什么?

    不管是高手,还是刚入门的,所有测试工程师的工作目标是一致的:在有限的人力资源、时间下保证产品质量,增加公司的竞争力。要注意是“在有限的人力资源、时间下保证产品质量”,这也是高手、入门者的区别。当下次准备跟经理抱怨资源不够时,先想一想有什么方法提高测试效率,制定的测试策略有没有什么问题。记住高手就在这些细节中跟别人不一样。保证产品质量,不是说项目发布后一个缺陷都找不到,而是要使用客户很难找到。客户满意了,就认可产品 ,慢慢就认可公司。

3. 测试高手——业务(( 客户))

a)从测试目标可以知道了解客户是多么的重要,有很多人开始要跟我抱怨了,测试一般都接触不到客户,怎么办。我先介绍几个地方可以去了解

的:

    � 客户在使用软件后的一些反馈问题,千万不要简单的去看看,要深层次的去看,去分析。比如:造成这个缺陷,这是他的工作习惯,还是他的

误操作。

    � 还有和客服人员多交流,客户抱怨产品哪些地方不好用。这是我一直想做的,测试人员去做一下客服,客服来做一下测试。

    � 了解公司同类产品。同类产品有可能是同一批人使用。

    � 了解项目立项的背景及可以带客户带来什么价值。

b) 多学习公司的业务知识,可以提升自己的表达能力、影响力。比如我们公司是做电力概预算软件。

    � 电力概预算软件相关知识你得会,和需求人员沟通,他们可能学的不是计算机,说的都是专业术语,那你可能就听不懂。

    � 要善于记住这些专业词语,你第一次听不懂,人家会跟你说,第二次还不会,就没有人愿意跟你说了。

    � 如果你能在一些评审会用专业术语去跟他们沟通,很多人会对你刮目相看。

4. 测试高手——过程管理

    保证产品质量,不是光靠测试人员努力就够的,而是要靠整个研发团队努力。在测试部成立初期,只要是有很多客户反馈问题过来,很多人都认为测试的错。很多人指客服、销售人员、项目经理,甚至公司领导,当别人不理解你的时候,你的压力很大。没有办法,谁叫你要做测试,默默承受吧!呵呵,也太不像我的风格了。我们来分析一下,为什么会造成这种情况了。是由于测试部刚创立,大家对测试就会有期望,还有大家对整个研发过程不太了解。

    整个研发过程,包括需求分析、概要设计、详细设计、编写代码、单元测试、系统测试,层层相扣,如果需求没有做好,会导致开发、测试重复做很多工作,过程管理多么的重要。我看到淘宝测试团队的一篇文章,大概意思是现测试人员很难去找一些深层次的缺陷,都是停留在一下表面的缺陷。我是这样理解的,表面的缺陷是开发人员产生的,深层次的缺陷是设计人员、需求人员产生的。

    过程管理有 iso9001、CMMI、RUP、敏捷开发等相关方法,但由于我们很多项  目经理对这些有很少研究。别人我们无法抱怨,那测试可以研究一下,辅助项目经理做好相应的工作,如果能力上去了,可以淘汰这些项目经理。

5. 测试高手——管理

    我大概 2007-2009 年样子,觉得管理很重要,看了很多书,但现在很多都忘了,现在有点想法,认真看三本以内经典的书,多了都不看。像我这种,天天对电脑,很多地方都没有别人更适合做管理,这点我还是很清楚的。我们属于技术型领导,不需要太迷恋管理,还是去迷恋技术吧。不过下面也说几点:

    a) 了解公司的企业文化、领导的管理方式这点非常重要,比如公司领导喜欢员工做什么、不喜欢做什么。比如我们公司注重诚信,如果你违反了,那你就会被淘汰。

    b) 在合适的时间给自己的团队加入合适的人说简单一点,测试有很多的工作要做,刚成立,公司不可能给你很多人,比如性能测试工程师、自动化测试工程师、测试开发工程师。但当公司的规模不在壮大,那就可以慢慢考虑增加相应的岗位。选人也很重要,否则你会累死。刚做组长,当时就觉得什么人都想带一带,都觉得有能力把他带好。现在不是这样,如果觉得他不合适,我会早点告诉他,让他离开,否则害人害己。每个人都有自己的想法,且大多数人的想法是很难改变的。

    c)在合适的地方说合适的话这个地方我做得最不好,以后要努力。比如在测试人员面前,尽力少批评测试组长。尊重他很重要,尤其技术人员,都爱面子。

    d) 给还没有做测试组长、经理的话如果你还不是测试组长、经理,那就继续努力,但在工作中可以朝这几块去努力:多站在测试组长、经理的角度想问题;多和测试组长、经理交流,看他们有什么烦恼、好的思路;再想想有什么地方可以帮测试组长、经理的。这里有一个地方要注意的,如果你的思想和测试组长、经理有不一致的地方,可以把你不同的想法和他们分享,如果还有不一样的地方,千万不要再去说,去顶。每个人站的位置不一样,想法肯定也不一样 ,回去后多想一想。当领导有时真的很寂寞,很痛苦,有的时候他也是想找一个倾听者.

6. 测试高手——英语

    我的英语一般,基本不会去主动看英文的文章,除非技术贴,一般也是挑着看,这一点以后要加强。大家都知道国外很重视测试,也知道国外的测试人员和开发人员比例:2:1,但没有去了解是怎么回事。我在很多地方说过,测试人员之所以多,不单是手工测试人员,还是测试开发人员、性能测试人员、安全测试人员等等。国外的一些先进的测试思路、理念我们得去学。

7. 测试高手——开发

    过程管理说过我们找不到深层次的缺陷,原因是什么?最主要原因对开发不了解。很多人会误读我的意思,那就是写要去代码了。怎么说了,还是

继续往下看吧。我介绍一下不会写代码的怎么去接触相关开发知识:

a) 学会跟开发做朋友和开发做朋友,后面的工作就好做了。

    但做朋友,不是叫你放弃原则。昨天看到“美国喜欢中国丑女的背后原因”,摘抄如下:美国人的审美重视主要不是人的外貌,而是人的个性:开朗健康,自信有活力。比如安吉娜——朱丽的五官长得并不符合传统的美女标准,但她敢作敢为,很有性格,美国人崇拜这样的人物。

b) 了解缺陷的原因

    我们天天都找到很多缺陷,有多少的人愿意再多花时间了解其发生的原因呢?很多人不会,会有人说开发人员太忙了。有的人会和项目经理、开发组长沟通,测试了解缺陷原因的背后,可以提升产品质量。要求开发每解决一个缺陷,在缺陷管理系统中增加注解。一天完成之后,自己想一想,今天多少缺陷是我碰到的?自己根本没有想过这样测试,会发生缺陷。随着你的了解的缺陷发生的原因,你的测试思路会更广 。

c)部署系统

    很多人会想,部署系统那是开发人员、项目实施(部署)人员的事。事实上部署系统可以让你更深入去了解系统内部,可以找出更多的缺陷。我做过一次大型系统的部署,发现有一些很潜在的一些缺陷,回到公司后,开始提倡要做部署测试。

d) 多参加概要设计评审

    面试过一些有经验的人,问参加过概要设计评审,学到什么吗?参加过,但好像没有学到什么,他们讲的,我没有听懂。评审后也没有去了解,认为那是开发人员的事。给大家再一个建议,从今天开始,如果再去参加概要设计评审会,把在会上听到很熟悉但又不理解的一个词,记下来去网上搜索一下,如果搞懂了 ,再去跟开发人员交流。

e) 学习写一点代码

    写到这一点,我是最怕的。很多人很冲动,听说要写代码,那抓紧换工作,去做开发。写一点代码,不一定是工作,可以回家学习。前几天在和老婆交流,以后小孩要学什么?我觉得要学开发。没有办法,谁叫老爸会开发,呵呵,开玩笑的了。学开发,可以更让你更理解一下东西。有一些人说,我一写代码就头痛,没有关系,那就多和开发兄弟多沟通吧。如果是女的,就找一个开发人员的做老公吧。

8. 测试高手——自动化测试

    自动化测试技术包括功能自动化测试、性能测试、稳定性测试、安全性测试 ,我的理解是可以通过工具完成的一些测试。我觉得高手如果能掌握这些技术当然最好,但是如果有一定的难度,毕竟术有专攻,则需要了解这些工具能帮解决什么问题,及怎么配合这些人做事。

    在概述里,我介绍到很多人把测试架构师认为就是做这些事。国内很多公司也对这些的工作的要求也不是很清楚。从事这些工作的,一般都是有几年测试经验的,或者开发做不了、来做测试的,其实要做这些工作对开发经验要非常丰富 ,或者至少要有一个来带。确实是,很多人找工作时,会一点录制脚本,都敢写精通性能测试、自动化测试。我会数据库(mssql、oracle)性 能 调 优 、LoadRunner、Jmeter等技术,但我不敢说我精通。会录制脚本真的很简单,算入门吧。一般我可以让一个人会录制脚本二天搞定。

    我曾看到那个人写的博客,说很多老板不敢把优秀的开发人才放到测试,没有那个魄力。我认为国内这个形状,没有办法改变,还是来谈谈自己的想法吧:

a) 功能自动化测试

    � 要学会 QTP 等工具;

    � 要了解 QTP 工作原理及 QTP 核心技术:识别控件。QTP 在识别非标准控件有问题,用坐标来定位,移植性非常不好。这时候就要加深

对 ATL、COM、DLL 等相关技术学习。

    � QTP 是很贵的,在合适的时候要采用开源的自动化测试工具。

    � 在有一些业务测试上,我建议自己开发测试工具,或者调用开发写的 DLL 二次开发。

b) 性能测试

    现在测试论坛聊得最火的就是性能测试。要做性能测试我觉得可以从下以几个地方努力:

    � 通过部署系统、概要设计的了解,知道开发使用了哪些技术,哪些技术会影响性能。比如开发使用了缓存技术,那对服务器就没有什

么压力了。

    � 学习使用 ASP.net、php 等开发语言开发一个简单的网站。有一些东西光靠开发人员跟你讲,可能很难明白的。如果还有兴趣,可以使

用一些小工具 Charles、Yslow、fireBug 更深层次去了解 http 通信原理。

    � 所有数据都存储在数据库里,读写数据都是对数据库进行操作,所以要学习数据库知识,知道什么情况导致数据库会慢。

    � 业务层在应用服务器(tomcat、iis、weblogic)运行。所以对其了解非常有必要。甚至对应用服务器的优化,都可以大大提升性能

9. 总结

作为测试工程师,测试理论知识、缺陷管理规范、测试流程、设计及编写测试用例这些都是必备的技能,测试工程师在工作中都需要做这些工作,

我在这篇文章就暂不多说了。

有兴趣可以一起交流,请加我 QQ:147642651

你可能感兴趣的:(我眼中的测试高手(测试架构师))