如何測試一只水杯?—匯智動力
在正式開始回答這個問題之前,我們先來看看知乎用戶@今日飛雪 創作的一則關于測試工程師的段子。
一個測試工程師走進一家酒吧,要了一杯啤酒;
一個測試工程師走進一家酒吧,要了一杯咖啡;
一個測試工程師走進一家酒吧,要了0.7杯啤酒;
一個測試工程師走進一家酒吧,要了-1杯啤酒;
一個測試工程師走進一家酒吧,要了2^32杯啤酒;
一個測試工程師走進一家酒吧,要了一杯洗腳水;
一個測試工程師走進一家酒吧,要了一杯蜥蜴;
一個測試工程師走進一家酒吧,要了一份asdfQwer@24dg!&*(@;
一個測試工程師走進一家酒吧,什么也沒要;
一個測試工程師走進一家酒吧,又走出去又從窗戶進來又從后門出去從下水道鉆進來;
一個測試工程師走進一家酒吧,又走出去又進來又出去又進來又出去,最后在外面把老板打了一頓;
一個測試工程師走進一家酒吧,要了一杯燙燙燙的錕斤拷;
一個測試工程師走進一家酒吧,要了NaN杯Null;
一個測試工程師沖進一家酒吧,要了500T啤酒咖啡洗腳水野貓狼牙棒奶茶;
一個測試工程師把酒吧拆了;
一個測試工程師化裝成老板走進一家酒吧,要了500杯啤酒并且不付錢;
一萬個測試工程師在酒吧門外呼嘯而過;
一個測試工程師走進一家酒吧,要了一杯啤酒';DROP TABLE 酒吧;
測試工程師們滿意地離開了酒吧……
然后一名顧客點了一份炒飯,酒吧炸了。
測試工程師們的測試方方面面無所不級,簡直就是神一般的存在。然而,跟超神的用戶比起來,測試工程師們卻仍遜色幾分。
最常見的就是各種游戲中,總有玩家發現各種各樣的bug,有些bug被表述為“游戲機制”。一個團隊發現bug的能力肯定遠遠趕不上遍及全球幾千萬甚至幾億玩家找bug的能力。

那么問題來了,測試工程師們這么努力地工作,有什么作用呢?
答案其實很簡單,測試工程師們的作用就是讓所有人能夠在正常操作的情況下正常使用軟件,讓絕大部分人能夠在極端條件下正常使用軟件。
盡管用戶的騷操作防不勝防,但我們測試工程師們的招數也是讓人難以招架的。
讓我們帶著測試工程師的想法,回頭看看文章標題:如何測試一只水杯?、

功能測試
1.能否裝水;
2.能否盛放開水;
3.能否盛放冰水;
4.能否盛放其他液體飲品:如碳酸飲料、酒精飲料、果汁、牛奶等;
5.能盛放多少液體;
6.能否放進冰箱、微波爐;
7.能否粗略計量液體;
8.是否配備濾網、攪拌匙;
9.能否使用明火加熱;
10.使用了何種材質;
界面測試
1.杯子大小、形狀是否符合設計圖;
2.杯子的重量;
3.杯子外觀是否符合相關法規和大眾審美;
4.杯子圖案是否合理;
5.杯子圖案是否容易變色、脫色;
6.杯子有哪些顏色;
7.是否具有細小裝飾物;
性能測試
1.能否盛放有腐蝕性、有毒性的液體;
2.能否保溫,能保溫多久;
3.裝水一定時間后是否會漏水、滲水;
4.能否反復使用多久;
5.在反復交替浸泡開水和冰水情況下,能使用多久;
6.杯蓋擰緊后是否會漏水,能夠反復擰多少次;
7.若有濾網,能夠過濾多大物體;
8.若配有攪拌匙,攪拌匙能否將杯中液體充分攪拌;
9.杯體裝飾、圖案是否能夠耐受高溫、低溫、腐蝕等極端情況;
10.杯子能夠承受多大的壓力、拉力;
11.在什么高度掉落安然無恙;
12.在什么高度掉落會有損壞但仍可使用;
13.是否方便飲用杯中飲品;
14.是否方便清洗;
安全性測試
1.制作材料是否安全無毒;
2.是否容易滋生細菌;
3.是否杯體是否平滑、無缺口、無裂痕;
4.杯子材料接觸各類可飲用液體時是否依然安全無毒、不生成有害物質;
5.杯子摔碎時,是否飛濺碎片;
6.杯子在接觸高溫、低溫、高壓、低壓、腐蝕性等環境時能否保持完好;
7.是否防滑;
8.是否隔熱,隔熱性如何;
9.清洗時,洗滌用品殘留量是否合格;
單單是測試一只普通的水杯,測試工程師們就要思考這么多問題,更不用說在面對一款軟件的時候了。

各位還是對身邊的測試工程師們友好一點吧,就算他們這么絞盡腦汁地思考,也架不住用戶們的天馬行空。
萬一有人把你的杯子切掉杯底接到水管上,然后水管爆了。完事兒之后,反手一個舉報,就問你怕不怕?


