一、動態(tài)測試用例編寫
1.分析因素
支付金額需要是數(shù)字,那如果輸入非數(shù)字例如字母a,會怎樣?這里有了名列前茅個因素(或維度),即是否是數(shù)字;數(shù)字有正有負(fù),是否支持0和負(fù)數(shù)?這是第二個因素,即數(shù)字類型(考慮有理數(shù));支持小數(shù),就有了整數(shù)和小數(shù)之分,于是第三個因素是小數(shù)點位數(shù)。
需要說明的是,劃分并不是少數(shù)的。譬如第三個因素,可以從“是否是整數(shù)”的角度來劃分,也可以從“小數(shù)點位數(shù)”來劃分,是等價的。
2.劃分等價類
首先,分析完因素設(shè)計用例時,要保證每一個層級只考慮一個少數(shù)的因素,也是為了保證MECE。例如,上圖中的“正數(shù)”包含在“數(shù)字”中,而不能和它并列。
要保證每一個層級只考慮一個少數(shù)的因素
接下來對“整數(shù)”和“小數(shù)”進(jìn)行等價類劃分。每個分支都根據(jù)MECE分析法劃分有效等價類和無效等價類,例如針對“小數(shù)”的劃分,支持小數(shù)點后2位有效數(shù)字,即1位和2位都可以,那輸入3位系統(tǒng)會如何提示?都要設(shè)計出來。
3.注意描述
失敗:是怎樣失?。繜o效類有三種情況,所以具體是“無法輸入”,是“可以輸入但無法確認(rèn)”,還是“可以輸入并確認(rèn)但提示報錯”以及報什么錯,都要明確寫出來。因為有些面向最終用戶的關(guān)鍵系統(tǒng),用戶體驗很重要,不明確寫出來在測試時很難注意到細(xì)節(jié)。
同樣,成功了會怎樣?扣款是否正確,收款方能否收到,這些都是關(guān)鍵的驗證點。
當(dāng)然,寫好一個完整項目的測試用例,離不開深入的需求分析。本節(jié)內(nèi)容是在需求分析的基礎(chǔ)上,教你如何寫出覆蓋全面、邏輯清晰、可讀性好的用例,這也是復(fù)用和維護(hù)測試用例的基礎(chǔ)。如何衡量你的用例是否符合這些特征,這里提供三個tips:
和開發(fā)、產(chǎn)品、及資深測試對齊,看他們在覆蓋度上是否有補充;請資深測試人員審核你的用例,看是否有覺得不清晰不理解的地方;不定期回顧自己之前的用例,看是否有不清晰的地方。延伸閱讀:
二、測試用例如何管理
在說測試用例管理之前,首先要明確背景,即為什么要管理測試用例,我們在第二小節(jié)已經(jīng)提到了,這里再詳細(xì)總結(jié)一下:
首先,一個測試用例可能既用于冒煙測試,又用于回歸測試,以及不同級別的回歸,需要一個方便的方法將其篩選出來;
業(yè)務(wù)系統(tǒng)會越來越復(fù)雜,有已經(jīng)管理好的用例做參考,可以直觀了解到某個模塊涉及到的業(yè)務(wù)邏輯,有效避免漏測;
迭代開發(fā)時,要了解之前的邏輯。復(fù)用已有的測試用例,便于理解之前的業(yè)務(wù)邏輯,也避免了重復(fù)造輪子;
系統(tǒng)的重構(gòu),利用現(xiàn)有的用例,可以大大提升工作效率和質(zhì)量。