写文档,编代码,改bug,做胶片,交总结……繁忙的日子总是过得很快,等机顶盒第二版开发任务进行得差不多时,给戈威全通信集团二十周年庆做的定制手机样机终于快要回来了。
产品经理项褚名早早就知会了相关人员一起开会。
“下周就能到,赶紧把手头任务总结好交一交,再过一遍测试文档,手机一到就赶紧开始测了。”项褚名点开任务安排文档,列出一串儿开发维护人员,“开发自测和用户内测同时进行,下周也会给纪念手机开一个bug跟踪系统,用户内测和开发自测提交上来的bug都要认真对待。”
手机产品在beta阶段会在公司范围征集普通员工进行内部测试,进行各种日常操作,防止开发者思维导致的很多功能局限。
普通用户的一些神操作防不胜防,如果都按照程序员的思维去操作软件,很多bug都测不出来。
比如在某个编辑器里打开一个文档。在文档打开前,编辑器的界面是灰色的,等文档读取完毕才会呈现文档的内容。如果是程序员做这个操作,可能就会耐心等着图标上的小圈圈转啊转,等文档打开了,再进行编辑读写。而一个心急的普通用户可能会在文档还没打开时就疯狂点击编辑器的灰□□面,这时程序会响应点击的动作,尝试抓取用户点击的文字内容,如果程序员没有考虑到这种情况,不对抓回来的内容是否为空做预判的话,程序就可能崩溃或者呈现死机的状态。
这是一个比较容易理解的简单例子,事实上即使是专业的测试程序员,也难免会漏掉普通用户的一些比较特殊的日常使用和操作。
比如一个双卡双待的手机,使用者正通过卡1戴着耳机接电话,同时还打开记事本记录对话中的重要内容,这时日程提醒的闹钟突然响了,同时卡2上又有电话打进来,这些事件提示必须正常显示并且不会影响当前通话,不会导致记事本内容丢失,这就需要各自的处理程序做得比较完善才行。
内部自测就是把其他公司员工当作很宽容的普通用户,手机用挂了只会提bug,而不会去网上大骂手机做得烂。
当然程序员们也会对着五花八门的bug大骂用户是SB了。但是再骂也得修bug。
韩邵晨不会骂用户,虽然他的词汇库里本来骂人相关的词汇量就低得可怜,但是主要还是因为他其实有点佩服测出那些神奇bug来的人。
手机内测一般会持续三个月到半年,最开始测试的时候,bug数目如同雪崩一样迅速上涨,负责修复bug的人连喝水的功夫都没有,数着bug数刚刚降下去一点,第二天上班时又涌出来更多。这种痛苦的日子一般会持续一个多月,慢慢地新bug就少了,关闭的bug总数会追上未关闭的bug数目,最终全部关闭出货成就达成。
不过即使出货了,bug的修复也是不会停止的。每个良好维护的手机系统都会三不五时的更新,一方面是为了添加新功能,一方面也是为了修复普通用户反馈的bug。
三个半月,韩邵晨始终都是最忙的人之一,但是累归累,一想到忙完了这阵子,他就可以毫无牵挂地提离职,和恋人同住,心情总是很好。
谁也没想到,工作了五六年都平安无事,纪念版手机上市了三个星期,韩邵晨觉得这个项目已经告一段落,刚想提交辞职报告,还没问林宇该怎么措辞比较好,他唯一一次全程负责的手机项目,居然会让他和众人一起背了个黑锅。
问题说大不大,说小不小。
一般一款新手机,某些第三方技术测评网站都会专门建立个论坛供用户讨论,他们这款手机上市第一天,就有人写了个帖子说:“冲着新手机上市,还带NFC功能才买的,谁知道根本用不成,想给公交卡充值死活读不到卡,我用朋友的XX手机充值一点儿问题都没有,垃圾!早知道不买了!劝大家都不要买!”
陆续有人回复表示附议,并且辱骂级别渐渐上升。
“还二十周年纪念版呢,手机做的这么烂,戈威脸都被打肿了。”
“M通讯出的东西一向很烂,戈威怎么会找他们家合作。”
“垃圾国产!”
每款手机上市,用户都会从各种角度去评论。撇开毫无意义的谩骂,只针对产品来说,赞美和谩骂出自不同人的口中,却经常说的是同一个地方。比如有人说不愧是日本的工业设计师,外观简洁大方;但同时也有人说请的什么狗屁设计师,难看要死。
其它部分也有人骂,包括GPS定位不准,通话音量太小,手机发热等等各种喷,但是最多的还是NFC功能不稳定。
偶尔有人弱弱地回,把卡放在什么位置多试几次还是能用的,也会被大骂是托。
这种情况,戈威的人和M通讯的人同时都看到了,相关人员分析这种评论多了,也能很快找出真正影响使用的问题点。
NFC功能确实有点可疑,戈威方面直接打电话问责M通讯。
M通讯的人则死不承认手机有问题,只说是用户不会操作,万里挑一地找到替他们说话的帖子截图,同时还录了一段视频,演示了用手机给公交卡充值的过程,邮件发过去的还附加解释:“买手机的人那么多,用的好的人默默就用了,个别用的不好的人才会上网去骂,类似幸存者偏差,我们的测试已经做得很完备了。”
却没说那个视频录了三次才成功。
项褚名很恼火,领导们也很恼火,下令内部复查,并且不得外传。
硬件软件一起查,查了一个月,终于发现是NFC晶振不大稳定,时灵时不灵。
手机里许多硬件都需要准确的时钟才能正常工作,这个时钟不是我们日常说的时间上的时分秒,而是数据线上传输的数据要按照稳定且准确的时间间隔去获取,才能得到正确的数据。比如数据线上每隔一秒钟会给出一个新数据,但是如果时钟不准的话,可能会一秒读两次,或者两秒读一次那数据就必然会出错了,连带着就会导致功能不稳定。
当然真实情况要比这个例子里复杂许多,只要理解像USB,Wifi,以及红外等功能都是需要时钟搭配才能稳定工作的就行了。
NFC是其中一个,而提供时钟的最基本硬件就是晶振。
并且不是每部手机的NFC晶振都有问题,会出错的概率大约在30%左右。而程序员们测试的时候,一般都很宽容,不行了多试几次,再不行换个手机,功能通过就算ok。内测的公司员工则不大用这个功能,偶尔有人用也好死不死地成功给公交卡充上了值。
结果这个问题就持续到手机上市才陆续暴露出来。普通用户才没那么宽容好脾气,试上两次充不上就要上网大骂。十个用户里可能有三个拿到问题机,并且有人恰好使用了这个功能却无法充值,稍微较真一点的就会上网搜搜怎么回事,刚好看见也有人在骂,那能怎么办?一起骂呗。
虽然能正常使用的用户从绝对数目上来讲确实更多,但是会特意上网帮他们说话的人不多。
呈现在大家面前的就是骂声一片。
这个结果出来,领导们自然是无法接受的。一般手机上市之后,行内默认会容许有一定出错的几率,但是30%实在太高了。
纪念版手机是一锤子买卖,只能破罐子破摔死不承认。但是在公司内部这件事必须严肃处理,以防在之后的其它机型上栽跟头。
首先这次的NFC芯片供应商不能再合作了。
其次就是内部问责,不过板子打在谁身上,怎么打也是个问题。
硬件的人很无辜,你们选的供应商,我们只负责接收IP,钻研文档,做好验证,综合逻辑罢了,正常流程走下来,要是发现问题早就报上去了,怎么可能等到出货?
软件的人更无辜,软件代码当然没有问题,你晶振不稳定,而我们程序都没崩溃,已经很棒棒了好嘛。
至于那些给beta机做内部测试的公司员工们?找他们问责是有毛病吗?
话是这么说,但领导们不可能不了了之,谁让你们没测出问题来,没测出来就表示你们态度不端正!
可是罚得重了又害怕影响太多员工工作情绪,最后只能稍微处罚一下干部们,以及负责NFC模块的软硬件开发人员,全院通报,以儆效尤。
产品经理和项目经理扣绩效一千。
硬件开发组长,驱动软件开发组长和应用软件开发组长以及测试组长扣绩效五百。
NFC模块软硬件负责人各扣两百。
总的来说,这个板子算是高高举起,轻轻落下了。
不过谭明明很替自己师傅委屈,看到邮件的时候就怒了,噼里啪啦的敲键盘给韩邵晨发消息。
谭明明(怒!(╯°□°)╯︵┻━┻):师傅,凭什么连你都要处罚?