與測試用例設(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)所在公司為例,積累了大量的測試經(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ū)域,是否有越界可能?