測(cè)試用例該如何編寫?
測(cè)試用例?(TestCase)是為特定的測(cè)試目的而設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件和預(yù)期結(jié)果的文檔。它的作用是為了測(cè)試系統(tǒng)功能是否滿足用戶某個(gè)特定需求。測(cè)試用例是指導(dǎo)測(cè)試人員工作的依據(jù)。
1.測(cè)試用例的組成
白哦準(zhǔn)的測(cè)試用例通常由以下幾個(gè)模塊組成。
測(cè)試用例編號(hào):測(cè)試用例的唯一標(biāo)識(shí)。
模塊:標(biāo)明被測(cè)需求具體屬于系統(tǒng)中哪個(gè)模塊,這是為了更好地識(shí)別及維護(hù)測(cè)試用例。
測(cè)試用例標(biāo)題:有稱為測(cè)試點(diǎn),就是用一句話描述測(cè)試用例的關(guān)注點(diǎn),每一條測(cè)試用例對(duì)應(yīng)一個(gè)測(cè)試目的。
優(yōu)先級(jí):根據(jù)需求的優(yōu)先級(jí)別來(lái)定義,高優(yōu)先級(jí)的測(cè)試用例要覆蓋核心業(yè)務(wù)、重要特性,以及使用頻率比較高的系統(tǒng)功能部分。
前提條件:測(cè)試用例在執(zhí)行之前需要滿足的一些條件,否則測(cè)試用例無(wú)法執(zhí)行,例如,一些測(cè)試環(huán)境或者需要提前執(zhí)行的操作。
測(cè)試數(shù)據(jù):在執(zhí)行測(cè)試用例時(shí),需要輸入一些外部數(shù)據(jù)來(lái)完成測(cè)試,這些數(shù)據(jù)根據(jù)測(cè)試用例的統(tǒng)計(jì)情況來(lái)確定,有參數(shù)、文件或者數(shù)據(jù)庫(kù)記錄等數(shù)據(jù)。
測(cè)試步驟:測(cè)試用例執(zhí)行的步驟描述,測(cè)試用例的使用人員可以根據(jù)測(cè)試步驟完成測(cè)試的執(zhí)行。
期望結(jié)果:是測(cè)試用例中最重要的部分,主要用來(lái)判斷被測(cè)試對(duì)象是否運(yùn)行正常。
實(shí)際結(jié)果:結(jié)果一般有通過(guò)、失敗和未執(zhí)行。
2.測(cè)試用例優(yōu)先級(jí)
在實(shí)際工作中,測(cè)試人員根據(jù)系統(tǒng)需求會(huì)吧測(cè)試用例劃分成不同的等級(jí)。
P0:核心功能是測(cè)試用例(冒煙測(cè)試),確定此系統(tǒng)版本是否可測(cè)的測(cè)試用例,此部分測(cè)試用例的結(jié)果如果是 FALL(失?。?,其他測(cè)試用例就可以不用執(zhí)行了,需要把程序退還回去給開(kāi)發(fā)人員修改,然后再重新提測(cè)。
P1:高優(yōu)先級(jí)測(cè)試用例,最常執(zhí)行的測(cè)試用例,測(cè)試系統(tǒng)功能是否穩(wěn)定,它包含基本功能測(cè)試和重要的錯(cuò)誤、邊界測(cè)試。
P2:中優(yōu)先級(jí)測(cè)試用例,用以更全面地驗(yàn)證系統(tǒng)功能的各個(gè)方面,包含異常、邊界、中斷、網(wǎng)絡(luò)、容錯(cuò)、UI 等的測(cè)試用例。
P3:低優(yōu)先級(jí)測(cè)試用例,不常被執(zhí)行,一般包含性能、壓力、兼容性、安全、可用性等的測(cè)試用例。不同的公司可能對(duì)測(cè)試用例的等級(jí)劃分有所差異,但基本上大同小異。
3.測(cè)試用例的作用
寫測(cè)試用例帶來(lái)哪些好處呢?
首先,測(cè)試用例可以幫助人員做到心中有數(shù),在測(cè)試用例的指導(dǎo)下,測(cè)試人員不會(huì)在一個(gè)測(cè)試點(diǎn)上重復(fù)測(cè)試好多次,同時(shí)也會(huì)避免漏掉測(cè)試點(diǎn)。而且測(cè)試人員在測(cè)試用例中可以將測(cè)試數(shù)據(jù)提前準(zhǔn)備好,這樣就不會(huì)漏掉一些重要的數(shù)據(jù)了。
其次,測(cè)試用例的執(zhí)行結(jié)果也是評(píng)估測(cè)試結(jié)果的度量基準(zhǔn)。如果設(shè)計(jì)全面覆蓋需求的測(cè)試用例都執(zhí)行過(guò)了,發(fā)現(xiàn)的系統(tǒng)問(wèn)題全部修改了,程序員即可放心地把應(yīng)用程序交付給客戶使用。
再次,測(cè)試用例也是分析缺陷的標(biāo)準(zhǔn)。因?yàn)闇y(cè)試用例中會(huì)詳細(xì)描述期望結(jié)果,這個(gè)期望結(jié)果其實(shí)就是分析系統(tǒng)中是不是有缺陷的標(biāo)準(zhǔn)。因?yàn)闇y(cè)試用例中會(huì)詳細(xì)描述期望結(jié)果,這個(gè)期望結(jié)果其實(shí)就是分析系統(tǒng)中是不是有 Bug 的一個(gè)標(biāo)準(zhǔn)。測(cè)試用例執(zhí)行后反向的結(jié)果和預(yù)期結(jié)果一致的,就說(shuō)明系統(tǒng)沒(méi)有 Bug;反之,和預(yù)期結(jié)果不一致,就是系統(tǒng)存在 Bug,需要開(kāi)發(fā)人員對(duì) Bug 進(jìn)行修復(fù)。
4.測(cè)試用例設(shè)計(jì)工具
在寫測(cè)試用例的時(shí)候,測(cè)試人員可以使用思維導(dǎo)圖把待測(cè)的系統(tǒng)模塊和測(cè)試用例的設(shè)計(jì)思路理清楚。思維導(dǎo)圖完成之后就可以對(duì)測(cè)試用例進(jìn)行評(píng)審,評(píng)審?fù)戤吅?,測(cè)試用例有需要修改的地方可以在思維導(dǎo)圖上直接修改。
如果團(tuán)隊(duì)要求測(cè)試人員用表格的方式去寫測(cè)試用例,可以再把思維導(dǎo)圖中的測(cè)試思路轉(zhuǎn)化成為表格形式。
5.測(cè)試用例常見(jiàn)的編寫方法
邊界值分析法是一種很實(shí)在的黑盒測(cè)試用例方法,它具有很強(qiáng)的“發(fā)現(xiàn)”系統(tǒng)故障(Bug)的能力。邊界值分析法也是對(duì)等價(jià)類劃分法的補(bǔ)充,測(cè)試用例中的邊界值是通過(guò)等價(jià)類劃分出來(lái)的。
等價(jià)類是輸入的集合,在每個(gè)等價(jià)類中選取一定數(shù)目的值,選擇適當(dāng)?shù)臄?shù)據(jù)子集來(lái)代表整個(gè)數(shù)據(jù)集。等價(jià)類分為有效等價(jià)類和無(wú)效等價(jià)類,輸入符合條件的值對(duì)功能進(jìn)行檢驗(yàn),輸入無(wú)效等價(jià)類中的值可以找出程序錯(cuò)誤的地方。通過(guò)降低測(cè)試的數(shù)目來(lái)實(shí)現(xiàn)合理的覆蓋,覆蓋更多的可能數(shù)據(jù),以發(fā)現(xiàn)更多的軟件缺陷。
因果圖一般指魚(yú)骨圖
魚(yú)骨圖(又名因果圖、石川圖),指的是一種發(fā)現(xiàn)問(wèn)題“根本原因”的分析方法,現(xiàn)代工商管理教育將其劃分為問(wèn)題型、原因型及對(duì)策型魚(yú)骨圖等幾類。
魚(yú)骨圖由日本管理大師石川馨先生所發(fā)明,故又名石川圖。魚(yú)骨圖是一種發(fā)現(xiàn)問(wèn)題“根本原因”的方法,它也可以稱之為“Ishikawa”或者“因果圖”。其特點(diǎn)是簡(jiǎn)捷實(shí)用,深入直觀。它看上去有些像魚(yú)骨,問(wèn)題或缺陷(即后果)標(biāo)在“魚(yú)頭”處。在魚(yú)骨上長(zhǎng)出魚(yú)刺,上面按出現(xiàn)機(jī)會(huì)多寡列出產(chǎn)生問(wèn)題的可能原因,有助于說(shuō)明各個(gè)原因之間是如何相互影響的。
問(wèn)題的特性總是受到一些因素的影響,我們通過(guò)頭腦風(fēng)暴法找出這些因素,并將它們與特性值一起,按相互關(guān)聯(lián)性整理而成的層次分明、條理清楚,并標(biāo)出重要因素的圖形就叫特性要因圖、特性原因圖。因其形狀如魚(yú)骨,所以又叫魚(yú)骨圖(以下稱魚(yú)骨圖),它是一種透過(guò)現(xiàn)象看本質(zhì)的分析方法。魚(yú)骨圖也用在生產(chǎn)中,用來(lái)形象地表示生產(chǎn)車間的流程。
場(chǎng)景法:軟件的運(yùn)行幾乎都是用時(shí)間觸發(fā)來(lái)控制流程的,事件觸發(fā)時(shí)的情景便是形成了場(chǎng)景,而同一事件不同的觸發(fā)順序和處理程序就形成事件流。場(chǎng)景法就是通過(guò)場(chǎng)景對(duì)系統(tǒng)的功能或業(yè)務(wù)流程進(jìn)行測(cè)試。
判定表是由條件樁、動(dòng)作樁、條件和動(dòng)作項(xiàng)組成的。條件樁表示可能出現(xiàn)這個(gè)問(wèn)題(Bug)的所有條件,動(dòng)作樁表示這個(gè)問(wèn)題(Bug)的所有輸出結(jié)果,條件項(xiàng)為條件樁的取值,動(dòng)作項(xiàng)為條件項(xiàng)的各個(gè)取值情況下的輸出結(jié)果。