
測(cè)試用例的設(shè)計(jì)一般從分析需求設(shè)計(jì)說(shuō)明書(shū)開(kāi)始,了解開(kāi)發(fā)人員設(shè)計(jì)這個(gè)項(xiàng)目的思路、設(shè)計(jì)的要求、實(shí)現(xiàn)的功能等(最好有use case,這樣看起來(lái)更清晰)。軟件測(cè)試的W模型,就要求測(cè)試與開(kāi)發(fā)同步,在開(kāi)發(fā)設(shè)計(jì)需求設(shè)計(jì)說(shuō)明書(shū)的時(shí)候就開(kāi)始測(cè)試流程,一般情況下,討論需求設(shè)計(jì)的時(shí)候需要測(cè)試主管或者組員的參與,了解這個(gè)項(xiàng)目設(shè)計(jì)的總體情況。事實(shí)上,測(cè)試用例的編寫(xiě)一般是在需求設(shè)計(jì)說(shuō)明書(shū)定下來(lái)之后才真正的開(kāi)始的。因?yàn)闇y(cè)試用例的內(nèi)容要以需求設(shè)計(jì)說(shuō)明書(shū)為依據(jù),設(shè)計(jì)說(shuō)明書(shū)上沒(méi)體現(xiàn)的功能,不需要在測(cè)試用例中體現(xiàn)。

編寫(xiě)測(cè)試用例(這里指功能測(cè)試用例的編寫(xiě)),首先要做的就是設(shè)計(jì)測(cè)試用例的模板。每個(gè)公司都有適合自己公司用例編寫(xiě)的模板,各有各的特點(diǎn)。
測(cè)試用例的格式包括,測(cè)試用例摘要、測(cè)試用例需求編號(hào)(一個(gè)需求設(shè)計(jì)說(shuō)明書(shū)可以分好幾個(gè)用例編寫(xiě))、編寫(xiě)用例的日期、編寫(xiě)人員、編寫(xiě)日期、前置條件、準(zhǔn)備數(shù)據(jù)等等。格式?jīng)]有固定的要求,可以根據(jù)自己測(cè)試用例設(shè)計(jì)的思路,對(duì)測(cè)試用例的格式作相應(yīng)的改變。
下面以一個(gè)登陸窗口為例,說(shuō)說(shuō)我設(shè)計(jì)登陸界面的思路和方法。我把這個(gè)測(cè)試用例分為三層結(jié)構(gòu),表單測(cè)試、邏輯判斷、業(yè)務(wù)流程。

第一層,表單測(cè)試為最底層(最基礎(chǔ)的)。這部分的測(cè)試用例是對(duì)登陸窗口這個(gè)界面的輸入框、按鈕功能、界面等最基本功能的測(cè)試。一般來(lái)說(shuō)登陸用戶名和登陸用戶密碼是輸入框的形式體現(xiàn),那么,我們需要的是針對(duì)這兩個(gè)輸入框進(jìn)行功能的測(cè)試。
這時(shí),我們只要考慮這個(gè)輸入框的功能,而不需要考慮業(yè)務(wù)方面的內(nèi)容。這樣,我們考慮就是這個(gè)輸入框的長(zhǎng)度限制是多少?能否輸入特殊字符?能否輸入全角字符?當(dāng)然,登陸窗口還有其他按鈕,例如登陸按鈕、退出按鈕、界面設(shè)計(jì)等,這一層的測(cè)試用例只對(duì)他們最簡(jiǎn)單的功能的測(cè)試。
我覺(jué)得這一層的測(cè)試用例對(duì)新開(kāi)發(fā)項(xiàng)目很重要,也必須執(zhí)行,因?yàn)檫@些是最基本的功能保證,當(dāng)項(xiàng)目進(jìn)入維護(hù)階段后,如果沒(méi)有修改就不需要執(zhí)行這部分的測(cè)試了或者說(shuō)把這層的用例優(yōu)先級(jí)置為最低,時(shí)間不充足的情況就不用去執(zhí)行。

第二層,邏輯判斷層。根據(jù)需求的設(shè)計(jì),各功能之間的簡(jiǎn)單邏輯聯(lián)系。以登陸窗口為例,賬號(hào)登錄,賬號(hào)和密碼必須對(duì)應(yīng)才能登錄,否則登錄失敗。根據(jù)這一點(diǎn),我們就可以從這個(gè)要求設(shè)計(jì)這一層測(cè)試用例。
例如,賬號(hào)和密碼不一致時(shí);賬號(hào)為空時(shí);密碼為空時(shí);賬號(hào)密碼對(duì)應(yīng)時(shí)等等情況。輸入這些情況時(shí),程序是作怎么樣的邏輯控制的?控制是否正確?是否有相應(yīng)的提示信息?
我覺(jué)得,這一層的用例時(shí)最常規(guī)的一層,平時(shí)使用這個(gè)軟件用經(jīng)常碰到的一些情況,在常規(guī)測(cè)試或修改這部分的功能之后,這一部分的測(cè)試用例也必須執(zhí)行。

第三層,業(yè)務(wù)流程層。這部分不關(guān)心軟件的本身的基本功能,而是關(guān)心這個(gè)軟件的業(yè)務(wù)有沒(méi)有實(shí)現(xiàn),不同的需求就有不同的業(yè)務(wù)需求。
以登陸窗口為例,就可能有不同的需求,可能用戶要求停用的賬號(hào)能夠登錄系統(tǒng)(可能要求登錄后不允許進(jìn)行其他操作),也可能用戶直接要求停用的用戶賬號(hào)不準(zhǔn)登錄系統(tǒng)。
根據(jù)不同的業(yè)務(wù)需求,就有不同的業(yè)務(wù)流程。這樣這層的測(cè)試用例,我們就只要考慮業(yè)務(wù)需求,仍然以登錄窗口為例,我們就只要考慮刪除的用戶能否登錄?停用的用戶能否登錄?超級(jí)用戶是如何登錄的?普通用戶是何種方式登錄的?
簡(jiǎn)單的說(shuō),這層的用例只描述業(yè)務(wù)流程,不關(guān)心具體這個(gè)業(yè)務(wù)是怎么實(shí)現(xiàn)的,執(zhí)行這部分用例時(shí),不要考慮哪個(gè)輸入框控制了多少長(zhǎng)度,能否輸入空格等其他功能,因?yàn)檫@部分的測(cè)試需要基于上面兩層的測(cè)試用例都已經(jīng)測(cè)試通過(guò)了,所以在項(xiàng)目維護(hù)階段或者說(shuō)時(shí)間很緊迫的階段,我們只需要執(zhí)行這部分的用例,保證業(yè)務(wù)能夠通暢的完成。
其實(shí)個(gè)人覺(jué)得在執(zhí)行這部分用例時(shí),對(duì)包含了對(duì)基本功能的測(cè)試,一些明顯的問(wèn)題應(yīng)該能被發(fā)現(xiàn),雖然嚴(yán)格來(lái)說(shuō)測(cè)試覆蓋率很低,但是基本能達(dá)到要求。

這三層的組合起來(lái)才是一個(gè)完整的測(cè)試用例。這是我個(gè)人對(duì)測(cè)試用例設(shè)計(jì)的一個(gè)思路和方法。真正設(shè)計(jì)這個(gè)測(cè)試用例的時(shí)候,可能會(huì)使用到黑盒測(cè)試用例的方法,
例如等價(jià)類劃分、邊界值分析、錯(cuò)誤猜測(cè)法(主要是個(gè)人經(jīng)驗(yàn))、正交分解等方法針對(duì)具體情況設(shè)計(jì)測(cè)試用例。分層測(cè)試用例的思路主要來(lái)自對(duì)自動(dòng)測(cè)試實(shí)現(xiàn)的考慮。
因?yàn)槲矣X(jué)得,如果需要實(shí)現(xiàn)自動(dòng)化測(cè)試就必須對(duì)測(cè)試用例進(jìn)行細(xì)分,劃分得越細(xì)就越有利于自動(dòng)化的實(shí)現(xiàn)。
以上三層的劃分也并不是很全面,需要在實(shí)踐中不斷完善,例如可以增加對(duì)數(shù)據(jù)庫(kù)的部分功能的數(shù)據(jù)校驗(yàn)的分析。
總之,測(cè)試用例寫(xiě)的細(xì)致、全面、步驟清晰,那么無(wú)論是用手工測(cè)試的方法還是用自動(dòng)化測(cè)試的方法實(shí)現(xiàn),只要能完整的跑完整個(gè)測(cè)試用例,就達(dá)到了測(cè)試的目標(biāo)了。
end
推薦閱讀:
【軟件測(cè)試】不會(huì)測(cè)試,你甚至連用戶都不是
【軟件測(cè)試】移動(dòng)APP測(cè)試用例設(shè)計(jì)實(shí)踐經(jīng)驗(yàn)分享