測(cè)試用例,就是針對(duì)特定的功能點(diǎn)、場(chǎng)景,來(lái)設(shè)計(jì)用來(lái)驗(yàn)證功能點(diǎn)和場(chǎng)景正確性的、可執(zhí)行的、可驗(yàn)證的過(guò)程。
功能測(cè)試,是針對(duì)軟件需求的功能測(cè)試。對(duì)軟件需求測(cè)試之前,就需要把具體的軟件需求做條目化處理,一般是樹(shù)形結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的每一個(gè)節(jié)點(diǎn),就是一個(gè)需求項(xiàng)。
對(duì)于每一個(gè)需求項(xiàng),就需要細(xì)分功能點(diǎn)。所謂的功能點(diǎn),就是這個(gè)需求具體實(shí)現(xiàn)了哪些功能,從測(cè)試的角度,就是哪些功能需要被驗(yàn)證。
功能點(diǎn)的集合,就是測(cè)試大綱。
有了功能點(diǎn)之后,我們就可以根據(jù)功能點(diǎn)來(lái)設(shè)計(jì)測(cè)試用例。那么測(cè)試用例包括什么內(nèi)容?
測(cè)試用例的步驟描述包括:前提條件、測(cè)試步驟。步驟又分成具體的操作、相關(guān)步驟的數(shù)據(jù)、預(yù)期結(jié)果。
我們可以看到,在很多成熟的測(cè)試管理軟件中,已經(jīng)把測(cè)試數(shù)據(jù)從測(cè)試步驟描述中分離出來(lái),這樣我們就可以編寫(xiě)更細(xì)致的測(cè)試用例。
從早期的測(cè)試用例來(lái)看,一般是不包含具體的數(shù)據(jù),比如“輸入正確的手機(jī)號(hào)”,“輸入錯(cuò)誤的手機(jī)號(hào)”,類(lèi)似的描述信息,這樣帶來(lái)的問(wèn)題是測(cè)試用例的顆粒度比較大。例如,這個(gè)功能點(diǎn)需要驗(yàn)證手機(jī)號(hào)的有效性,“無(wú)效的手機(jī)號(hào)”,就顯得太粗了,因?yàn)闊o(wú)效的手機(jī)號(hào)包括了很多種情況,比如長(zhǎng)度錯(cuò)誤、格式錯(cuò)誤等等。
測(cè)試用例的數(shù)據(jù)與步驟描述分離,能夠把相同執(zhí)行步驟的測(cè)試用例,通過(guò)使用不同的測(cè)試數(shù)據(jù),很容易的區(qū)分開(kāi)來(lái),也很容易把測(cè)試用例“精確化”,使得測(cè)試工程師集中精力于通過(guò)測(cè)試數(shù)據(jù)的設(shè)計(jì),實(shí)現(xiàn)測(cè)試用例設(shè)計(jì)。
測(cè)試用例的屬性包括:
用例屬性,一般包括:測(cè)試用例的創(chuàng)建人、測(cè)試用例的創(chuàng)建時(shí)間、測(cè)試用例的名稱、測(cè)試用例關(guān)聯(lián)的缺陷編號(hào)、測(cè)試用例的描述(即這個(gè)測(cè)試用例的目的是什么,或者相關(guān)的功能點(diǎn)描述)。
測(cè)試用例具有執(zhí)行歷史,也就是這個(gè)測(cè)試用例被執(zhí)行了多少次,什么時(shí)候執(zhí)行的、誰(shuí)執(zhí)行的、執(zhí)行的結(jié)果是通過(guò)還是失敗。
下面談一下測(cè)試用例設(shè)計(jì)。我們知道,測(cè)試的目標(biāo)是發(fā)現(xiàn)缺陷,因此能夠發(fā)現(xiàn)缺陷的測(cè)試用例才是好的測(cè)試用例。
問(wèn)題在于,功能點(diǎn)很多,每個(gè)功能點(diǎn)都對(duì)應(yīng)了很多個(gè)測(cè)試用例,這樣就會(huì)出現(xiàn)一個(gè)問(wèn)題:測(cè)試用例膨脹。膨脹的測(cè)試用例,會(huì)導(dǎo)致測(cè)試用例的數(shù)量很多,帶來(lái)的后果是執(zhí)行成本非常高,還不一定能夠發(fā)現(xiàn)缺陷。
因此,我們還需要使用盡可能的在不降低覆蓋率的情況下,減少測(cè)試用例的個(gè)數(shù)。
我們先說(shuō)一下測(cè)試用例設(shè)計(jì)方法。常規(guī)的測(cè)試用例設(shè)計(jì)方法,有邊界值、等價(jià)類(lèi)、錯(cuò)誤推斷、因果圖、場(chǎng)景法等方法,具體的方法本身我們不在這里討論,只是大概的介紹一下,在什么時(shí)候來(lái)使用什么方法。
邊界值和等價(jià)類(lèi)。這兩個(gè)往往是一起來(lái)使用的,能夠達(dá)到比較好的效果。邊界值,我們采用各個(gè)功能點(diǎn)表述的邊界,即可以容易的找到。等價(jià)類(lèi),在輸入數(shù)據(jù)比較小的情況下還是比較有效的,當(dāng)輸入的參數(shù)個(gè)數(shù)很多,就需要做笛卡爾積正交,這樣就產(chǎn)生非常多的測(cè)試用例,使用不當(dāng),比如:輸入?yún)?shù)有10個(gè),每個(gè)輸入?yún)?shù)有3個(gè)選項(xiàng),那么,測(cè)試用例有1000個(gè),造成測(cè)試用例膨脹。
錯(cuò)誤推斷法,其實(shí)更多時(shí)候是在測(cè)試過(guò)程中,臨時(shí)增加測(cè)試用例的方法。比如,你發(fā)現(xiàn)一個(gè)特殊的邊界條件,501,那么這個(gè)邊界值,可能不只是在你測(cè)試的這個(gè)功能點(diǎn)會(huì)出現(xiàn),在其他的地方也會(huì)出現(xiàn),因此可以增加測(cè)試用例來(lái)測(cè)試特殊的邊界。錯(cuò)誤推斷法,更容易發(fā)現(xiàn)某一類(lèi)問(wèn)題。比如,一個(gè)子系統(tǒng)不支持按鈕級(jí)別的權(quán)限控制,那么可以推定,幾乎所有的子系統(tǒng)都存在這個(gè)問(wèn)題。再比如,一個(gè)下拉列表,當(dāng)它的選項(xiàng)超過(guò)50個(gè),按照設(shè)計(jì)會(huì)有一個(gè)快速檢索的功能,如果沒(méi)有,就是一個(gè)bug。那么,這個(gè)選項(xiàng)數(shù)據(jù),在其他界面出現(xiàn)的時(shí)候,基本上也存在缺少快速檢索功能。
場(chǎng)景法。首先,我們說(shuō),什么是場(chǎng)景。場(chǎng)景其實(shí)就是一個(gè)功能在不同的環(huán)境下,有不同的表現(xiàn)。比如,復(fù)制粘貼這個(gè)功能,在word里面,可以粘貼純文本、也可以粘貼帶格式的問(wèn)題、圖片、圖表,這樣就產(chǎn)生了大量的場(chǎng)景。不同的場(chǎng)景,可以對(duì)應(yīng)一個(gè)或者多個(gè)測(cè)試用例。那么場(chǎng)景一般情況下,就是針對(duì)功能點(diǎn)做場(chǎng)景分析。大多數(shù)的功能點(diǎn),具有的場(chǎng)景一般只有一個(gè),特殊情況下可能有很多。
另一種情況,就是這個(gè)功能本身就是一個(gè)流程,那么我們可以把一個(gè)流程的分支,作為一個(gè)場(chǎng)景。場(chǎng)景之下,每一組數(shù)據(jù),都可以作為一個(gè)測(cè)試用例。
流程測(cè)試用例。我們知道功能其實(shí)有多個(gè)維度,比如當(dāng)功能或者單個(gè)頁(yè)面、單個(gè)交易的問(wèn)題,以測(cè)試數(shù)據(jù)組合為目標(biāo)。流程類(lèi)的功能,以流程測(cè)試為核心,輔助以數(shù)據(jù)來(lái)設(shè)計(jì)測(cè)試用例。
本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。