学霸终结者-第58章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
却见杜俊强的电脑上正开着三个软件,其中那个写代码的自然是VS2002。另两个软件,正是昨天老板顾莫杰教他们用的公司的代码数据库和测试BUG数据库的客户端。BUG数据库的列表界面上,俨然列着一大串的BUG,后面还明确了是哪一部分代码出的问题、责任人是谁。
朱海波在那上面看到了十几个杜俊强的名字,但是随后就看到了更多责任人写着“朱海波”的BUG,他的脸色刷地一下就有些红。昨天他写代码的时候不是太投入,没想到进度和效率上的差距居然一下子就反馈出来了。
程序员也是好面子的,当下他也不和人攀谈,马上回到自己的位置上,打开这几个软件,细看起来。
仔细一审视,朱海波才发现自己也不是落后太多,因为杜俊强名下原本BUG并不比他少,只是今天早上人家来上班早,个把小时里已经FIX掉三四个了,所以刚才在“OPEN”状态列表下看到的责任BUG就比他少了。
可惜,这种庆幸并没能让他松懈,因为越往下看,他越觉得这家公司的测试人员水平深不可测,远远不是他原本在同类互联网公司见过的那些只知道症状、不知道病因的测试人员可比的。
哪怕是百度和搜狐的测试工程师,也没有这家区区几个人的小公司强!
“顾总究竟怎么做到这一点的?他养了多大一个测试团队?这种测试效率,对咱的帮助太大了……看来就算将来要跳槽,至少在这家公司待几年多学点本事也是不错的。要是离了这儿,再想找到能这么针对性指出咱问题、帮助咱快速提高水平的同类公司,也找不着了……”
朱海波的心里,一股莫名的敬畏正在逐渐升起。很快投入了浑然忘我的修改代码工作中去了。丝毫没有注意到时间一点一滴的流逝,没有注意到今天又新来了两个程序员,也没有注意到午饭时间已经到了。
眼看着时间已经到了下午两点,所有程序员们都陷入在写代码中不能自拔时,顾莫杰忙完了手头的事情,从里间出来一看,才发现手下人都忘了吃饭。
“要不要这么拼?我统一叫外卖吧。吃饭的时候开个例会。”
顾莫杰一招呼,众人才回过神来。朱海波与杜俊强等人蓦然发现,工作数年来,这是他们第一次不反感领导开会。
因为他们有太多的疑问需要顾莫杰解答了。
第二十六章别具一格的王霸之气
不爱创新的人,或者没有接触过原创工作的人,往往会有一种错觉:发明创造也好,经典神曲和传世诗篇也好,那都是天才灵光一闪的产物。
莫扎特的传记作者奥托杨就揭露过一个谎言:早在19世纪初,就有许多“鸡汤文”渲染莫扎特的创作流程:说他毕生最牛逼的作品,都是在夜深人静、环境优美、天人合一的状态下,由于灵感爆发、思如泉涌而创作出来的。
但是实际上,这种“鸡汤文”论调纯属扯几吧淡,是彻头彻尾的谎言。奥托杨早已证明,莫扎特根本不是这么一个人。
哪怕强如莫扎特,作曲也是要慢慢研究乐理、反复修改调音试听的。
哪怕强如李白,除了号称一蹴而就的三首《清平调》,他其余的大部分诗作也是要查韵部、抠字眼、和贾岛那句“僧推月下门”那样,为了一个个用字反复“推敲”的。
过度强调创造所需的“灵感”,而选择性的无视创造所需投入的“努力勤奋”,无非是鸡汤文和段子手们为了自己的文章销路,媚俗无耻地迎合大众,满足大众的自我心理保护。
因为庸碌的大众需要为他们的创新无能寻找一个开脱的借口。他们甘愿相信:看,创造这种东西,是天才才能做的事情。我们没做到,只是因为我们没有这种天分,而不是我们不够努力。
而在现代前沿企业里面——只要不是那种只会山寨别人产品的企业,只要有几分实打实的自主优化和创新的——在它们的研发部、软件部,有得是依靠拼搏和努力来实现创造的工程师、程序员。他们并没有外行大众想象的那种天才,他们有的,只是勤奋的努力,和一个正确的方向。
朱海波也好,杜俊强也好,都是新世纪华夏百万原创码农中一朵微不足道的浪花而已,他们一样没有天才,但是他们一样知道努力。
至于有没有把握到正确的努力方向,在此之前他们不敢说。刚刚工作了两年的码农们,心中有迷惘是很正常的。
但是遇到了顾莫杰之后,他们敢说了。因为他们知道,他们要找的东西,在顾总那里就有。
……
顾莫杰电话打完不到半小时,外卖就送来了,他礼贤下士地招呼大家过来一起吃,自己也先挑了一份盖浇饭,直接开吃,一点看不出老板的架子。
各怀疑问的程序员围坐一圈,闷头吃了几口,谁也不好意思先开口问。直到顾莫杰咽下一口青椒肉丝,挥着筷子反问:“我说午饭的时候趁机例会,你们就没什么想问的?今天的会我只负责答疑,没有硬性议题。”
听顾莫杰这么一说,朱海波第一个忍不住了,开口问道:“顾总,我想知道,我们公司的测试团队究竟有多少人?都是什么资历的?说实话,我在搜狐两年,也没见过这么强大的测试能力,居然可以针对一份基本功能都还没跑通的代码,就测出这么多问题。”
各位看官或许会好奇,为什么朱海波会对公司的测试实力如此关心。这个问题其实可以通过打个比方来说明。
程序就像是一个等待医治的病人,程序员就是负责开处方配药的医生,而测试员则是观察病人症状、反馈病人症状以及程序员用药后“病人药物反应”的人。
最差的测试员,只能告诉“程序员医生”,这个程序“哪儿疼”。好一点的测试员,能告诉“程序员医生”,这个程序“得了什么病”。所以任何软件公司,都需要软件部和测试部两个对抗性的部门合作,才能产出一款合格的软件,就像法庭上需要控辩双方唇枪舌剑,真理才能越辩越明。
一个公司的测试员是否牛逼,对于程序员能力的成长,会有很大的影响。
比如一个手机方案,面临一种症状为“翻盖后手机屏幕不亮”的故障,最次的测试员只会安安分分地按照上述文字提交一个BUG,然后程序员需要费老鼻子的劲儿去查问题究竟出在哪儿。精力花了不少,进展却没多少。
而有经验有眼光的测试员,遇到同样的BUG,就会不满足于上述简单结论。他会用更多的对照组实验细查问题根源,最后很可能总结出“翻盖上的霍尔器件传感器通信代码异常”这个深度的问题所在。与给力的测试员合作,程序员就能省掉很多排查的弯路,让自己的经验和写码技能快速成长。
公司测试资源的强弱,与自己的切身利益息息相关,与将来工作能力的进步速度相关,朱海波、陆俊强等人怎能不好奇?
顾莫杰听了这个问题,淡然一笑,把早就准备好的答案抛了出去:“公司肯定是有强大的测试团队的,这点你们放心。不过目前有一些人员还属于外包,没法介绍给你们认识。”
朱海波听了这个过于官方的回答,更是心痒难耐,进一步追问:“顾总,我绝对相信您说的话,也没有对公司的测试团队实力有任何怀疑。可是在国内我实在没见过这么强的测试,您能说一些技术上的细节么?
比如针对我昨天写的这部分代码,我看到测试的同事提出了一个‘词频反馈数据抓取环节存在内存泄漏’的BUG,还精确到了某一段代码上,这简直是神乎其技了。基本功能都没跑通,测试是怎么测到这一步的?”
一个软件,写得越完整,越容易精确测出BUG来,而软件越是原始、越是基本功能都没有跑通,要精确测出问题就越困难。这个道理是举世皆然的。
就好比一台手机,如果连基本开机都做不到,那永远只能测出一个BUG:开不了机。纵然从代码层面看,这台手机的摄像头数据传输有问题、触屏算法有问题……也都轮不到被测出来了。
可是这种常人看来不可能的事情,顾莫杰偏偏就做到了。
朱海波昨天写的那部分代码,就相当于是一台开不了机的手机。而顾莫杰就相当于偏偏在没开机的情况下,就说出了“如果这台手机开机了,还会出现哪些BUG”。
如果说普通互联网公司的测试员们属于“看到病人就说出病人哪儿疼”;而国内顶尖的测试大牛可以做到“看到病人就精确说出病因”;那么顾莫杰手下的测试团队,昨天的表现,就可以比作“哪怕看到的是一具尸体,都不用验尸,就能直接说出尸体的死因”。
法医的鉴定能力比给活人看病的医生强。连验尸都不用验就说出死因的人,自然比法医更强。这种测试能力,已经可以说是突破天际。不再仅仅是程序员的附庸,而是程序员的良师益友了。
众人好奇之中,顾莫杰放下盖浇饭,拈着一根筷子,作指点江山状:“那是我自己针对公司要研发的几款软件,写了一些代码层面的自动测试插件。所以凡是有结构体不完整、指针调用未定义、内存泄漏无法自洽……等等低级错误,都可以测出来。哪怕代码还不完整,都能发现问题。”
顾莫杰一说测试软件或者测试插件,朱海波、杜俊强等人就有几分听懂了,随之而来的,是一股肃然起敬。
测试插件,是一种降低测试员重复劳动、把一些简单重复的测试工作通过类似于“外挂”的功能自动跑完的软件。
比如用按键精灵写一个脚本,把一个软件上的每种按键组合都按一遍,看看功能有没有问题,就是一种最最简单的测试插件。
如果在目标软件里面有些低级错误的话,用测试插件的自动测试就能发现。但是测试插件能够实现的功能一般比较单一,只能做流水性的测试或者压力测试。要想用测试插件来发现复杂问题的话,那难度就不一般了,除非写插件的人本身也是程序高手。
2003年的国内,从来就没听说过有哪家公司的测试插件可以做得这么牛逼的,可是顾莫杰写的那个测试插件偏偏就做到了。
……
顾莫杰又回答了朱海波和杜俊强几个粗浅的问题,渐渐地就把程序员们彻底镇住了。
只有顾莫杰自己心中雪亮:他哪里是真有这么牛逼的本事、能够比钻研了数年搜索引擎代码的程序员都懂行?他之所以可以给出这么多指导性意见,完全是靠初音娘给他的那个VS2050牛逼。
众所周知,一款软件越是先进,那么对使用者的软件操作水平要求就会降低。
这个道理很好理解,就像AUTOCAD每更新一个版本,据统计就能降低绘图的工程师们在绘图环节5%的时间花费;PS每更新一个版本,也能让P图的美工人员手脚快一些(在脑中构思构图的时间不算,这里仅指画图软件的操作时间)
VS作为程序员们写码的工具,2002版和2050版之间的效率也是天差地别的。后世由于有大数据,VS可以把全世界所有程序员们犯过的错误BUG统计起来,归纳出一些程序员容易犯的常见病,然后把这些常见BUG集成到VS2050的自动测试插件中去。
所以2050年的程序员们不仅写的代码比2002年可读化程度高得多,连除了逻辑错误以外的低级错误都几乎不会犯。时代每进步十几年,程序员的单位时间平均写码效率翻一番,这个定律从古到今都没有变过。
现在顾莫杰开公司了,VS2050的客户端部分自然是不能直接拿给公司的程序员们使用的。但是服务器端因为加密的原因,只有顾莫杰一个人可以接触到,所以哪怕他在服务器端动再大的手脚,都不会有人发现他的金大腿。
如此一来,这个外挂也就开得顺理成章,合乎逻辑了。程序员写代码的时候,很多错误并没法直接自动纠错出来,但是只要上传到了公司的代码服务器上,服务器运行自动测试功能,就可以把很多问题找出来,再批一层皮,假托一个子虚乌有的“公司测试团队”的名义,把BUG反馈出来。
当然,初音娘在穿越回本时空的时候,因为云端BUG数据库是存在2050年的,所以初音娘没法调用后世的数据库,只能是回到本时空之后从头开始,在网上各种渠道搜集充实自己。
也亏得如此,顾莫杰借用VS2050来完成自动测试时才没有表现得太过逆天、没有超过同时代人类的想象力极限。否则的话,他需要雇佣的程序员人数起码可以再省掉一大半。
……
众人被顾莫杰镇住之后,随着解释的深入浅出,他们心中越来越雪亮,对于是否要在顾莫杰手下长久干下去,也是下了决心。
在互联网公司,拿着同样薪水的程序员们,往往有些可以按时下班,而有些却天天加班。外人或许会觉得:难道是老板不公,给某些程序员加码的任务很多,而另