對(duì)于智能手機(jī),你常常聽到這樣的抱怨:電池太不抗用了;玩游戲一點(diǎn)都不流暢;什么破攝像頭,把我拍的這么丑……當(dāng)然,另一些時(shí)候,你聽到的抱怨也許是這樣的:為什么我的手機(jī)總死機(jī)?為什么新品剛上市就斷貨?為什么我剛買沒多久它就降價(jià)了啊……
第一類抱怨,基本和硬件配置有關(guān),我們縱然無奈,但也有跡可循;第二類問題,則相對(duì)有些奇妙,起碼,它的現(xiàn)象和本質(zhì)并不太容易猜透。
今天,我們就來重點(diǎn)分析一下第二類用戶的抱怨——關(guān)于智能手機(jī)的那些怪現(xiàn)象。
死機(jī):有點(diǎn)像買彩票 差別的是中獎(jiǎng)率
很多智能手機(jī)用戶都有過“死機(jī)”的經(jīng)歷,畫面不動(dòng),或者干脆屏幕一黑,常規(guī)操作無法恢復(fù)其活力的,我們稱之為:“手機(jī)死了”。
死機(jī)和質(zhì)量有著最根本的關(guān)系。蘋果的iPhone可能幾個(gè)月也不死一次,路邊的山寨機(jī),常常整得你死去活來。智能手機(jī)為什么會(huì)死機(jī)?
現(xiàn)在假設(shè)你和我都穿上了隱身衣,我們悄悄潛伏到手機(jī)公司測(cè)試部門,看看一部智能手機(jī)的測(cè)試過程是否符合規(guī)矩,為什么會(huì)讓可能死機(jī)的產(chǎn)品通過檢驗(yàn)。
在邁進(jìn)手機(jī)研發(fā)大廈前,簡(jiǎn)單介紹下一部手機(jī)的誕生流程,以免進(jìn)去后迷了路。
手機(jī)的誕生簡(jiǎn)單可分為“預(yù)研--設(shè)計(jì)--研發(fā)--測(cè)試--制造--銷售--維護(hù)”幾個(gè)環(huán)節(jié)。 這期間很多流程都是相互交叉,甚至來來回回折騰不休。例如測(cè)試會(huì)提前到研發(fā)初期介入,來保證產(chǎn)品的問題能提前發(fā)現(xiàn),還有即便進(jìn)入到研發(fā)和測(cè)試的末期,設(shè)計(jì)環(huán)節(jié)也有可能提出新的變更——然后一部分甚至一大部分成果需要推倒重來。
走進(jìn)測(cè)試部,你會(huì)發(fā)現(xiàn)一臺(tái)臺(tái)手機(jī)被連接到電腦上,電腦屏幕快速運(yùn)行著一行行神奇的代碼。這便是手機(jī)測(cè)試的核心環(huán)節(jié)——跑測(cè)試用例。
我們簡(jiǎn)化下,測(cè)試用例是根據(jù)經(jīng)驗(yàn)和需求,設(shè)計(jì)出手機(jī)可能存在的各種場(chǎng)景,簡(jiǎn)單到“撥出一個(gè)電話”,當(dāng)系統(tǒng)運(yùn)行這個(gè)用例時(shí),電腦把指令傳給手機(jī),手機(jī)就會(huì)真的撥打一個(gè)號(hào)碼,然后反饋一個(gè)結(jié)果回來:成功,或者失敗。
一般手機(jī)公司的測(cè)試用例庫(kù)里,會(huì)有幾萬甚至十幾萬的測(cè)試用例,然后根據(jù)手機(jī)型號(hào)的不同,選出其中一部分進(jìn)行針對(duì)性測(cè)試。測(cè)試通過的,打一個(gè)對(duì)號(hào),測(cè)試不過的,測(cè)試員會(huì)提交一個(gè)“問題單”給測(cè)試經(jīng)理,再通過研發(fā)經(jīng)理輾轉(zhuǎn)到開發(fā)對(duì)應(yīng)代碼或硬件的工程師手里。
如果問題單被研發(fā)人員解決了,會(huì)把修改的硬件或軟件再次提交給測(cè)試部門,進(jìn)行二次驗(yàn)證(術(shù)語叫回歸測(cè)試)。
一臺(tái)手機(jī)的研發(fā)過程,基本上就是開發(fā)部門與測(cè)試部門的博弈過程,一路的刀光劍影。測(cè)試部的KPI就是誰提的問題單更多更狠,開發(fā)部的績(jī)效則是保證進(jìn)度和少出問題。所以,兩者基本上就是天敵。
手機(jī)研發(fā)是個(gè)系統(tǒng)活,不可能等到最后再去看是否合格。精明的管理者會(huì)在整個(gè)流程里設(shè)置多個(gè)檢測(cè)點(diǎn)(術(shù)語叫TR點(diǎn)),每個(gè)點(diǎn)必須實(shí)現(xiàn)一部分目標(biāo)。這樣可以做到風(fēng)險(xiǎn)可控。
對(duì)于暫時(shí)無法解決的問題,測(cè)試與研發(fā)經(jīng)過友好或者激烈的討論,決定“解決掉”,不管了,裝作什么事都沒發(fā)生。
OK,這就是死機(jī)的根源。一部分問題單由于能力問題,或者是測(cè)試過程太復(fù)雜,手機(jī)廠商會(huì)根據(jù)風(fēng)險(xiǎn)評(píng)估來把他們屏蔽掉,并且有一個(gè)很欣慰的理由——留待后續(xù)版本解決。因此,這些沒有通過的測(cè)試用例,如果偶爾被你在操作時(shí)復(fù)現(xiàn)了,那基本上就是一個(gè)結(jié)局——死機(jī)。
手機(jī)死機(jī)的另一個(gè)常見可能,和情景無關(guān),叫做“內(nèi)存溢出”。
實(shí)際上,手機(jī)每次運(yùn)行一個(gè)程序,都會(huì)占用一部分內(nèi)存,然后在退出是釋放掉。但有時(shí)候,出于某些設(shè)計(jì)上的BUG,程序退出后沒有釋放內(nèi)存或釋放不充分,就導(dǎo)致手機(jī)越用內(nèi)存越少,這時(shí)候,如果忽然開啟個(gè)大程序,剩余內(nèi)存不足以承擔(dān),那就只剩死機(jī)或重啟一條路了。
對(duì)于大部分的功能和應(yīng)用場(chǎng)景,手機(jī)廠商是會(huì)負(fù)責(zé)測(cè)試通過,不可能打一個(gè)電話就死機(jī)。
至于為什么有的手機(jī)容易死機(jī),有的手機(jī)不容易死機(jī),其實(shí)道理也簡(jiǎn)單。研發(fā)能力決定了遺留問題單的多少,測(cè)試能力和責(zé)任心決定了測(cè)試用例的多少,還有各種不可控的因素,例如制造工藝的粗糙、操作環(huán)境的變態(tài)等,也會(huì)提高死機(jī)的概率。
缺貨:缺的不是貨 是預(yù)估銷量的經(jīng)驗(yàn)
死機(jī)的問題基本上心里有數(shù)了,接下來去采購(gòu)部和制造部看看缺貨是怎么一回事。
有個(gè)怪現(xiàn)象最近很流行。某款旗艦機(jī)發(fā)售,大家排隊(duì)購(gòu)買,結(jié)果隊(duì)伍還沒排完,手機(jī)就賣光了。
是手機(jī)廠商不愿意賺錢?當(dāng)然不是。對(duì)于采購(gòu)部來說,他們需要為手機(jī)的生產(chǎn)提前預(yù)訂或囤積各種配件,從CPU、內(nèi)存到攝像頭、外殼甚至包裝用的盒子。
但這里面會(huì)有一個(gè)小問題:采購(gòu)的價(jià)格一般是根據(jù)訂貨量多少來衡量的,買過菜的朋友都明白這個(gè)道理。但一部手機(jī)上市前,很難準(zhǔn)確估計(jì)出它的具體銷量,配件訂多了,價(jià)格是便宜,但積壓的庫(kù)存反而更虧。
那就少囤積些配件?這正是手機(jī)缺貨的原因之一。為了規(guī)避可能風(fēng)險(xiǎn),手機(jī)廠商在采購(gòu)零部件時(shí),不會(huì)太冒進(jìn),可一旦手機(jī)銷量超過預(yù)期,配件囤貨用光了,那就是缺貨沒商量。
還有另一個(gè)可能,是意外的零件供貨不足。于是,手機(jī)廠商會(huì)對(duì)關(guān)鍵部件采用從多家供貨商進(jìn)貨的方式,來盡量規(guī)避這樣的風(fēng)險(xiǎn)。
但這不是缺貨原因的全部,接下來再去制造部挖點(diǎn)料。這里的制造部不僅是手機(jī)廠商的制造部門,因?yàn)榇蟛糠质謾C(jī)是代工制造,因此也包括代工廠在內(nèi),為了便于描述,統(tǒng)稱“制造部門”。
在制造部,則是另一番景象。
評(píng)論