軟件測試基礎(chǔ)系列培訓(xùn) 判定表與因果圖法_第1頁
軟件測試基礎(chǔ)系列培訓(xùn) 判定表與因果圖法_第2頁
軟件測試基礎(chǔ)系列培訓(xùn) 判定表與因果圖法_第3頁
軟件測試基礎(chǔ)系列培訓(xùn) 判定表與因果圖法_第4頁
軟件測試基礎(chǔ)系列培訓(xùn) 判定表與因果圖法_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、高效測試用例設(shè)計(3) 判定表與因果圖法n內(nèi)部資料,請勿外傳技術(shù)質(zhì)量部 2009年08月軟件測試基礎(chǔ)系列培訓(xùn) st-2009-006范圍與目標(biāo) 課程目標(biāo): 理解判定表和因果圖法概念 掌握判定表和因果圖法設(shè)計測試用例方法2內(nèi)容提要第一節(jié):判定表法 判定表的概念 判定表的組成 判定表的建立 判定表法舉例第二節(jié):因果圖法第三節(jié):實(shí)例講解3引入判定表4條件動作樁條件動作樁條件動作項(xiàng)條件動作項(xiàng)規(guī)則規(guī)則條件樁價格500yynn沒有過期ynny動作樁發(fā)出提貨單發(fā)出發(fā)貨單發(fā)出客戶通知單 客戶訂貨單中, 價格在500以上, 且沒有過期的, 發(fā)出提貨單和發(fā)貨單;在500以上, 已過期的, 只發(fā)提貨單, 在500以

2、下的,不論是否過期,都發(fā)出提貨單和發(fā)貨單, 其中已過期的,還發(fā)出客戶通知單 判定表的概念 判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具 其優(yōu)點(diǎn): 將復(fù)雜的問題按照各種可能的情況全部列舉出來 簡明并避免遺漏 能夠設(shè)計出比較完整的測試用例集合5判定表的概念(續(xù)) 適用于 針對不同邏輯條件的組合值,分別執(zhí)行不同的操作 如if else 或者switch case這種選擇結(jié)構(gòu) 不能表達(dá)重復(fù)執(zhí)行的動作,例如循環(huán)結(jié)構(gòu)6判定表的組成 判定表通常由4部分組成:7規(guī)則判定表的組成(續(xù)) 條件樁 列出問題的所有條件 條件項(xiàng) 針對條件樁給出的條件列出所有可能的取值 動作樁 列出問題規(guī)定的可能采取的操作 動

3、作項(xiàng) 指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動作8判定表的組成(規(guī)則) 規(guī)則 任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則 在判定表中貫穿條件項(xiàng)和動作項(xiàng)的一列就是一條規(guī)則。也即判定表中列出多少組條件取值,就有多少條規(guī)則,既條件項(xiàng)和動作項(xiàng)有多少列9判定表的組成(規(guī)則) 規(guī)則化簡 就是規(guī)則合并有兩條或多條規(guī)則具有相同的動作,并且其條件項(xiàng)之間存在著極為相似的關(guān)系10判定表的組成(規(guī)則) 如下圖左端,兩規(guī)則動作項(xiàng)一樣,條件項(xiàng)類似,在1、2條件項(xiàng)分別取y、n時,無論條件3取何值,都執(zhí)行同一操作。即要執(zhí)行的動作與條件3無關(guān),于是可合并,“”表示與取值無關(guān):11yynnynxxyn-x判定表的組成(

4、規(guī)則) 與上類似,下圖中,無關(guān)條件項(xiàng)“”可包含其他條件項(xiàng)取值,具有相同動作的規(guī)則可合并12yy-nnnxxy-nx1312345678問題覺得疲倦?yyyynnnn感興趣嗎?yynnyynn糊涂嗎?ynynynyn建議重讀繼續(xù)跳下一章休息 大家想一想如何將下表進(jìn)行化簡判定表的組成(規(guī)則)141234問題你覺得疲倦嗎?nnyn你對內(nèi)容感興趣嗎?yy-n書中內(nèi)容使你胡涂嗎?yn-建議請回到本章開頭重讀x繼續(xù)讀下去x跳到下一章去讀x停止閱讀,請休息x判定表的組成(規(guī)則) 化簡后的判定表如下:判定表的建立15構(gòu)造判定表的5個步驟:確定規(guī)則的個數(shù) 有n個條件的判定表有2n個規(guī)則(每個條件取真、假值)列出

5、所有的條件樁和動作樁填入條件項(xiàng)填入動作項(xiàng),得到初始判定表簡化判定表,合并相似規(guī)則判定表的應(yīng)用 適用于使用判定表設(shè)計測試用例的條件:規(guī)格說明以判定表形式給出,或較容易轉(zhuǎn)換為判定表?xiàng)l件的排列順序不會也不應(yīng)影響執(zhí)行的操作規(guī)則的排列順序不會也不應(yīng)影響執(zhí)行的操作當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則如果某一規(guī)則的條件要執(zhí)行多個操作,這些操作的執(zhí)行順序無關(guān)緊要16判定表法舉例 ”對功率大于50馬力的機(jī)器且維修記錄不全或已運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理” 。這里假定,“維修記錄不全”和“優(yōu)先維修處理”均已在別處有更嚴(yán)格的定義 。請建立判定表17判定表法舉例(續(xù))(1)確

6、定規(guī)則的個數(shù):以上描述有3個條件,每個條件有兩個取值,故應(yīng)有2*2*2=8種規(guī)則18(2)列出所有的條件樁和動作樁條件功率大于50馬克嗎?維修記錄不全嗎?運(yùn)行超過10年嗎?動作進(jìn)行優(yōu)先處理作其他處理判定表法舉例(續(xù))(3)填入條件項(xiàng),可從最后1行條件項(xiàng)開始,逐行向上填滿19(4)填入動作樁和動作項(xiàng),這樣便得到形如下頁的初始判定表判定表法舉例(續(xù))2012345678條條件件功率大于功率大于50馬力嗎?馬力嗎?yyyynnnn維修記錄不全嗎?維修記錄不全嗎?yynnyy nn運(yùn)行超過運(yùn)行超過10年嗎?年嗎?ynynynyn動動作作進(jìn)行優(yōu)先處理進(jìn)行優(yōu)先處理xxx x x 作其他處理作其他處理 x

7、x x課堂練習(xí) 以學(xué)生的獎學(xué)金評定為例,說明判定表的應(yīng)用 決定受獎的條件為: 成績優(yōu)秀占70或50以上 成績?yōu)橹谢蛑幸韵抡?5或20以下 團(tuán)結(jié)紀(jì)律為優(yōu)良或一般者 獎勵方案為: 一等獎、二等獎、三等獎、鼓勵獎四種 描述此學(xué)生獎勵政策的判定表見下頁:21課堂練習(xí)(續(xù))22條件已修課程各科成績比率優(yōu)秀70%yyyynnnn狀態(tài)優(yōu)秀50%-yyyy中以下15%yynnyynn中以下20%-yy-yy團(tuán)結(jié)紀(jì)律評分優(yōu)良ynynynyn一般nynynyny獎勵方案一等獎*判定規(guī)則二等獎*三等獎*鼓勵獎*內(nèi)容提要第一節(jié):判定表法第二節(jié):因果圖法 什么是因果圖 使用因果圖導(dǎo)出測試用例 因果圖的基本圖形符號和約束

8、符號 因果圖法舉例第三節(jié):實(shí)例講解23什么是因果圖法 定義 利用圖解法分析輸入的各種組合情況,從而設(shè)計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況 產(chǎn)生的背景等價類劃分法和邊界值分析方法沒有考慮輸入條件的各種組合及相互制約關(guān)系??赡芎鲆暥鄠€輸入條件組合起來可能出錯的情況因果圖適用于描述多種條件的組合、相應(yīng)產(chǎn)生多個動作的形式24什么是因果圖法(續(xù))25其優(yōu)點(diǎn) 考慮了多個輸入之間的相互組合及制約關(guān)系 能幫我們按一定步驟,高效率地選擇測試用例 為我們指出程序規(guī)格說明描述中存在著什么問題其缺點(diǎn) 輸入條件與輸出結(jié)果的因果關(guān)系,有時難以從軟件需求規(guī)格說明書得到 即便得到了這些因果關(guān)系,也會因?yàn)橐?/p>

9、果關(guān)系復(fù)雜導(dǎo)致因果圖非常龐大,測試用例數(shù)目極其龐大因果圖的基本圖形符號 因果圖中用來表示4種因果關(guān)系的基本符號:26恒等非或與因果圖的基本圖形符號(續(xù)) 圖中的左結(jié)點(diǎn)ci表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)ei表示輸出狀態(tài)(或稱結(jié)果) ci 與 ei 取值0或1,0表示某狀態(tài)不出現(xiàn),1則表示某狀態(tài)出現(xiàn) 因果圖中的4種基本關(guān)系 恒等:若 c1 是1,則 e1 也為1,否則 e1 為0 非:若 c1 是1,則 e1 為0,否則e1為1 或:若 c1 或 c2 或 c3 是1,則 e1 為1,否則 e1 為0 與:若 c1 和 c2 都是1,則 e1 為1,否則 e1 為027因果圖的約束符號 因果圖中

10、用來表示約束關(guān)系的約束符號:28異e或i唯一or要求m強(qiáng)制因果圖的約束符號(續(xù)) 輸入狀態(tài)、輸出狀態(tài)相互之間可能存在某些依賴關(guān)系,稱為“約束” 輸入條件的約束:e、i、o、r輸出條件的約束:m e約束(異):a和b中最多有一個可能為1,即a和b不能同時為1 i約束(或):a、b、c中至少有一個必須為1,即 :a、b、c不能同時為0 o約束(唯一):a和b必須有一個且僅有一個為1 r約束(要求):a是1時,b必須是1,即a為1時,b不能為0 m約束(強(qiáng)制):若結(jié)果a為1,則結(jié)果b強(qiáng)制為029因果圖導(dǎo)出測試用例的步驟 因果圖法最終生成的是判定表 利用因果圖生成測試用例的基本步驟如下:(1)分析原因

11、(即輸入條件或輸入條件的等價類)和結(jié)果(即輸出條件)(2)找出原因與結(jié)果之間、原因與原因之間對應(yīng)關(guān)系, 畫出因果圖(3)在因果圖上用一些記號表明約束或限制條件,來表示有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)(4)把因果圖轉(zhuǎn)換為判定表(5)根據(jù)判定表中的每一列設(shè)計測試用例30因果圖法舉例 程序的規(guī)格說明要求:輸入的第一個字符必須是#或*,第二個字符必須是一個數(shù)字,此情況下進(jìn)行文件的修改;如果第一個字符不是#或*,則給出信息n,如果第二個字符不是數(shù)字,則給出信息m31因果圖法舉例(續(xù)) 解題步驟:(1)分析程序的規(guī)格說明,列出原因和結(jié)果(2)找出原因與結(jié)果之間的因果關(guān)系、原因與原因之

12、間的約束關(guān)系,畫出因果圖(3)將因果圖轉(zhuǎn)換成判定表(4)根據(jù)(3)中的判定表,設(shè)計測試用例的輸入數(shù)據(jù)和預(yù)期輸出32因果圖法舉例(續(xù))33原因結(jié)果 c1:第一個字符是# e1:給出信息n c2:第一個字符是* e2:修改文件 c3:第二個字符是一個數(shù)字 e3:給出信息m (1)分析程序規(guī)格說明中的原因和結(jié)果:因果圖法舉例(續(xù))34e (2)畫出因果圖(編號為10的中間結(jié)點(diǎn)是導(dǎo)出結(jié)果的進(jìn)一步原因):35 (3)將因果圖轉(zhuǎn)換成判定表:12345678條件:條件:c1c2c310111110101110010111010100100000動作:動作:e1e2e3不可能不可能測試用例測試用例#1#a*2

13、*bc3de因果圖法舉例(續(xù))36因果圖法舉例(續(xù)) (4)根據(jù)判定表中的每一列設(shè)計測試用例:測試用例編號輸入數(shù)據(jù)預(yù)期輸出1#1修改文件2#a給出信息m3*2修改文件4*b給出信息m5c3給出信息n6de給出信息n和信息m內(nèi)容提要第一節(jié):判定表法第二節(jié):因果圖法第三節(jié):實(shí)例講解 以自動售貨機(jī)軟件為例 3738有一個處理單價為3 元錢的飲料的自動售貨機(jī)軟件測試用例的設(shè)計其規(guī)格說明如下:“若投入3或5元錢,押下橙汁或雪碧的按鈕,則相應(yīng)的飲料就送出來。若售貨機(jī)沒有零錢找,則一個顯示零錢找完的紅燈亮,這時在投入5元并押下按鈕后,飲料不送出來而且5元也退出來;若有零錢找,則顯示零錢找完的紅燈滅,在送出飲

14、料的同時退還2元硬幣。實(shí)例講解39實(shí)例講解(續(xù))原因: 1.售貨機(jī)有零錢找 3.投入3元5.押下雪碧按鈕 2.投入5元4.押下橙汁按鈕 結(jié)果: 21. 售貨機(jī)零錢找完燈亮 24. 送出橙汁飲料 22. 退還5元25. 送出雪碧飲料 23. 退還2元 (1)分析這一段說明,列出原因和結(jié)果 40實(shí)例講解(續(xù))(2) 畫出因果圖,如下頁圖所示。所有原因結(jié)點(diǎn)列在左邊,所有結(jié)果結(jié)點(diǎn)列在右邊。建立兩個中間結(jié)點(diǎn),表示處理的中間狀態(tài)中間結(jié)點(diǎn): 11. 投入5元且押下飲料按鈕 12. 押下橙汁或雪碧的按鈕 13. 應(yīng)當(dāng)找2元零錢并且售貨機(jī)有零錢找 14. 錢已付清 41實(shí)例講解(續(xù))ee售貨機(jī)有零錢找 投入3元

15、投入5元押下橙汁按鈕 押下雪碧按鈕 售貨機(jī)零錢找完燈亮 送出橙汁飲料 退還5元退還2元送出雪碧飲料 錢付清押下按鈕可找2元該找2元42實(shí)例講解(續(xù))(3) 由于 2 與 3 ,4 與 5 不能同時發(fā)生,分別加上約束條件e(4) 轉(zhuǎn)換成判定表在判定表中,陰影部分表示因違反約束條件的不可能出現(xiàn)的情況,刪去。第16列與第32列因什么動作也沒做,也刪去。最后可根據(jù)剩下的16列作為確定測試用例的依據(jù)。參看下頁課堂練習(xí) 以中國象棋中走馬的測試用例設(shè)計為例學(xué)習(xí)因果圖的使用方法44課堂練習(xí)(解答)45分析中國象棋中走馬的實(shí)際情況1、如果落點(diǎn)在棋盤外,則不移動棋子;2、如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動棋子;

16、3、如果落點(diǎn)處有自己方棋子,則不移動棋子;4、如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿),則不移動棋子;5、如果不屬于1-4條,且落點(diǎn)處無棋子,則移動棋子;6、如果不屬于1-4條,且落點(diǎn)處為對方棋子(非老將),則移動棋子并除去對方棋子;7、如果不屬于1-4條,且落點(diǎn)處為對方老將,則移動棋子,并提示戰(zhàn)勝對方,游戲結(jié)束。課堂練習(xí)(解答)46根據(jù)分析明確原因和結(jié)果原因:1、 落點(diǎn)在棋盤上;2、 落點(diǎn)與起點(diǎn)構(gòu)成日字;3、 落點(diǎn)處為自己方棋子;4、 落點(diǎn)方向的鄰近交叉點(diǎn)無棋子;5、 落點(diǎn)處無棋子;6、 落點(diǎn)處為對方棋子(非老將);7、 落點(diǎn)處為對方老將。課堂練習(xí)(解答)47結(jié)果:21、不移動棋子;22、移動棋子;23、移動棋子,并除去對方棋子;24、移動棋子,并提示戰(zhàn)勝對方,結(jié)束游戲。添加中間節(jié)點(diǎn)11,目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因,簡化因果圖導(dǎo)出的判定表課堂練習(xí)(解答)480e課堂練習(xí)(解答)49考慮結(jié)果不能同時發(fā)生,所以對其施加唯一約束o。原因5、6、7不能同時發(fā)生,所以對其施加異約束e. 根據(jù)因果圖建立判定表(略) 課程回顧 判定表和因果圖的概念 判定表的組成和建立 因果圖的基本符號和約束符號 因果圖和判定表設(shè)計用例的步驟50問題思考 接口如何測試?51提問時間歡迎大家提問、討論!52課后作業(yè)(判定表) 某廠對一部分職工重新分配工作,分配原則是: 年齡不滿20歲,文化程度是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論