功能測試——測試經(jīng)驗庫
與測試用例設(shè)計不同,測試經(jīng)驗庫更多體現(xiàn)的是測試工程師在日常測試活動中的經(jīng)驗積累,這些經(jīng)驗很多時候不一定編寫為測試用例,但可作為測試執(zhí)行、發(fā)現(xiàn)缺陷活動中必不可少的補充。
測試工程師可將測試活動過程中積累的經(jīng)驗,添加到經(jīng)驗庫中。通過長時間積累,作為產(chǎn)品團隊的一筆“財富”,每一位新成員加入,都可以先學(xué)習(xí)經(jīng)驗庫,更快速的融入團隊。

以筆者曾經(jīng)所在公司為例,積累了大量的測試經(jīng)驗,主要分為功能設(shè)計、信息提示、系統(tǒng)交互、容錯處理、數(shù)據(jù)邊界等幾個部分。
01
功能設(shè)計
所有系統(tǒng)功能設(shè)計應(yīng)當(dāng)根據(jù)用戶需求規(guī)格說明書確定,但從開發(fā)工程師角度思考,他們更多關(guān)注的是功能實現(xiàn),至于是否確實是用戶期望、滿足用戶使用習(xí)慣的設(shè)計,可能關(guān)注度不高,而測試工程師以用戶視角驗證被測對象,除了關(guān)注功能實現(xiàn)外,還需關(guān)注是否滿足用戶使用習(xí)慣或約定俗成的規(guī)則。
02
功能冗余
買東西送贈品,不一定是好事。根據(jù)用戶需求實現(xiàn)滿足其期望功能,總是恰當(dāng)?shù)淖龇?。開發(fā)工程師覺得有用的功能并不一定是用戶期望的,如老年手機設(shè)計了酷炫的燈光效果、總共不超過10條數(shù)據(jù)卻設(shè)計了查詢功能。功能越多,出錯的可能性越高。
03
功能夸大
出于營銷目的,產(chǎn)品團隊可能通過某種形式夸大被測對象的功能性,測試工程師應(yīng)該結(jié)合系統(tǒng)DEMO、宣傳頁、用戶手冊及用戶需求進行多重驗證,以判斷是否存在夸大現(xiàn)象。
04
功能過度
一個簡單的功能,卻需要通過多個步驟操作才能實現(xiàn),用戶無法記憶太多復(fù)雜的步驟。對于用戶而言,“事不過三”總是對的,也是他們期望的。
任何系統(tǒng)設(shè)計,越是簡潔越好,功能過于復(fù)雜的系統(tǒng),通常沒有好下場。
05
功能無用
既然沒有用的功能,開發(fā)出來做什么,需求分析的時候,是否真的分析清楚了?為了功能而實現(xiàn)功能,通常不是一個好的做法。
06
功能錯誤
錯誤的功能,肯定需要處理。人民幣轉(zhuǎn)換日元,卻以歐元的匯率,系統(tǒng)是怎么設(shè)計的?
07
功能缺失
說好了有按照訂單號、訂單總金額、商品名稱等字段排序的功能,用戶卻在哪都找不到。
08
提示錯誤
明明必填項“類別名稱”為空,系統(tǒng)卻提示“商品單位不能為空”,錯誤的信息提示可能讓人懷疑整個系統(tǒng)的質(zhì)量。
09
提示費解
“對不起,你的操作不正確,請聯(lián)系管理員!”
“我哪里錯了,管理員是誰,我去哪里找他?”
能不能明確告訴用戶錯誤位置及錯誤原因。
10
提示冗余
用戶名及密碼都沒有輸入,提交登陸后,系統(tǒng)先提示“用戶名不能為空”,確定后又提示“密碼不能為空”,有什么話能不能一口氣說完?
11
菜單錯亂
相同類別的菜單應(yīng)該在同一目錄,查找與替換功能應(yīng)該在一起。
12
不可退出
一些腳本錯誤出現(xiàn)后,無論確定還是取消,都無法退出當(dāng)前狀態(tài),只能強制關(guān)閉進程。
13
無限等待
到底要加載多久?到底要下載多長時間?哪怕一個虛假的預(yù)估時間,對用戶來說也是一種安慰。
14
多重光標(biāo)
一個一個來,那么光標(biāo)都來提示用戶,用戶怎么知道應(yīng)該先操作哪個,還是系統(tǒng)已經(jīng)瘋了?
15
輸入限定
用戶名長度不超過18個字符、類別名稱不超過15個字符、內(nèi)容簡介不超過2000個字符,這些都是對用戶輸入的限定,超過限定的輸入是不被接受的。系統(tǒng)應(yīng)當(dāng)對超限輸入做出明確的禁止。
16
輸出限定
小數(shù)點保留幾位,是個嚴(yán)重的問題,是否應(yīng)該有個規(guī)則說明,1.5萬元與1.55萬元的差別是500元。有限的區(qū)域只能顯示20個字符,多余的信息則以折疊方式展示。
17
錯誤恢復(fù)
不小心的誤操作,是否導(dǎo)致無法挽回的結(jié)果,密碼輸入錯誤幾次才會被鎖定?系統(tǒng)在用戶操作錯誤時應(yīng)該給予“改過自新”的機會。
異常的故障出現(xiàn),系統(tǒng)能否恢復(fù)到故障前的狀態(tài),也是系統(tǒng)健壯性的重要表現(xiàn)。
18
異常調(diào)用
系統(tǒng)提示用戶可以使用微信或QQ登陸,可怎么授權(quán)都無法使用,該怎么辦呢?
支付時明明支付成功了,為什么提示支付失敗?錢哪去了?還能退回來嗎?
系統(tǒng)與系統(tǒng)間的調(diào)用,更要保證數(shù)據(jù)及邏輯的正確性。
19
軟件邊界
數(shù)組只能容納10個整數(shù),現(xiàn)在有9個、10個、11個的可能性,系統(tǒng)響應(yīng)是什么?
20
硬件邊界
內(nèi)存使用率已經(jīng)99%了,系統(tǒng)還能運行嗎?磁盤已經(jīng)沒有空間了,還需要寫日志怎么辦?
21
時間邊界
系統(tǒng)等待過程中,是否可以給其發(fā)送命令,還有1秒結(jié)束安裝了,能否取消?還有1秒完成卸載了,能否取消?系統(tǒng)要求15秒內(nèi)給予響應(yīng),否則托管,在15秒剛到時做出響應(yīng)是否取消托管可能性?
22
空間邊界
系統(tǒng)規(guī)定了控件的應(yīng)用空間,如果把控件拖到區(qū)域外呢?是否存在“免死”區(qū)域,是否有越界可能?

