007小说网 www.007xsw.info,最快更新学霸终结者最新章节!
不爱创新的人,或者没有接触过原创工作的人,往往会有一种错觉:发明创造也好,经典神曲和传世诗篇也好,那都是天才灵光一闪的产物。
莫扎特的传记作者奥托杨就揭露过一个谎言:早在19世纪初,就有许多“鸡汤文”渲染莫扎特的创作流程:说他毕生最牛逼的作品,都是在夜深人静、环境优美、天人合一的状态下,由于灵感爆发、思如泉涌而创作出来的。
但是实际上,这种“鸡汤文”论调纯属扯几吧淡,是彻头彻尾的谎言。奥托杨早已证明,莫扎特根本不是这么一个人。
哪怕强如莫扎特,作曲也是要慢慢研究乐理、反复修改调音试听的。
哪怕强如李白,除了号称一蹴而就的三首《清平调》,他其余的大部分诗作也是要查韵部、抠字眼、和贾岛那句“僧推月下门”那样,为了一个个用字反复“推敲”的。
过度强调创造所需的“灵感”,而选择性的无视创造所需投入的“努力勤奋”,无非是鸡汤文和段子手们为了自己的文章销路,媚俗无耻地迎合大众,满足大众的自我心理保护。
因为庸碌的大众需要为他们的创新无能寻找一个开脱的借口。他们甘愿相信:看,创造这种东西,是天才才能做的事情。我们没做到,只是因为我们没有这种天分,而不是我们不够努力。
而在现代前沿企业里面——只要不是那种只会山寨别人产品的企业,只要有几分实打实的自主优化和创新的——在它们的研发部、软件部,有得是依靠拼搏和努力来实现创造的工程师、程序员。他们并没有外行大众想象的那种天才,他们有的,只是勤奋的努力,和一个正确的方向。
朱海波也好,杜俊强也好,都是新世纪华夏百万原创码农中一朵微不足道的浪花而已,他们一样没有天才,但是他们一样知道努力。
至于有没有把握到正确的努力方向,在此之前他们不敢说。刚刚工作了两年的码农们,心中有迷惘是很正常的。
但是遇到了顾莫杰之后,他们敢说了。因为他们知道,他们要找的东西,在顾总那里就有。
……
顾莫杰电话打完不到半小时,外卖就送来了,他礼贤下士地招呼大家过来一起吃,自己也先挑了一份盖浇饭,直接开吃,一点看不出老板的架子。
各怀疑问的程序员围坐一圈,闷头吃了几口,谁也不好意思先开口问。直到顾莫杰咽下一口青椒肉丝,挥着筷子反问:“我说午饭的时候趁机例会,你们就没什么想问的?今天的会我只负责答疑,没有硬性议题。”
听顾莫杰这么一说,朱海波第一个忍不住了,开口问道:“顾总,我想知道,我们公司的测试团队究竟有多少人?都是什么资历的?说实话,我在搜狐两年,也没见过这么强大的测试能力,居然可以针对一份基本功能都还没跑通的代码,就测出这么多问题。”
各位看官或许会好奇,为什么朱海波会对公司的测试实力如此关心。这个问题其实可以通过打个比方来说明。
程序就像是一个等待医治的病人,程序员就是负责开处方配药的医生,而测试员则是观察病人症状、反馈病人症状以及程序员用药后“病人药物反应”的人。
最差的测试员,只能告诉“程序员医生”,这个程序“哪儿疼”。好一点的测试员,能告诉“程序员医生”,这个程序“得了什么病”。所以任何软件公司,都需要软件部和测试部两个对抗性的部门合作,才能产出一款合格的软件,就像法庭上需要控辩双方唇枪舌剑,真理才能越辩越明。
一个公司的测试员是否牛逼,对于程序员能力的成长,会有很大的影响。
比如一个手机方案,面临一种症状为“翻盖后手机屏幕不亮”的故障,最次的测试员只会安安分分地按照上述文字提交一个BUG,然后程序员需要费老鼻子的劲儿去查问题究竟出在哪儿。精力花了不少,进展却没多少。
而有经验有眼光的测试员,遇到同样的BUG,就会不满足于上述简单结论。他会用更多的对照组实验细查问题根源,最后很可能总结出“翻盖上的霍尔器件传感器通信代码异常”这个深度的问题所在。与给力的测试员合作,程序员就能省掉很多排查的弯路,让自己的经验和写码技能快速成长。
公司测试资源的强弱,与自己的切身利益息息相关,与将来工作能力的进步速度相关,朱海波、陆俊强等人怎能不好奇?
顾莫杰听了这个问题,淡然一笑,把早就准备好的答案抛了出去:“公司肯定是有强大的测试团队的,这点你们放心。不过目前有一些人员还属于外包,没法介绍给你们认识。”
朱海波听了这个过于官方的回答,更是心痒难耐,进一步追问:“顾总,我绝对相信您说的话,也没有对公司的测试团队实力有任何怀疑。可是在国内我实在没见过这么强的测试,您能说一些技术上的细节么?
比如针对我昨天写的这部分代码,我看到测试的同事提出了一个‘词频反馈数据抓取环节存在内存泄漏’的BUG,还精确到了某一段代码上,这简直是神乎其技了。基本功能都没跑通,测试是怎么测到这一步的?”
一个软件,写得越完整,越容易精确测出BUG来,而软件越是原始、越是基本功能都没有跑通,要精确测出问题就越困难。这个道理是举世皆然的。
就好比一台手机,如果连基本开机都做不到,那永远只能测出一个BUG:开不了机。纵然从代码层面看,这台手机的摄像头数据传输有问题、触屏算法有问题……也都轮不到被测出来了。
可是这种常人看来不可能的事情,顾莫杰偏偏就做到了。
朱海波昨天写的那部分代码,就相当于是一台开不了机的手机。而顾莫杰就相当于偏偏在没开机的情况下,就说出了“如果这台手机开机了,还会出现哪些BUG”。
如果说普通互联网公司的测试员们属于“看到病人就说出病人哪儿疼”;而国内顶尖的测试大牛可以做到“看到病人就精确说出病因”;那么顾莫杰手下的测试团队,昨天的表现,就可以比作“哪怕看到的是一具尸体,都不用验尸,就能直接说出尸体的死因”。
法医的鉴定能力比给活人看病的医生强。连验尸都不用验就说出死因的人,自然比法医更强。这种测试能力,已经可以说是突破天际。不再仅仅是程序员的附庸,而是程序员的良师益友了。
众人好奇之中,顾莫杰放下盖浇饭,拈着一根筷子,作指点江山状:“那是我自己针对公司要研发的几款软件,写了一些代码层面的自动测试插件。所以凡是有结构体不完整、指针调用未定义、内存泄漏无法自洽……等等低级错误,都可以测出来。哪怕代码还不完整,都能发现问题。”
顾莫杰一说测试软件或者测试插件,朱海波、杜俊强等人就有几分听懂了,随之而来的,是一股肃然起敬。
测试插件,是一种降低测试员重复劳动、把一些简单重复的测试工作通过类似于“外挂”的功能自动跑完的软件。
比如用按键精灵写一个脚本,把一个软件上的每种按键组合都按一遍,看看功能有没有问题,就是一种最最简单的测试插件。
如果在目标软件里面有些低级错误的话,用测试插件的自动测试就能发现。但是测试插件能够实现的功能一般比较单一,只能做流水性的测试或者压力测试。要想用测试插件来发现复杂问题的话,那难度就不一般了,除非写插件的人本身也是程序高手。