1.測(cè)試用例是什么
測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求
2.測(cè)試用例的作用
以前一直覺(jué)得寫(xiě)測(cè)試用例是一種特別費(fèi)時(shí)且沒(méi)有意義的工作,一直很排斥,后來(lái)經(jīng)過(guò)同事的指點(diǎn)以及百人計(jì)劃的分享,才發(fā)現(xiàn)測(cè)試用例非常重要,很有必要好好學(xué)寫(xiě)。主要的作用如下:
a.測(cè)試用例可以讓測(cè)試新人快速了解整個(gè)項(xiàng)目的業(yè)務(wù)
b.執(zhí)行測(cè)試,發(fā)現(xiàn)缺陷,讓測(cè)試更加方便的執(zhí)行
c.防止漏測(cè),只需要根據(jù)用例一條一條執(zhí)行即可
d.對(duì)執(zhí)行者的要求不高,人員緊缺的情況下沒(méi)有任何經(jīng)驗(yàn)的人都可以參與進(jìn)來(lái)測(cè)試
e.可以作為評(píng)估測(cè)試人員進(jìn)度,工作量以及跟蹤/管理測(cè)試工作人員的工作效率的主要因素,從而更加合理的做出測(cè)試安排或調(diào)整。
3.測(cè)試用例設(shè)計(jì)的基本準(zhǔn)則
a.測(cè)試用例的代表性:能夠代表并覆蓋各種合理的和不合理,合法的和不合法的,邊界和越界的,以及極限的輸入數(shù)據(jù),操作和環(huán)境設(shè)置等
b.測(cè)試結(jié)果的可判定性:即執(zhí)行測(cè)試結(jié)果的正確性是可判定的,每一個(gè)測(cè)試用例都應(yīng)該有相應(yīng)的期望結(jié)果
c.測(cè)試結(jié)果的可再現(xiàn)性:即對(duì)同樣的測(cè)試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的
4.黑盒測(cè)試用例設(shè)計(jì)方法
等價(jià)類劃分法
在規(guī)定了輸入條件必須遵守的規(guī)則的情況下(取值范圍/值個(gè)數(shù)/值集合/布爾值)可確立一個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。
如:姓名文本框允許輸入10個(gè)vachar,則應(yīng)分別測(cè)試輸入10個(gè)英文字符(區(qū)分大小寫(xiě)),10個(gè)中文字符,10個(gè)全數(shù)字字符,10個(gè)混合字符等
邊值分析法
對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試,若邊界附近的取值不會(huì)導(dǎo)致程序出錯(cuò),那么其他的取值導(dǎo)致程序錯(cuò)誤的可能性也很小
如:姓名文本框允許輸入10個(gè)vachar,則應(yīng)分別測(cè)試輸入10個(gè)英文字符,0個(gè)英文字符,1個(gè)英文字符,11個(gè)英文字符
一般來(lái)說(shuō),邊值分析法時(shí)等價(jià)類劃分的補(bǔ)充
正交試驗(yàn)法
從大量的試驗(yàn)點(diǎn)中挑選出適量的,有代表性的點(diǎn),應(yīng)用依據(jù)迦羅瓦理論導(dǎo)出的“正交表”,合理的安排試驗(yàn)的一種科學(xué)的試驗(yàn)設(shè)計(jì)方法
如:某所大學(xué)通信系共2個(gè)班級(jí),剛考完某一門(mén)課程,想通過(guò)“性別”、“班級(jí)”和“成績(jī)”這三個(gè)查詢條件對(duì)通信系這門(mén)課程的成績(jī)分布,男女比例或班級(jí)比例進(jìn)行人員查詢:根據(jù)“性別”=“男,女”進(jìn)行查詢;根據(jù)“班級(jí)”=“1班,2班”查詢;根據(jù)“成績(jī)”=“及格,不及格”查詢
步驟:
a.提取功能說(shuō)明,構(gòu)造因子-狀態(tài)表
共3個(gè)因子,每個(gè)因子有兩個(gè)狀態(tài),因此,全部測(cè)試用例數(shù)為2*2*2=8個(gè)

b.計(jì)算各因子和狀態(tài)的權(quán)值,刪去一部分權(quán)值較?。ㄖ匾暂^小的因子或狀態(tài)),使最后生成的測(cè)試用例集縮減到允許范圍內(nèi)
套用三因素兩水平的剛好有L4(2^3)的正交表,得到的測(cè)試用例個(gè)數(shù)是n=3*(2-1)+1=4? ?


c.利用正交表的每行數(shù)據(jù)構(gòu)造測(cè)試用例

流程分析法
主要針對(duì)測(cè)試場(chǎng)景類型屬于流程測(cè)試場(chǎng)景的測(cè)試項(xiàng)下的測(cè)試子項(xiàng)進(jìn)行設(shè)計(jì)
如:用戶進(jìn)入一個(gè)在線購(gòu)物網(wǎng)站進(jìn)行購(gòu)物:
1)該網(wǎng)站必須使用注冊(cè)帳號(hào)購(gòu)買(mǎi)商品;
2)選擇物品后,進(jìn)行在線購(gòu)買(mǎi),若帳號(hào)已登錄,則直接生成訂單;
3)若帳號(hào)未登錄,則必須先登錄帳號(hào),再生成訂單;
4)帳號(hào)登錄成功后,生成訂單,可進(jìn)行付錢(qián)交易,付款成功后,完成整個(gè)購(gòu)物過(guò)程;
5)登錄帳號(hào)時(shí),若帳號(hào)錯(cuò)誤,則提示“帳戶不存在”;若密碼錯(cuò)誤,則提示“密碼錯(cuò)誤”;帳號(hào)或密碼錯(cuò)誤均需重新輸入帳號(hào)和密碼;
6)付款時(shí),若帳號(hào)余額不足,則提示“帳戶余額不足”。
步驟
a.畫(huà)出業(yè)務(wù)流程圖

b.定義狀態(tài)節(jié)點(diǎn)和條件分支
c.確定測(cè)試路徑
? ? ? ? 1)正常流程,購(gòu)買(mǎi)成功(基本流程):對(duì)應(yīng)一次性購(gòu)買(mǎi)并付款成功;
? ? ? ? 2)異常流程,購(gòu)買(mǎi)失敗(分支流程):對(duì)應(yīng)取款失敗,包括退卡、吞卡;
? ? ? ? 3)異常流程,購(gòu)買(mǎi)成功(循環(huán)流程):對(duì)應(yīng)中間出現(xiàn)意外,比如密碼輸入錯(cuò)誤,賬號(hào)輸入錯(cuò)誤,付款時(shí)余額不足,但是最終成功付款的情況。
d.選取測(cè)試數(shù)據(jù),構(gòu)造測(cè)試用例
根據(jù)上一步確定的測(cè)試路徑,編寫(xiě)詳細(xì)的測(cè)試用例
判定表法
判定表是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確
因果圖法
把規(guī)格轉(zhuǎn)化為判定表的系統(tǒng)化方法,從該圖中可以產(chǎn)生測(cè)試數(shù)據(jù)。其中,原因是表示輸入條件,結(jié)果是對(duì)輸入執(zhí)行的一系列計(jì)算后得到的輸出
步驟:
a.把大的系統(tǒng)規(guī)格劃分解成可以測(cè)試的規(guī)格片段
b.分析分解后待測(cè)的系統(tǒng)規(guī)格,找出哪些是原因,哪些是結(jié)果
c.畫(huà)出因果圖
d.把因果圖轉(zhuǎn)換成判定表
e.簡(jiǎn)化判定表
f.用判定表中的每一項(xiàng)生成測(cè)試用例
狀態(tài)遷移圖法
許多需求用狀態(tài)機(jī)的方式來(lái)描述,狀態(tài)機(jī)的測(cè)試主要關(guān)注在測(cè)試狀態(tài)轉(zhuǎn)移的正確性上面。對(duì)于一個(gè)有限狀態(tài)機(jī),通過(guò)測(cè)試驗(yàn)證其在給定的條件內(nèi)是否能夠產(chǎn)生需要的狀態(tài)變化,有沒(méi)有不可達(dá)的狀態(tài)和非法的狀態(tài),可能不可能產(chǎn)生非法的狀態(tài)轉(zhuǎn)移等。用這種方法可以設(shè)計(jì)逆向的測(cè)試用例,如狀態(tài)和事件的非法組合
如下圖

輸出域覆蓋法
分析各輸出的等價(jià)類, 通過(guò)選擇那些會(huì)導(dǎo)致各個(gè)輸出的等價(jià)類被達(dá)到的輸入點(diǎn)來(lái)執(zhí)行測(cè)試,期望達(dá)到輸出域等價(jià)類覆蓋
異常分析法
系統(tǒng)異常分析法就是針對(duì)系統(tǒng)有可能存在的異常操作、軟硬件缺陷引起的故障進(jìn)行分析,依此設(shè)計(jì)測(cè)試用例。主要針對(duì)系統(tǒng)的容錯(cuò)能力、故障恢復(fù)能力進(jìn)行測(cè)試
錯(cuò)誤猜測(cè)法
錯(cuò)誤猜測(cè)法就是根據(jù)經(jīng)驗(yàn)猜想可能有什么問(wèn)題并依此設(shè)計(jì)測(cè)試用例
在使用時(shí)要針對(duì)開(kāi)發(fā)項(xiàng)目的特點(diǎn)對(duì)方法加以適當(dāng)?shù)倪x擇要采用的用例設(shè)計(jì)方法
5.白盒測(cè)試用例設(shè)計(jì)方法
語(yǔ)句覆蓋法
分支覆蓋法
條件覆蓋法
分支條件覆蓋法
路徑覆蓋法
基本路徑覆蓋法