测试工做心得

51cto和CSDN旗下 水之真谛出品,欢迎访问 [url]http://liutiemeng.blog.51cto.com[/url]
小序:
        干测试也有一年多了,偶尔也会静下心来思考一些问题,但不少思考的结果都似灵光一现——事后就忘掉了,实在惋惜,之后就记在这里吧。
正文:
技术类思考
  1. 软件工程的任何一个部分——从需求分析、架构设计到最后的Debug——都能引入Bug,有时候是单个引入,而有时候则是一窝一窝地引入。因此,优秀的测试员理应掌握丰富的软件工程知识。很难想象一个不懂材料力学和结构力学的工程师可以验收刚刚建好的大厦。
  2. 测试员不但须要学习编程,并且须要学习各类编程。初级测试员能够站在用户的角度上去观测和使用软件,以期找出Bug所在,但高级程序员更须要借助程序的原理来剖析更深入的东西。绝不夸张地说:若是想深度测试Web程序,你应该学学Hacker;若是想研究.NET的程序,你应该学会MSIL;若是想深度Debug原生代码,你应该学习汇编、了解PE文件格式;若是想深度测试软件的安全性,你应该学学破解;若是……总之,理想的测试员应该比程序员更深一个层次。
  3. 保持对软件的喜欢和热情。小到FlashGet大到3DS Max,若是有机会都要上手玩一玩。这样作好处多多,一来能够丰富你的软件使用经验、无形中创建你对软件逻辑的把握;二来丰富你的行业软件知识,好比你让一个长期测Outlook的人去测Photoshop,那测试出来的结果确定和一个长期使用Photoshop做图的人测出来的结果相去甚远。
  4. 深刻理解操做系统,包括Windows系列(包括.NET平台也能够理解为是操做系统的一部分),Linux系列(JDK算是操做系统的一部分),Macintoch系列。一来,软件其实就是扎根在操做系统上的树木和花花草草(经过系统开放给程序员的API与系统血脉相连);二来,不少软件是跨平台的,要求你有丰富的多平台操做经验才能玩转,好比Adobe公司的不少优秀产品就是跨Windows和Mac平台的,这两个平台的API彻底不一样,为何软件“看上去”却如出一辙呢?再好比IBM公司的不少产品是跨Windows和Linux平台的等等。
 
行为类思考
  1. 软件测试不是万能的,因此测试员也不是万能的。测试员不是救世主。这至少说明两个问题:一,一个设计很烂、编码很烂的软件,你再怎么测试它也成不了优秀的软件。二,测试员(或者说软件质量保证人员)没有权利在团队里趾高气扬、四处挥动粘满Bug的大棒以图经过测试结果证实本身的英明神武——你们都是平等的。平等的观念在中国人的思想中尤为缺少,特别要注意。
  2. 测试员应该是一个冥想者。因此,测试团队应该有一间独立的,安静的,没有计算机的屋子,以供进行深度而缜密的思考。
 
管理类思考
  1. 不要不懂装懂。你不懂不会,不足以让组员瞧不起你;你不懂装懂,全部组员都会瞧不起你。管理就是管理,是把项目作好,不是让你练擒拿格斗,必定要制服组员。敢于上问、不耻下问,快速学习,这才是团队学习之道。
  2. 做为Lead,若是没什么重要事情,到点就走人——否则你的组员会碍于面子而陪着你。你有没有想过他还有可能要陪父母、妻子和儿女呢?若是你常常这么干,建议你看一看《二十美圆的故事》这则小寓言。
  3. 要作权威,不要作学霸。我想说的是:下属进谏的速度和广度决定于你的心胸与宽容度。正由于大多数初级管理人员心胸狭窄、宽容度低,才致使了团队习惯性的“绝对上下一致”。据我所知,印度程序不是这样的风格,属下和领导、新手和权威能够心平气和地讨论分歧而没必要面红耳赤。个人建议是:在团队中,不要等级观念,要平等;不要讽刺刻薄,要尊重;不要放不下架子,要宽容;不要目中无人,要谦虚。总之一句话:你们都是普通人,谁能跟谁差哪儿去呢? 
相关文章
相关标签/搜索