場(chǎng)景法的測(cè)試用例
場(chǎng)景法的測(cè)試用例
通過(guò)運(yùn)用場(chǎng)景來(lái)對(duì)系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程的描述,從而提高測(cè)試效果。場(chǎng)景法一般包含基本流和備用流,從一個(gè)流程開(kāi)始,通過(guò)描述經(jīng)過(guò)的路徑來(lái)確定的過(guò)程,經(jīng)過(guò)遍歷所有的基本流和備用流來(lái)完成整個(gè)場(chǎng)景。
為什么場(chǎng)景法能如此清晰的描述整個(gè)事件?因?yàn)椋F(xiàn)在的系統(tǒng)基本上都是由事件來(lái)觸發(fā)控制流程的。
如:我們申請(qǐng)一個(gè)項(xiàng)目,需先提交審批單據(jù),再由部門(mén)經(jīng)理審批,審核通過(guò)后由總經(jīng)理來(lái)最終審批,如果部門(mén)經(jīng)理審核不通過(guò),就直接退回。每個(gè)事件觸發(fā)時(shí)的情景便形成了場(chǎng)景。而同一事件不同的觸發(fā)順序和處理結(jié)果形成事件流。這一系列的過(guò)程我們利用場(chǎng)景法可以清晰的描述清楚。
下圖來(lái)展示一下網(wǎng)上最長(zhǎng)見(jiàn)的場(chǎng)景法基本情況的一個(gè)實(shí)例圖。
場(chǎng)景法and正交實(shí)驗(yàn)法
1.原理: 現(xiàn)在的軟件幾乎都是用事件觸發(fā)來(lái)控制流程的。測(cè)試時(shí),可以生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于設(shè)計(jì)測(cè)試用例,同時(shí)使測(cè)試用例更容易理解和執(zhí)行。
2.核心思想 把自己當(dāng)成最終的用戶,使用軟件,設(shè)計(jì)出在使用軟件過(guò)程中重要的操作,一般包括兩類: 1.模擬用戶完成正常功能、核心業(yè)務(wù)邏輯的動(dòng)作,以驗(yàn)證功能的正確性 2.模擬用戶操作中出現(xiàn)的主要錯(cuò)誤,以驗(yàn)證程序的異常處理能力 3.術(shù)語(yǔ): 1.基本流(有效流):軟件功能按照正確的事件流實(shí)現(xiàn)的一條正確流程。
通常一個(gè)業(yè)務(wù)僅存在一個(gè)基本流,且基本流僅有一個(gè)起點(diǎn)和一個(gè)終點(diǎn)?(模擬用戶正確的操作流程) 2.備選流(無(wú)效流、錯(cuò)誤流):除了基本流之外的各支流,包含多種不同的情況?(模擬用戶錯(cuò)誤的操作流程) 4.場(chǎng)景法的使用要求: 要對(duì)所測(cè)試的軟件的業(yè)務(wù)邏輯、主要功能非常精通,比如測(cè)試游戲軟件,要會(huì)玩游戲。如果連**關(guān)都過(guò)不了,也就沒(méi)辦法繼續(xù)測(cè)了。 5.場(chǎng)景法的適用情況: 1.場(chǎng)景法可以使用在所有的軟件. 2.適合場(chǎng)景法的軟件界面特點(diǎn):沒(méi)有太多填寫(xiě)項(xiàng),所有的操作都是通過(guò)鼠標(biāo)的點(diǎn)擊、雙擊、拖拽等完成。 ATM機(jī)取錢(qián) 基本流: 1.插入銀行卡:客戶插入銀行卡到ATM機(jī)的讀卡器中 2.檢驗(yàn)銀行卡:檢查是否是可以讀取的卡片 3.輸入密碼 4.驗(yàn)證密碼:確認(rèn)密碼的正確性 5.進(jìn)入到ATM主界面 6.選擇\”取款\”,并選擇金額 7.驗(yàn)證賬戶余額是否滿足取款金額,驗(yàn)證ATM機(jī)上的現(xiàn)金是否足夠 8.更新賬戶余額,出鈔 9.回到主界面 備選流:(在娶錢(qián)的過(guò)程中遇到了錯(cuò)誤) 1.插入保健卡:提示退卡 2.密碼錯(cuò)誤:提示錯(cuò)誤,并判斷是否輸錯(cuò)3次 3.密碼輸錯(cuò)3次:吞卡 4.賬戶余額不足:提示 5.總?cè)】罱痤~超過(guò)當(dāng)日限定額度 6.ATM機(jī)余額不足 注意:場(chǎng)景法中必須有基本流 場(chǎng)景法實(shí)例(重點(diǎn)) 設(shè)計(jì)用例的步驟 根據(jù)說(shuō)明,描述出程序的基本流及各項(xiàng)備選流 根據(jù)基本流和各項(xiàng)備選流生成不同的場(chǎng)景 對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例 對(duì)生成的所有測(cè)試用例重新復(fù)審,去掉多余的測(cè)試用例 測(cè)試用例確定后,對(duì)每一個(gè)測(cè)試用例確定測(cè)試數(shù)據(jù)值 * 場(chǎng)景法適用于解決業(yè)務(wù)流程清晰的系統(tǒng)或功能 (1).分析需求,找出基本流和備選流 ATM案例: 畫(huà)出基本流和備選流圖 基本流:插卡->輸入密碼….->取卡 備選流: 1.卡片是不是銀行卡 2.卡片是不是銀聯(lián)卡 3.密碼輸錯(cuò)1次 4.密碼輸錯(cuò)2次,第三次輸入正確 5.密碼輸錯(cuò)3次,凍結(jié)賬號(hào)并吞卡 6.選擇存款服務(wù) 7.選擇查詢服務(wù) 8.選擇轉(zhuǎn)賬服務(wù) 9.選擇取款金額 10.選擇其他金額 11.賬戶余額不夠 12.ATM機(jī)沒(méi)錢(qián) 13.取款金額達(dá)到當(dāng)日限制取款額 14.取款機(jī)掉線 15.取款機(jī)斷電 (2).根據(jù)基本流、備選流列出場(chǎng)景 場(chǎng)景設(shè)計(jì): 場(chǎng)景1:基本流 場(chǎng)景2:基本流,備選流4(插卡->密碼輸錯(cuò)2次,第三次輸入正確->…->取卡) 場(chǎng)景3:基本流,備選流11(插卡->輸入密碼->選擇取款->輸入取款金額->提示余額不足->重新輸入取款金額->..->取卡) 場(chǎng)景4:….. (3).根據(jù)場(chǎng)景,編寫(xiě)用例(場(chǎng)景和用例并不一定是一對(duì)一關(guān)系) 使用場(chǎng)景2 測(cè)試步驟?輸入數(shù)據(jù) 1.插入(用銀聯(lián)卡) 2.輸入密碼(*百科*次輸入密碼錯(cuò)誤)?123456 3.再次輸入密碼(第二次輸入密碼錯(cuò)誤) 234567 4.第三次輸入密碼(輸入密碼正確)?883344 5.選擇取款服務(wù) 6.輸入取款金額?4500 7.等待出鈔,獲取鈔票 8.取卡正交實(shí)驗(yàn)法原理(重點(diǎn)) 1.使用的場(chǎng)景不多 2.比較難理解 3.原理: 概念:正交實(shí)驗(yàn)法就是利用排列整齊的表 -正交表來(lái)對(duì)試驗(yàn)進(jìn)行整體設(shè)計(jì)、綜合比較、統(tǒng)計(jì)分析,實(shí)現(xiàn)通過(guò)少數(shù)的實(shí)驗(yàn)次數(shù)找到較好的生產(chǎn)條件,以達(dá)到**效果。
這種試驗(yàn)設(shè)計(jì)法是從大量的試驗(yàn)點(diǎn)中挑選適量的具有代表性的點(diǎn),利用已經(jīng)造好的表格—正交表來(lái)安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的方法。 正交實(shí)驗(yàn)法的數(shù)學(xué)原理(線性代數(shù),概率論,數(shù)理統(tǒng)計(jì)) n階拉丁方(每行,每列里的數(shù)據(jù)不能有重復(fù)的數(shù)字,類似于數(shù)獨(dú),**性代數(shù)里叫矩陣) 3階拉丁方 A B C A B C B C A 和 C A B C A B B C A 用數(shù)字替代拉丁字母?正交運(yùn)算?正交表 1?2?3 1?2?3 (1,1)?(2,2)?(3,3) 2?3?1 和 3?1?2 -> (2,3)?(3,1)?(1,2) 3?1?2 2?3?1 (3,2)?(1,3)?(2,1) 4.基本思想: 在一項(xiàng)試驗(yàn)中,把影響試驗(yàn)結(jié)果的量稱為試驗(yàn)因素(因子),簡(jiǎn)稱因素。在試驗(yàn)過(guò)程中,每一個(gè)因素可以處于不同的狀態(tài)或狀況,把因素所處的狀態(tài)或狀況,稱為因素的水平,簡(jiǎn)稱水平。
每列中不同數(shù)字出現(xiàn)的次數(shù)相等。這一特點(diǎn)表明每個(gè)因素的每個(gè)水平與其它因素的每個(gè)水平參與試驗(yàn)的幾率是完全相同的,能有效地比較試驗(yàn)結(jié)果并找出**的試驗(yàn)條件。 在任意2列其橫向組成的數(shù)字對(duì)中,每種數(shù)字對(duì)出現(xiàn)的次數(shù)相等。
這個(gè)特點(diǎn)保證了試驗(yàn)點(diǎn)均勻地分散在因素與水平的完全組合之中。 正交實(shí)驗(yàn)法實(shí)現(xiàn)步驟(重點(diǎn)) 正交實(shí)驗(yàn)法實(shí)現(xiàn)的基本步驟 1.確定因素:這里的因素是指對(duì)軟件運(yùn)行結(jié)果有影響的條件 確定因素的取值范圍或**(該步是為步驟3做準(zhǔn)備的) 因素的取值范圍是指軟件輸入的取值范圍或**以及可用的硬件資源 2.確定每個(gè)因素的水平 根據(jù)因素的取值范圍或** ,采用等價(jià)類劃分、邊界值分析以及其他軟件測(cè)試技術(shù),在每個(gè)因素的取值范圍或**內(nèi)挑選出有效等價(jià)類、無(wú)效等價(jià)類、正好等于、剛剛大于或剛剛小于邊界值等有代表性的測(cè)試值 比如:打字,字的顯示效果 因素:字體,字號(hào),顏色 水平: 字體:如有微軟雅黑,宋體,黑體,等等….?200多個(gè) 字號(hào):100多個(gè) 顏色:256個(gè) 字的顯示效果有多少種? 200*100*256 選擇正交表 根據(jù)確定的因素和水平 ,選擇適合的正交表 如果沒(méi)有合適的正交表可用或需要的測(cè)試用例個(gè)數(shù)太多 ,要對(duì)因素和水平進(jìn)行調(diào)整 1.分析所有對(duì)結(jié)果有影響的因素,從多個(gè)角度和方式進(jìn)行分析(不要放過(guò)文本框,按鍵等需求中提及或沒(méi)有提及的) 2.分析每個(gè)因素的水平數(shù)量:充分利用等價(jià)類,邊界值,(需求中說(shuō)明的或未有說(shuō)明的都要分析) 3.選擇正交表,只有特定的因素和水平數(shù)的組合才有對(duì)應(yīng)的正交表,所以在現(xiàn)實(shí)中用的時(shí)候,找最貼近的正交表 (正交表的因素和水平數(shù)一般要大于實(shí)際的因素?cái)?shù)和水平數(shù)) 正交表的表示法 Ln(m^k) 這m,k,n之間沒(méi)有數(shù)學(xué)關(guān)系 m是水平數(shù),k是因素?cái)?shù),n是需要進(jìn)行實(shí)驗(yàn)的行數(shù) 行數(shù):正交表中的行的個(gè)數(shù),即試驗(yàn)的次數(shù),也是通過(guò)正交實(shí)驗(yàn)法設(shè)計(jì)的測(cè)試用例的個(gè)數(shù) 因素?cái)?shù):正交表中列的個(gè)數(shù),即要測(cè)試的功能點(diǎn)。
3、測(cè)試用例設(shè)計(jì)方法
場(chǎng)景法是對(duì)系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程的描述來(lái)進(jìn)行設(shè)計(jì),模擬出用戶的正常操作流程和異常的流程,也就是基本流和備選流。一般情況下是一條基本流,N條備選流。
其中,基本流就是每個(gè)步驟都是最正常的情況;備選流就是有步驟不是最正常情況,導(dǎo)致生成的新分支。
等價(jià)類劃分法一般分成兩類:有效等價(jià)類、無(wú)效等價(jià)類;等價(jià)類其實(shí)就是子集。 1、完備測(cè)試、避免冗余 2、**的劃分,劃分為互不相交的一組子集,而子集的并集是整個(gè)**;子集互不相交:保證一種形式的無(wú)冗余性 3、同一等價(jià)類標(biāo)志一個(gè)測(cè)試用例;因?yàn)橥瑐€(gè)等價(jià)類中,往往在程序中的處理方式相同。比如說(shuō): 在確立了等價(jià)類后,可建立等價(jià)類表,列出所有劃分出的等價(jià)類輸入條件:有效等價(jià)類、無(wú)效等價(jià)類,然后從劃分出的等價(jià)類中按以下三個(gè)原則設(shè)計(jì)測(cè)試用例: 列出正三角形的有效等價(jià)類和無(wú)效等價(jià)類(答案百度有) 邊界值法是對(duì)等價(jià)類劃分法的一種補(bǔ)充(等價(jià)類法得到的測(cè)試數(shù)據(jù)太多,幾乎無(wú)限),一般是對(duì)等價(jià)類劃分法的分類進(jìn)行邊界值劃分。根據(jù)經(jīng)驗(yàn),大量的錯(cuò)誤是出現(xiàn)在輸入或輸出的邊界值上,因此針對(duì)各種邊界值情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。
不僅是考慮輸入值的邊界,也要考慮輸出值的邊界 if、while等語(yǔ)句的判斷條件、定義域、值域邊界、空、畸形輸入、未受控狀態(tài)等。 拓展知識(shí) 因果圖法是對(duì)等價(jià)類法的一種補(bǔ)充(等價(jià)類法沒(méi)有考慮到多個(gè)輸入情況的組合)。如果一個(gè)功能邏輯,涉及多個(gè)條件或控件,則這時(shí)候要考慮它們之間的組合關(guān)系,不同的組合之間會(huì)觸發(fā)什么樣的輸出結(jié)果。
與、或、非、恒等、**、包含、互斥 靠經(jīng)驗(yàn)和直覺(jué)推測(cè)系統(tǒng)可能存在的錯(cuò)誤,從而有針對(duì)性地去檢查這些錯(cuò)誤的方法。嗯…看人的一種“方法”。 分析系統(tǒng)中最容易出錯(cuò)的場(chǎng)景和情況,在此基礎(chǔ)上有針對(duì)性地設(shè)計(jì)測(cè)試用例。
測(cè)試用例設(shè)計(jì)方法有哪些?
1、等價(jià)類劃分
為每個(gè)輸入劃分等價(jià)類,得到等價(jià)類表,為每個(gè)等價(jià)類規(guī)定一個(gè)**編號(hào)。設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多的覆蓋所有尚未覆蓋的有效等價(jià)類。
重復(fù)這一步驟,使得有效等價(jià)類均被測(cè)試用例所覆蓋設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。
重復(fù)這一步驟使得所有無(wú)效等價(jià)類均被覆蓋。
2、邊界值分析
從測(cè)試規(guī)格中分析得到輸入?yún)?shù)類型,對(duì)于輸入等價(jià)類劃分方法進(jìn)行等價(jià)類的劃分,運(yùn)用域測(cè)試分析方法確定域范圍的邊界(上點(diǎn)、離點(diǎn)與內(nèi)點(diǎn))。如果存在多個(gè)輸入域,則需要運(yùn)用因果圖、判定表方法這些輸入域邊界值的組合情況進(jìn)行進(jìn)一步分析,選擇這些上點(diǎn)、離點(diǎn)與內(nèi)點(diǎn)或者這些點(diǎn)的組合形成測(cè)試項(xiàng)。
3、判定表
判定表是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確。
列出所有的條件樁和動(dòng)作樁,填入條件樁、條件項(xiàng)和動(dòng)作樁、動(dòng)作項(xiàng),化簡(jiǎn),合并相似規(guī)則,將每條規(guī)則轉(zhuǎn)化為用例。
基本格式
1、用例編號(hào)
測(cè)試用例的編號(hào)有一定的規(guī)則,比如系統(tǒng)測(cè)試用例的編號(hào)這樣定義規(guī)則:PROJECT1-ST-001,命名規(guī)則是項(xiàng)目名稱+測(cè)試階段類型(系統(tǒng)測(cè)試階段)+編號(hào)。定義測(cè)試用例編號(hào),便于查找測(cè)試用例,便于測(cè)試用例的跟蹤。
2、測(cè)試標(biāo)題
對(duì)測(cè)試用例的描述,測(cè)試用例標(biāo)題應(yīng)該清楚表達(dá)測(cè)試用例的用途。比如“測(cè)試用戶登錄時(shí)輸入錯(cuò)誤密碼時(shí),軟件的響應(yīng)情況”。
3、重要級(jí)別
定義測(cè)試用例的優(yōu)先級(jí)別,可以籠統(tǒng)的分為四個(gè)不同的等級(jí)。
4、輸入限制
提供測(cè)試執(zhí)行中的各種輸入條件。根據(jù)需求中的輸入條件,確定測(cè)試用例的輸入。測(cè)試用例的輸入對(duì)軟件需求當(dāng)中的輸入有很大的依賴性,如果軟件需求中沒(méi)有很好的定義需求的輸入,那么測(cè)試用例設(shè)計(jì)中會(huì)遇到很大的障礙。
5、操作步驟
提供測(cè)試執(zhí)行過(guò)程的步驟。對(duì)于復(fù)雜的測(cè)試用例,測(cè)試用例的輸入需要分為幾個(gè)步驟完成,這部分內(nèi)容在操作步驟中詳細(xì)列出。
6、預(yù)期結(jié)果
提供測(cè)試執(zhí)行的預(yù)期結(jié)果,預(yù)期結(jié)果應(yīng)該根據(jù)軟件需求中的輸出得出。如果在實(shí)際測(cè)試過(guò)程中,得到的實(shí)際測(cè)試結(jié)果與預(yù)期結(jié)果不符,那么測(cè)試不通過(guò);反之則測(cè)試通過(guò)。