三年软件测试总结记

发表于:2012-7-03 11:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:testor2012    来源:51Testing软件测试博客

  再过半个月,我从事测试行业已经三年了。三年的时间,不长不短,但对一个曾经青涩的人来讲,这样的时间足够了。将这三年的工作大致划分一下,在同一家公司,做过了三个不同性质的工作: 性能测试自动化测试项目管理。最近在分析这样的一段测试过程的利弊。优势是对测试过程认识的更加清晰;一个项目如何运作,什么时候让自动化介入,自动化的ROI有大;如何调整版本整体的测试策略。最重要的是我认识到自己身上的诸多问题。但劣势也是显而易见的,积累和沉淀得东西太少;再次求职的筹码太少。

  我一直自诩是一名测试开发人员,因为我大学做了2年的码农和一些项目工作,所以对开发的流程运作有些许了解。但很可惜,现在编码能力已经退化了很多。但如果现在让我去写代码和刚毕业那会写代码,估计质量差距很大吧。为什么?在中国,一个程序员掌握一门语言大概需要3个月,但测试呢?需要更长的时间积累。再让我去写代码,估计异常、可靠性、单元测试等会做得更好,因为搞一份质量很烂的代码,估计会被测试同学的唾沫星淹死的。

  刚踏入测试这行,因为我师傅是我们公司的大牛级人物,所以想着自己以后要是这样也不错。我曾经有一个很伟大的想法“终有一天,我要指导开发开展工作”。在这三年的时间中,在部分项目中的确也迈出了一小步,但离我的伟大梦想还是有一定距离的。

  既然三年的测试总结,就不得不讲讲测试人员和我从事的工作了。后面就在51上落户了,持续更新自己的博客,不为别的,只是作为自己积累的一个手段。

  测试人员

  测试人员定义是什么? 质量保证人员。这个回答似乎没有一点可挑剔的地方。但如果一个牛B的大师告诉我们:测试人员是一个项目多出的预算,属于项目的追加投入。不知各位如何来想?这位大师不是别人,正是质量大师克劳斯比。在他的<质量免费>中提出的“零缺陷、一次性将事情做好”都是非常重要的观点。

  其实大家也不必对这个定义耿耿于怀,因为这个是比较难做到的。因为测试人员的确是质量的一种保障手段。如何体现测试人员的价值呢?老生常谈,但不无道理。究竟我们的价值在哪?将高质量的产品交付给客户,让客户愿意为此买单,创造利润,这个是公司付我们薪水的原因,这个是我们测试的一个重要目标。但除此之外,我们个人呢?其实大家知道,做测试的重复性工作不可避免。如果在达成公司的目标之外,我们在产品测试周期内,做一些尝试,来让测试人员感受到成长,领略一下解决问题的成就感。其实测试中有很多难题悬而未决,如:如何缩小测试时间估算的误差、如何更好的评定测试质量、测试策略如何调整更合理等等。

  我目前遇到的测试人员分为这几类:一类是开发只负责编码,剩余的编译、查BUG由测试进行;一类是自己写测试代码进行测试;一类是自动化测试;但更多的是黑盒测试、灰盒测试。你当前所处的是哪类工作?这些工作其实并不是一成不变的,可能一个以黑盒测试为主,又有灰盒、白盒、自动化等作为辅助的公司。因为工作性质关系,我曾经观察过自己团队的人员,有一个类人的职业发展很好-----测试意识很好的同学。

  测试意识这个比较虚,但通过几件事情就可以初步定位一个人是否意识比较好。如:当出现问题时,是否总在找客观原因,尤其在面对绩效考核时;个人的时间规划是否合理;做事是否主动;对结果负责。如果当你遇到这样的人时,你一定要珍惜和培养这样的人。

  性能测试

  网上有很多关于性能测试的文章,关于性能测试人员应该掌握哪些技能;会使用哪些工具等等。性能测试的前提应该是掌握一定的专业技能,编程技能、需求挖掘技能等等。运用这些技能,要找到诸如这样的问题: 能找出整个系统或某个模块的性能瓶颈在哪?哪些情况下内存存在页面抖动?两张表做联合是否可以优化?某种算法的优缺点在哪,其最差的性能是什么情况下才会出现的?

  我个人认为作为性能测试人员还应该具备另一种技能“YY能力”,即:“大胆猜想,小心求证”。因为我们是一家网络设备生产厂商,所以根据个人的性能测试经验来看,出在异常情况下的性能问题是最多的。因为客户的拓扑千变万化,只能去多想一些拓扑和异常的数据包,对设计方案做逻辑推演;实际测试过程中,去验证猜想是否正确。因为自己也做过码农,知道开发同学的设计总是非常理想,可靠性与异常处理经常会比较差,所以一旦到相当变态的环境,就肯定会有问题。

  做性能测试你是否很“懒”呢?如果答案是肯定,恭喜你,你一定是个经常项办法处理问题的人。测试工作重复性很大,其实有一些工作是可以简化的。做测试太“勤快”了,其实不好,因为你从不停下脚步去想想哪些地方我可以抽象出来,并做改进。因为我们要监控的点太多,刚开始,我也一样每次都检查。在这种问题上浪费了很多时间,一下狠心,搞个自动监控的脚本,通过连接公司内部的mail系统,直接将异常发邮件给我。所以,很多“测试屌丝”过得很“苦逼”,完全是自己造成的。

  最后,啰嗦一句,做性能测试一定要及时积累。我搞了几年,猛然间才发现,积累太少,以至于自己的性能测试串不起来。幸好,我发现了这个问题,在弥补这种缺憾,这也是开这个博客的原因。最近看到刘博老师的一个观点“Think on paper”。将自己的观点或经验记录到纸上(当然可以是博客)上,如果自己有新的想法或认识,可以持续做更新。所以劝做性能测试的同学,请及时记录自己的测试过程。不仅对自己的知识是一种积累,而且更是对自己知识的梳理。

  管理人员:

  在这三年的时间,管理差不多搞了一年多。我至今记得老大告诉过我这样一句话“大家出来都不容易。说白了,你无非是个打工的。”这句话听着有点消极,其实他想要传递的是这样一个信息:做管理没什么了不起,只是工作性质不同而已。所以你必须虚心,因为你没有比别人高明多少,只是你的机遇比较好而已。当然,除过那些牛X的国企。

  大家都知道管理其实比较虚,你自己都可以想明白。所以之前的我是很不屑去看这些书籍的,因为我认为只要我懂得什么才是最重要的,我就会努力去做。最近因为工作关系,参加了若干培训,看了几本管理或感悟之类的,突然发现,之前的我完全是在闭门造车,人家总结的比我透彻,我只需要领悟和实践即可。看来,无知者无畏。

  写了三大部分,思维是跳跃的有点大了,如果很不幸你正在阅读本拙作,请见谅。

  这两天在看zee的故事,他在经历了6年的测试时间里,达到了一个令人无法企及的高度。寻着他的足迹,我发现了一个秘密: 他很喜欢总结,在繁忙中总是留给自己一部分时间来做记录。这和我本月一直做得系统化梳理差不多,只不过我仍停在梳理阶段,他已经疾步快走了。在想一个问题: 等我做测试工作6年的时候,我是一种什么状态?未来不可期,所以神秘。

  一切奇迹的出现必须要为其付出辛劳的汗水,这点我深信不疑,所以必须从现在开始改变自己。这三年的经验后面会慢慢梳理。下一个三年我会达到一个什么样的高度,值得期待!

版权声明:本文出自 testor2012 的51Testing软件测试博客:http://www.51testing.com/?524192

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • wjtest
    2012-7-30 18:05:23

    同意 依草佳人 的说法

  • lichunmei
    2012-7-26 15:30:59

    我一个刚刚踏入的新手,偶尔看到了这边文章,让我想起我活过的20多年,似乎从来没有想过总结,也会再会是现在的这种一事无成的状态,我 很喜欢测试,可是进了一个很不理想的公司,打了一个月酱油,我开始有种意识,就是去自我改进,有很多东西需要学习,深深吸引我的只是前方的梦想,一点不可以沉寂下去。在这条路上一点走下去。

  • amychen2011
    2012-7-25 15:02:33

    虚心学习中

  • wudamyw
    2012-7-23 18:05:55

    代码写完质量是已经决定,但没人知道状况,测试就是要对结果的质量状况作出客观评估,保证进入客户手中的产品符合质量标准。这就是软件质量保证,是对用户的保护。

  • testor2012
    2012-7-12 20:20:38

    我从来不认为质量是靠测试测试出来的。很赞同ttkk同学的观点,质量是开发造成的,我们只是协助他们找出影响质量的分析,但更多的是要开发做好质量工作。所以《质量免费》一书中讲到"测试人员是预算的增加"。换句话讲,如果开发一次性将质量做好,测试的这部分工作就可以被干掉了。
       现在我在团队中倡导将测试工作提前,在需求和设计做缺陷预防工作,无非就是让开发提高质量。

  • ZeroPo
    2012-7-11 14:41:31

    “在很多情况下,质量有问题,大家第一时间想到的是测试人员没做好,其实质量是需要一个团成员共同去保证的,从业务、设计、开发、测试到现场实施,每一个环节都做好了,才能最终交付一个合格的产品给用户”,这样说是没错的,可是人家第一时间想到的是测试人员有错吗?测试人员自己想过没有,从自身找过原因吗?其它先不要说,我感觉有问题从自身先找起,不要从大局给自己心安的理由。

  • lyscser
    2012-7-05 11:46:37

    ttkk兄弟你没仔细看这个兄弟的文章,人家没说测试人员是质量的保证,作者把测试定义为质量的度量和反馈的意图很明显我觉得。

    “所以,很多“测试屌丝”过得很“苦逼”,完全是自己造成的”,这句话我喜欢!

  • 依草佳人
    2012-7-05 10:47:15

    认同楼上的说法。
    在很多情况下,质量有问题,大家第一时间想到的是测试人员没做好,其实质量是需要一个团成员共同去保证的,从业务、设计、开发、测试到现场实施,每一个环节都做好了,才能最终交付一个合格的产品给用户。
    测试是提高质量,而非保证质量,如果保证质量落在测试人员身上,就如楼上所说,结果会有点糟糕,因为其他人员的质量意识就降低了。

  • tec2008
    2012-7-03 22:45:12

    测试是一门艺术。

  • meihuafang
    2012-7-03 20:44:12

    好文!

  • ttkk
    2012-7-03 19:39:54

    首先感谢你能够慷慨分享你三年的工作感受和经验,让大家能够互相学习。但是,我得纠正你(包括不少人)对测试人员的职责定位:测试人员不是质量的保证,而是提高质量,降低软件所带来的可能风险,较少风险带来的损失。对于质量保证不是测试人员独立能够做到的。

    目前不只是开发人员,管理人员甚至是测试人员都太容易把自已看作是质量的卫士了。但实际上,程序在提交到测试人员手上之前质量情况就已经被定义了,质量来源于做程序的人或小组,这些应该是开发组很重要的任务或者说负担。如果测试员自认为是项目团队中唯一关心质量的人,或者说大家认为质量是测试人员起的关键作用的话,那么测试人员保证质量结果就不会很好,甚至很糟糕。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号