拾吾初心- 我的测试进阶之路

988 阅读11分钟

首先说明,我只算个普通的IT男,也算不上是一个成功的人,所以我的回忆也并不是什么成功学备忘录。引用不知道曾经在哪儿看到过的一句话:“活了30 多年,生活只告诉了我一件事情:我只是一个智商正常、耐力一般、身体凑合、相貌平平的最一般的人。”在这里把自己的过往做一个总结,一方面是对过去多年的梳理,另一方面也希望我的经历能够给大家带来一些参考和或许那么一丝丝帮助。

大学生涯关键字:时间规划

由小到大,我都是一个任性的人。小时候不太喜欢其他活动,而是喜欢在路边与大爷大叔们一起下围棋,到后来拜了师傅学了围棋还参加了不少比赛,再到大学期间建立了学校第一个棋社,名“星河棋社”,兴趣一直是支撑我自己前进的源动力。

如果要准确的给大学生活一个定位的话,在当时的感受是一个字:忙,现在想来,却是两个字:精彩。希望开拓眼界,所以参加了学生会和科协;喜欢哈利波特,所以加入了英协还组织了哈利波特文化节;酷爱羽毛球和网球,所以时常在球场上看到我曾经“精瘦”的身影,还闯入了地区级网球业余比赛八强;乐于“抬杠”,所以不仅担当了校辩赛的队员,还自告奋勇在下一年成为了领队;为了体验人生,所以在情人节的牛排馆里卖过玫瑰花、酷暑的太阳下做过问卷调查、街边的商铺中的拉过赞助、毕业季的湖畔兜售过书本杂物等等。我非常清晰的记得,曾经有过那么一段时间,我几乎是没有时间去上课全部在校内校外忙碌。同时,作为985高校学生的一员,学的又是电子信息工程这样的综合性专业,基础课程多、难度大、更可气的是还有纯英文教材。一时之间觉得自己无论何时都感觉时间不够用,想做的要做的还有很多,用IT的话来说,恨不得自己能够多线程并行甚至是异步的处理各种事情。

摆在面前的有两个选择:放弃一些活动或者想办法平衡这些活动之间的关系。接下来的选择是我觉得我在大学时代得到的很重要的一笔财富:时间规划的意义。具体来说,是把每天要做的事情分级,包括:a 必须要做的事情(比如上课、开会) b 当天要完成的事情 c 无需当天完成但需要有进度的事情 d 当天不紧急的事情 e 娱乐休息

在原计划中呢,本来是想以周为单位来规划,实际操作了一段时间,发现不可控的事情会很多,反而容易变乱,不如每天晚上拿出一段时间来规划下一天。首先,先把必须要做的事情所占用的时间占上,就像这样:

接下来就按照顺序将当天要完成的、需要当天有进度的和自己的娱乐休息放进去,最后再加入当天不紧急可做可不做的事情,这样把一天排满。好处呢,是一方面能够把重要事情优先做完,同时也让自己更有条理的安排自己的时间,更提前准备好了自己的休息和娱乐。这也是我想跟大家分享的第一个经验吧,做自己时间的管理和安排者,而不要成为时间的奴隶。工作中也是一样,做事有计划,任务分主次,这样才能乘势待时,事半功倍。

兴趣VS职业:成为IT男

初中毕业时候才第一次接触到网络,第一次有了自己的QQ,记得那个时候QQ刚刚从OICQ更名过来,也依稀记得那个时候QQ古老的界面,记得QQ上的第一个好友,也记得一直在询问我哥:“为什么这个叫QQ的东西可以不花钱互相说话”(当然,后来才知道,网吧“居然”也是要花钱的-_-||)这大概是我对互联网最初的认识。

虽然本人长相粗犷,但是却有另外一个小资的爱好:散文。喜欢看也喜欢写,高中时期进入了当时还赫赫有名的榕树下,开始自己的散文之旅。这或许是我跟网络文学的首次亲密接触吧。接下来的一段时间内,随着博客的火爆,又建立了自己的博客,还收获了一批粉丝。PS: 刚刚偷偷去看了看自己的博客,发现当初幼稚的文青散文已经把年老的自己吓坏了……也因为这样,对能够搭建一个像榕树下这样的论坛或者是博客这样的平台非常向往。

于是乎,大学就选择了电子信息工程系。但是上学以后突然发现,这个专业跟想象之中的“网络”、“信息”似乎毫无关联,学习的也都是偏向物理、数学方面的基础理论,动手机会都很少,更不要说是创造什么了。幸好,除了枯燥的学习,大学还提供了非常丰富的能力培养机会和广阔的个人发展空间,所以有了上述如此多的校园活动,也随之有了我自己的第一次“编程”尝试。

不知道有没有同学看过《这就是铁甲》,我在大学时候就参与了一个类似的机器人大赛。与遥控机器人不同的是,我们要做的机器人是全自动巡线机器人,这时候用的是汇编语言和C语言。尽管是边做边学,但是当机器人在实验室里第一次正常跑起来的“一刹那”,突然有一种“触电”一般的幸福感,感觉依靠着一些代码加上传感器等硬件,就可以让一台机器跑起来,非常不可思议。于是,也对代码的神秘产生了更大的兴趣,毕业设计时候也选择了一个现在看来依然非常流行的课题:“基于神经网络的车牌识别系统”。犹记得当时孜孜不倦的到处收集车牌样本、完善神经网络算法、在各大论坛中到处求大神指教,而收获的让我最开心的评价是在毕业答辩时候系主任的一个评价:“这个系统不错啊,可以拿出去卖钱了。”这句话给我的IT生涯打下了坚实的一步。所以在毕业时候,我倾向于加入一个IT企业,在当时我们的专业里,其实去做IT是比较另类的选择,绝大多数同学都去做电子线路、移动运营商或者华为中兴等硬件企业。但是就像我前边说过的,我是一个任性并且以兴趣驱动的人,由于跨专业的限制,我错过了一些大公司,最后初步进入了一家外包公司,成为了一名IT男。

现在回头看,其实互联网改变了很多事情,10年前我们还在用1毛1条的短信互相联系、查资料还需要到图书馆里、初到陌生城市还需要先买一份地图;现在呢,有方便实时沟通的微信,有无所不知的百度,有遍及各地的地图,当然更有出门几乎不用带钱的支付宝。想来,互联网真的是可以改变世界了,看看我自己,也改变了我自己很多。

转型:从DEV到Tester

进入了一家外包公司,很多人觉得福利差、没有归属感、也没有技术大牛带,我倒是觉得更加容易锻炼自己,外包公司更加让人有紧迫感。比如说我自己,开始是做开发的,语言呢是用Flex + Java(Flex是做flash动画的),初入公司的我还对Flex一窍不通,对Java也是一知半解,然而就是这样,在简单学习了一周后就被任命独立去做一个紧急项目的开发工作。于是经过了多达7个通宵,才勉强完成了项目的工作,尽管那个代码在我后来看来真的是“不堪入目”,但是对于一个刚毕业的学生来说,已经是一个莫大的锻炼和安慰了。

走上测试的道路却是一个意外:当时自己完成的一个自认为代码很健壮的项目被测试团队发现了很多缺陷,所以对测试工作产生了好奇,同时也在一些技术论坛中了解了一下测试的相关工作。突然发现,测试跟想象之中的不完全相同,在当下,测试工作同样需要技术,而且对技术的要求越来越高,需要了解的知识领域甚至会比研发更加宽广。

在IT圈中流传着这样一句话:有的人喜欢创造世界,他们做了程序员,有的人喜欢拯救世界,他们做了测试员!相比于“创造世界”的研发人员,我似乎突然一下子对“拯救世界”有了很浓厚的兴趣。后边一次很偶然的机会,我转到了测试工作上,主要负责的也是与代码有关的测试,包括自动化、性能方面。当时的自动化测试还是以QTP为主,而我也是逐步将公司的QTP代码转换为了Selenium,尽管当时还是Selenium1.0,但是我觉得这种代码的模式会比QTP拥有更好的扩展性。所以想来,用今天的话来说,我是直接进入了测试开发领域,尽管当时没有人这么称呼它。

随着工作的深入,骨子里的好奇心和兴趣驱使我更加深入挖掘测试相关联的技术,从自动化技术的探索,性能场景、监控、分析等方向的研究到后来安全渗透测试的挖掘、框架平台的搭建,MOCK平台再到DOCKER、DEVOPS的应用等等,到现在已经有接近10年的时间了,一直走在这条路上,不断前进。而且,到现在仍然没有看到自己潜力的终点。

在这儿也多谈几句展望,我自己觉得,未来开发和测试是统一的,界限也会越来越模糊。开发的压力往往在于工期紧,有些需要技术研究等,目的在于建设实现上。测试的压力也有工期的问题,但测试的责任压力是非常重的,如果有问题发生往往第一责任人是测试,因此要求测试特别细致,同时需要考虑的功能也要全面,工作量并不比开发少。

回归初心

未来开发和测试是统一的。开发的目标是创造、建设和实现,随着技术的成熟,开发人员的压力往往在于工期紧。测试的压力除了工期的问题,还要保证的就是我们的质量。质量才是我们测试人员的“初心”。所以无论是通过自动化、性能还是安全,最终的目标都是质量二字。未来对于测试人员首要的要求是“质量高”,接下来的才是“效率快”。而我们的技术呢,也是围绕着在保证质量的基础上提升测试的效率,这就是现在大家聊得更多的测试开发甚至是测试架构。

大概从11年开始,由于常在各大论坛中与人探讨测试相关的技术,所以与一些志同道合的伙伴开始在网络上进行测试技术的分享。从最初的论坛讨论到后来的在线公开课分享、《LoadRunner性能测试巧匠训练营》的编写出版再到成为慕课网的讲师以及今天大家看到的专栏,最本质的目的都是为了能够把自己走过的一些路分享给大家,让大家能够尽可能的少走自己走过的一些弯路。

回顾过去的十几年,我认识了很多朋友,他(她)们对我有很大的帮助。让我从一个对计算机并不开窍的小菜鸟,逐步成长为现在算是真正的技术tester。在这十几年中,经过一次又一次地思考、实践与挫折,我找到了适合自己的方向,发现了自己的优势,也不断调整自己的目标与方向。现在的我,愿意把自己走过的一些弯路、自己的一些心得与技术沉淀,通过这篇专栏分享给每一个正在看这个故事的朋友,希望大家能够找到自己的“本心”,不忘自己的“初心”,成为一个优秀而快乐的测试人。