提升软件测试工程师自身价值方法的一些思考

发表于:2012-12-27 11:58

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

 作者:shuhai    来源:TaoBao QA Team

  看了前面几位同事提的关于核心价值的文章,激发了写点东西的欲望,补充一线屌丝的思考。没试过写类似的文章,尝试一把。

  测感,精准定位,建立在良好的知识体系、丰富的实践经验的基础上的,当然有时候会加上一点点运气。对于出校门很久的同学们来说,如何维护自己的知识体系,有计划目的地积累实践经验,一直都是个难题。

  另一个问题是,没有一个公司的vision是:培养世界最优秀的xx人才——除了教育机构例如新东方厨师学校之类的。所以我们的问题会变成是:如何在工作中,顺利地维护自己的知识及经验体系,葆有竞争力?

  谈谈我对提升价值方法的一些思考,不是什么成功经验,只希望能给暂未找到路子的一线同学提供一些启发,虽然我认为在咱公司,这种人很少^^

  如何阅读

  我先讲讲我之前的一些不好的经验,

  1、知识积累不等于剪报。我曾经很热衷于收集各种信息,放到邮件里、evenote里,但实际经验是,收集完以后就再也没去看,等过几年一看,已经过时了。read it later经常变成read it never。我的看法是,趁新鲜,感觉读、理解、甚至可以做一些实验。我们得相信我们的大脑,大脑理解了以后,过一段时间可能细节会模糊,但pattern肯定会深深地印在你的脑海里,细节可以虽然用google唤醒。

  2、知识体系的构建需要靠啃教科书。这个到目前为止我还是认可这个观点,因为很遗憾我没有接受过计算机相关学科的教育,大学里跟计算机相关的唯一教程是教我们如何检索论文。但有个问题是,这对我们来说现实吗?我们有太多的理由让我们在一堆教科书前停步,一年能读下一门基本就是极限了,但问题来了,有那么多门学科等着我。幸好,经历告诉我们,知识体系的维护,啃教科书只是需要,不是必要。当我们解决完一个技术问题,如果多花1、2个小时,就可以对相关领域做一次知识探底,脱离山寨的重点不在于你能不能解决问题,而是你在解决问题后愿意付出多少。

  接下来给大家介绍一下在工作中读源码的几个方法,可以小试一下:)

  1、善用碎片时间。工作过程中不可能给你一段很长的时间去学习,除非休年假的时候。最富裕的碎片时间在哪里?当你看到一个陌生的类或方法时,果断戳下去,一层一层戳,至少看到完全是你熟悉的代码为止,如果一直都是陌生代码,我一般是戳到native那层位置。做这个一般只需要花你的1-3分钟,一天中你可能会戳个几回,你会发现一段时间后,你戳的时间慢慢地减短了。

  2、除非是你要测试的代码,或者跟你要测试的代码紧耦合,否则学习时别浪费太多时间在业务代码上,否则会出现两个重点:理解业务、学习实现,两个重点出现的时候,个人觉得最好还是拆开来学,比如花90%的时间理解业务,有些非关键的方法知道他是做什么的就可以了,不详细看他实现,然后再用,10%的时间再深入理解实现。

  3、我们可以多花时间在成熟框架的代码上。

  目前我感知的最成熟的JAVA代码是Java api。java api带给我们的不仅仅一堆好用的api,降低我们的开发成本,更重要的是,它同时也是我们身边的老师。今年有幸做过一点中间件的测试,在这些内部或外部的中间件的代码里,可以找到很多跟java api里一样的设计、实现。如果你花点时间进去,你可能会有两个感受,a、很多熟悉的代码,原来他里面的实现如此的精妙,赶紧抄到业务代码里;b、原来java还有这么牛x的东西,我/开发写的功能,如果用这个设计,得稳定多少。

  除此之外,外部、公司久经考验的项目的代码,也是我们学习的对象,不一一点名了,另外有一点要注意的是,当你的业务代码里,出现一个新的框架或工具时,读懂它,至少读懂你用的那些功能,这是飞苍必要的。

  4、说个小技巧,善用maven。虽然淘宝的源码是开放的,有需要的人随时可以拿到源码,但我觉得除非你想改代码,否则没必要co下项目代码。代替的方式是直接通过maven把source包搞下来看、调试。这样做有几个好处,1不需要申请空间权限(节约 5分钟-3小时),2不需要co(节约0-20分钟,视乎工程是否有文档啊图片啊各种坑爹的东西),3、不需要导入到idea(解决0-20分钟,视乎你的idea有多快)。

  测试,当你对某段代码,某个实现理解时有疑惑,又没有搜索到权威发布的时候,测试或者说实验绝对是让你了解真相最快的方式。

  测试时注意尽可能地将范围缩小,你期望地到什么结果,你得到这个结果最小的成本是什么?我是无法忍受我做一次实验要等着1分钟的build,1分钟服务启动。所以我经常放着几个空的工程,用来做实验。

  另外一个,System.out.printf不建议作为单元测试的方式,但在实验时,也是个不错的选择。

  归纳

  归纳有个一个小技巧,就是联想,或者说关联思考?联想有助于归纳你所学到的东西,并在需要的时候可以演绎出新的知识。联想同类型的业务的现实,可能一开始没有太多可以联想的,但时间长了会好的。

相关链接:

软件测试的核心价值是什么?

关于软件测试的核心价值

技术是软件测试人员的核心价值吗?

谈谈我理解的软件测试的核心价值

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

精彩评论

  • wangfantesting
    2013-1-21 12:46:08

    总结、叙述的不错,就是错别字多了点,嘿嘿!受用~

  • zhengbaohua
    2013-1-15 15:38:32

    没什么劲

  • grshrd49
    2013-1-09 11:33:58

    在写点什么,如果说是启发,前面还说的有点道理,如果是写给测试的你后面在写点什么

  • lulei1020
    2013-1-03 10:52:16

    总结的不错,总结、分享、进步

  • 宅在家里的猫
    2013-1-02 16:41:51

    嗯  有了一点启发

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号