你知道哥德堡號是怎樣沉沒的嗎?07年第8期的《讀者》上有篇文章引起了我的興趣。哥德堡號是18世紀(jì)瑞典人的希望:他們需要從海上貿(mào)易來充實(shí)因?yàn)閼?zhàn)爭而瀕臨枯竭的國庫。建造哥德堡號動用了瑞典當(dāng)時(shí)15%的國內(nèi)生產(chǎn)總值,船堅(jiān)炮利不在話下。然而在最后一次返航途中離碼頭900米的地方撞上了當(dāng)?shù)厝嗽偈煜げ贿^的一塊暗礁,在歡迎人群的注視下滿載著從中國運(yùn)來的瓷器、茶葉和絲綢沉入海底。
你的開發(fā)工作中也會有平時(shí)再熟悉不過的暗礁:
你不會在工作目錄少放一兩個文件,特別是開發(fā)了半年后;
你不會在調(diào)試上個星期的版本的時(shí)候,心里以為是最新的版本;
你不會把產(chǎn)品的名字都寫錯...
是的,誰都不會撞上這樣的暗礁。不過考慮一下臨交貨前一天可能發(fā)生的事情:
發(fā)現(xiàn)一個小bug,順手改了一把;
bug都改完了,開始興沖沖的寫下一個版本;
客戶發(fā)個email來說某些顯眼處的標(biāo)題要改,他們也很抱歉,說是上頭今天異想天開...
如果這時(shí)候就打包刻盤,明天交貨時(shí)會發(fā)生哪些事情呢?
出現(xiàn)了一些以前出現(xiàn)過的bug,但是dev說早就改好了;
有些問題在自己的環(huán)境里面總沒法復(fù)現(xiàn)出來,客戶那邊100%出現(xiàn),直到有一天發(fā)現(xiàn)少了個文件;
被問到“為什么這里說的和那里不一致呢?”...
在把發(fā)布測試當(dāng)一回事來抓之前,客戶拿到手的產(chǎn)品可能會有這些問題:
產(chǎn)品安裝/上線之后不是多了就是少了些東西;
好像是調(diào)試版本;
文檔和產(chǎn)品不一致;
有些承諾修改過的bug還在...
所有這一切,都源于開發(fā)人員和客戶關(guān)注角度的差別。作為測試人員,應(yīng)該站在客戶的位置上,可惜他們還是開發(fā)團(tuán)隊(duì)的一部分,往往還是以開發(fā)人員的眼光去看bug。發(fā)布階段的bug,擁有許多不一樣的地方:
這不是/這里沒有客戶需要的東西;
這不影響使用,但影響客戶的生意(比如把人家的logo都搞錯了);
你會用,但客戶不會用;
在你的環(huán)境好用,但和客戶環(huán)境不太兼容;
觸了客戶的霉頭(別笑,你見過主版本號是13的產(chǎn)品嗎?)...
成熟的軟件工業(yè)會進(jìn)行一系列的發(fā)布階段測試:
安全漏洞測試;
各個語言版本的界面內(nèi)容(文本,圖片,多媒體資源等),用戶文檔,發(fā)布說明的復(fù)核,確保沒有違反法律和地緣政治文化(想想十字軍東征的畫面被放在阿拉伯文版里面);
數(shù)字簽名校驗(yàn);
病毒掃描(想想熊貓燒香是怎樣傳播的);
再一次基本功能測試。
噢,忘了說為什么哥德堡號撞上暗礁的根本原因:航海多年的水手看見陸地和歡迎人群,興奮起來所以提早在船上開慶祝party;舵手的位置在二樓,需要甲板上的人指示方向;本來每條船上都有當(dāng)?shù)叵驅(qū)ё鳛轭I(lǐng)航員,但是他去參加party了。