王 彩
成都東軟學(xué)院計(jì)算機(jī)科學(xué)系,四川成都 611844
在軟件項(xiàng)目中,測(cè)試用例的設(shè)計(jì)起著至關(guān)重要的作用。在測(cè)試過(guò)程中使用測(cè)試用例具有以下幾個(gè)方面的作用:有效性,準(zhǔn)確的測(cè)試用例的設(shè)計(jì)、執(zhí)行和跟蹤是測(cè)試有效性的有力證明;可評(píng)估性,測(cè)試用例的通過(guò)率和bug的數(shù)量是普遍采用的測(cè)試量化標(biāo)準(zhǔn);可復(fù)用性,良好的測(cè)試用例具有易于修改維護(hù)可重復(fù)使用的特點(diǎn)。
測(cè)試用例是可以獨(dú)立進(jìn)行執(zhí)行的最小測(cè)試單元,描述了測(cè)試內(nèi)容的一系列情景和每個(gè)情景中所包含的輸入和輸出,以及對(duì)軟件行為/狀態(tài)的正確性做出判斷的依據(jù)。如果結(jié)合實(shí)際應(yīng)用,用公式可以這樣表示:Test Case = ID + Initialization + operate+ data+expected results,也就是以下要素相加,編號(hào)、初始化條件/環(huán)境、操作、數(shù)據(jù)和預(yù)期結(jié)果。
測(cè)試用例該如何寫(xiě)才實(shí)用,我們結(jié)合一個(gè)虛擬的測(cè)試需求加以討論。假設(shè)我們要測(cè)試某網(wǎng)站郵箱的注冊(cè)功能,用戶(hù)只需注冊(cè)郵件賬號(hào),郵件域名是固定的。Email賬號(hào)必須滿(mǎn)足以下規(guī)則:由字母和數(shù)字組成 ;必須以字母開(kāi)頭 ;長(zhǎng)度為6位~18位 ;賬號(hào)唯一 。測(cè)試用例設(shè)計(jì)討論示例一、二,如表1、表2。
表1 測(cè)試用例設(shè)計(jì)示例一
表2 測(cè)試用例設(shè)計(jì)示例二
上述測(cè)試用例的設(shè)計(jì)是否規(guī)范實(shí)用,我們可以通過(guò)幾個(gè)用例的后續(xù)工作流程來(lái)看,分別是審查、執(zhí)行、維護(hù)和復(fù)用:用例是否方便審查?審查的內(nèi)容有很多方面,實(shí)際應(yīng)用中常常關(guān)心的是用例設(shè)計(jì)思路是否完整。示例一中這種用例形式,粗略的分成有效用例和無(wú)效用例,只有測(cè)試數(shù)據(jù),沒(méi)有測(cè)試思路,要想高效評(píng)審是非常困難的。用例方便執(zhí)行嗎?示例一沒(méi)有思路描述 ,測(cè)試執(zhí)行者是不容易理解測(cè)試重點(diǎn)在哪兒,照著數(shù)據(jù)敲又容易出錯(cuò),這樣的用例對(duì)執(zhí)行者來(lái)說(shuō)是不具備指導(dǎo)意義的。用例方便維護(hù)嗎,可以復(fù)用嗎?這兩個(gè)方面是相互關(guān)聯(lián)的。假如這里郵件賬號(hào)組成變了,像示例一中這種沒(méi)有思路提示的用例是很難修改的。這樣就不利于用例的維護(hù),更無(wú)法談復(fù)用的問(wèn)題了。
示例一只強(qiáng)調(diào)測(cè)試數(shù)據(jù),把用例設(shè)計(jì)簡(jiǎn)單等同于測(cè)試數(shù)據(jù)設(shè)計(jì)。示例二強(qiáng)調(diào)的是測(cè)試思路,避免了示例一中產(chǎn)生的問(wèn)題。但是示例二沒(méi)有測(cè)試數(shù)據(jù)和預(yù)期結(jié)果,適用情況有限。對(duì)于無(wú)測(cè)試數(shù)據(jù)、測(cè)試數(shù)據(jù)簡(jiǎn)單、預(yù)期結(jié)果簡(jiǎn)單直觀 ,或者項(xiàng)目時(shí)間緊的情況,才可以用這種形式的用例。
從上述討論,我們可以得出這樣的結(jié)論,測(cè)試思路比測(cè)試數(shù)據(jù)更具有指導(dǎo)意義。但是,示例二中并不適用普遍的情況。規(guī)范的測(cè)試用例至少要包含下述關(guān)鍵要素:用例編號(hào)、測(cè)試環(huán)境、用例標(biāo)題、用例操作、測(cè)試數(shù)據(jù)以及預(yù)期結(jié)果,下面我們將一一闡述:
編號(hào)不用贅述,符合一般的要求即可:便于檢索,易于識(shí)別,保證唯一性。
測(cè)試環(huán)境很重要,針對(duì)不同測(cè)試對(duì)象會(huì)有不一樣的環(huán)境項(xiàng),比如這里我們只要標(biāo)示出操作系統(tǒng)和瀏覽器就足夠了。但如果是手機(jī)測(cè)試,環(huán)境項(xiàng)就要包含很多手機(jī)參數(shù),包括手機(jī)品牌、手機(jī)型號(hào)、操作系統(tǒng)、是否智能機(jī)、屏幕分辨率、手機(jī)卡容量等等。
用例的標(biāo)題是用一個(gè)詞或者一句話(huà)表達(dá)用例的主題,反映測(cè)試的思路。比如“有效用例”就可以作為標(biāo)題,但是不能簡(jiǎn)單的用“無(wú)效用例”作為標(biāo)題。因?yàn)闊o(wú)效的情況太多了,要盡量明確無(wú)效原因,“大于最大長(zhǎng)度”還是“重復(fù)的郵件賬號(hào)”。
測(cè)試用例的操作也叫輸入條件。很多測(cè)試人員對(duì)測(cè)試用例操作有這樣一個(gè)誤解:把用例操作當(dāng)成填寫(xiě)具體操作步驟的表格?!安僮鳌辈⒉恢皇怯脕?lái)描述具體實(shí)現(xiàn)的,而是著重描述處理問(wèn)題的思路,描述我們將要如何進(jìn)行測(cè)試。
測(cè)試數(shù)據(jù)的重要性毋庸置疑!本例中,有思路提示后執(zhí)行者很清楚應(yīng)該用什么樣的測(cè)試數(shù)據(jù),所以測(cè)試數(shù)據(jù)列可寫(xiě)可不寫(xiě)。但是這種情況絕不是一概而論 。特別是某些用例的失敗和特定的測(cè)試數(shù)據(jù)相關(guān)的情況。
還有很重要的一個(gè)因素是預(yù)期結(jié)果,它是對(duì)軟件行為/狀態(tài)的正確性做出判斷的依據(jù)。不要像示例一中那樣,簡(jiǎn)單寫(xiě)成通過(guò)/不通過(guò)。有很多附屬結(jié)果會(huì)發(fā)生,并影響對(duì)用例結(jié)果的判斷。本例中注冊(cè)失敗后,可能有系統(tǒng)提示,光標(biāo)移動(dòng)等可見(jiàn)行為,還要注意在后臺(tái)數(shù)據(jù)庫(kù)中驗(yàn)證數(shù)據(jù)有沒(méi)有寫(xiě)進(jìn)數(shù)據(jù)庫(kù)表。
綜合上述用例的要素描述并結(jié)合本文假定的測(cè)試需求,給出部分測(cè)試用例參考如下:
表3 測(cè)試用例設(shè)計(jì)規(guī)范參考
本文就測(cè)試用例的幾個(gè)關(guān)鍵要素闡述了作者的觀點(diǎn)和設(shè)計(jì)思路,在實(shí)際應(yīng)用中,不同公司不同類(lèi)型項(xiàng)目所適用的用例規(guī)范不可能完全一樣,一定是和具體實(shí)踐相結(jié)合的。國(guó)內(nèi)的測(cè)試行業(yè)和測(cè)試規(guī)范還處在一個(gè)快速發(fā)展的時(shí)期,有無(wú)限的潛力和機(jī)遇等待我們?nèi)グl(fā)掘。
[1]Edward.Kit.軟件測(cè)試過(guò)程改進(jìn)[M].李新華,陳麗容,等譯.機(jī)械工業(yè)出版社,2011,5.
[2]Gerard,ORegan,閃四清.軟件質(zhì)量實(shí)用方法論[M].清華大學(xué)出版社,2011,5.
[3]朱少民.全程軟件測(cè)試[M].電子工業(yè)出版社,2010,8.
[4]Rex.Black.軟件測(cè)試過(guò)程管理[M].龔波,但靜培,等譯.機(jī)械工業(yè)出版社,2007,10.
[5]聶長(zhǎng)海.關(guān)于軟件測(cè)試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011(2).