基于決策表的測試課件_第1頁
基于決策表的測試課件_第2頁
基于決策表的測試課件_第3頁
基于決策表的測試課件_第4頁
基于決策表的測試課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章基于決策表的測試決策表基于決策表的測試案例:三角形問題,NextDate問題練習(xí):隔一日問題第7章基于決策表的測試決策表7.1決策表決策表的原理決策表的組成決策表建立的步驟7.1決策表決策表的原理1.決策表的原理決策表決策表:DecisionTable決策表是分析和表達多邏輯條件下執(zhí)行不同操作的工具。在程序設(shè)計發(fā)展的初期,決策表被當(dāng)作編寫程序的輔助工具。1.決策表的原理決策表2.決策表的組成條件樁(ConditionStub)列出問題的所有條件動作樁(ActionStub)列出可能采取的操作條件項(ConditionEntity)列出條件樁的取值動作項(ActionEntity)列出條件項各種取值下應(yīng)該采取的動作2.決策表的組成條件樁(ConditionStub)決策表的組成決策表的組成規(guī)則任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;在決策表中貫穿條件項和動作項的一列就是一條規(guī)則;決策表中列出多少組條件取值,也就有多少條規(guī)則,即條件項和動作項有多少列。規(guī)則任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;規(guī)則示例:三角形問題規(guī)則示例:三角形問題規(guī)則(續(xù))規(guī)則合并規(guī)則合并就是決策表的簡化。有兩條或多條規(guī)則具有相同的動作,并且其條件項之間存在著極為相似的關(guān)系,就可以將規(guī)則合并。規(guī)則(續(xù))規(guī)則合并(1)兩條規(guī)則合并成一條條件項“—”表示與取值無關(guān)。(1)兩條規(guī)則合并成一條條件項“—”表示與取值無關(guān)。條件項“—”在邏輯上包含其它的條件。(2)兩條規(guī)則的進一步合并條件項“—”在邏輯上包含其它的條件。(2)兩條規(guī)則的進一步合3.決策表建立步驟根據(jù)軟件規(guī)格說明①列出所有的條件樁和動作樁;

②確定規(guī)則的個數(shù);假如有n個條件,每個條件有兩個取值(0,1),則有2n

種規(guī)則;

③填入條件項;④填入動作項,得到初始決策表;⑤簡化,合并相似規(guī)則(相同動作)。3.決策表建立步驟根據(jù)軟件規(guī)格說明例:維修機器問題問題描述:“……對于功率大于50馬力的機器并且維修記錄不全,或已運行10年以上的機器,應(yīng)給予優(yōu)先的維修處理……”

請建立決策表。例:維修機器問題問題描述:例:維修機器問題(續(xù))(1)列出所有的條件樁和動作樁條件樁C1:功率大于50馬力嗎?C2:維修記錄不全嗎?C3:運行超過10年嗎?動作樁A1:進行優(yōu)先處理A2:作其他處理

例:維修機器問題(續(xù))(1)列出所有的條件樁和動作樁例:維修機器問題(續(xù))(2)確定規(guī)則個數(shù)輸入條件個數(shù):3;每個條件的取值:“是”或“否”;規(guī)則個數(shù):2*2*2=8;

功率大于50馬力嗎維修記錄不全嗎運行超過10年嗎

例:維修機器問題(續(xù))(2)確定規(guī)則個數(shù)功率大于50馬力例:維修機器問題(續(xù))12345678條件功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運行超過10年嗎?YNYNYNYN動作進行優(yōu)先處理作其他處理(3)填入條件項;利用集合的笛卡爾積計算條件項的取值例:維修機器問題(續(xù))12345678條功率大于50馬力嗎例:維修機器問題(續(xù))12345678條件功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運行超過10年嗎?YNYNYNYN動作進行優(yōu)先處理

作其他處理

(4)填入動作項;1,2合并,5,7合并,6,8合并例:維修機器問題(續(xù))12345678條功率大于50馬力嗎例:維修機器問題(續(xù))(5)化簡;(1)(2)(3)(4)(5)條

件功率大于50馬力嗎?YYYNN維修記錄不全嗎?YNN——運行超過10年嗎?—YNYN動

作進行優(yōu)先處理

作其他處理

例:維修機器問題(續(xù))(5)化簡;(1)(2)(3)(4)(基于決策表的測試根據(jù)輸入輸出繪制決策表;設(shè)計測試用例覆蓋決策表中每條規(guī)則;基于決策表的測試根據(jù)輸入輸出繪制決策表;7.2案例:三角形問題問題描述

輸入三個正整數(shù)a、b、c,分別作為三角形的三條邊,通過程序判斷三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。請用基于決策表的方法設(shè)計測試用例。

7.2案例:三角形問題問題描述(1)條件樁C1:a,b,c構(gòu)成三角形?C2:a=b?C3:a=c?C4:b=c?(2)規(guī)則數(shù)共有四個條件,每個條件的取值為“是”或“否”,因此有24=16條規(guī)則。

一、設(shè)計決策表(1)條件樁一、設(shè)計決策表(3)動作樁

A1:非三角形;

A2:不等邊三角形;

A3:等腰三角形;

A4:等邊三角形;

A5:不可能;(3)動作樁(4)決策表123456789條

件a,b,c構(gòu)成三角形NYYYYYYYYa=b?—YYYYNNNNa=c?—YYNNYYNNb=c?—YNYNYNYN動

作非三角形

不等邊三角形

等腰三角形

等邊三角形

不可能

(4)決策表123456789條a,b,c構(gòu)成三角形N注意:條件的選擇可以大大擴展決策表的規(guī)模;例如a,b,c構(gòu)成三角形嗎?可以擴展為三個條件:a<b+c?b<a+c?c<a+b?

注意:條件樁修改后的決策表條件樁修改后的決策表a=b,a=c,b≠c二、設(shè)計測試用例a=b,二、設(shè)計測試用例7.3案例:

NextDate函數(shù)問題描述

程序有三個輸入變量month、day、year,并且滿足:1≤month≤12、1≤day≤31、1900≤year≤2050。它們分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上下一天的日期。例如,輸入為2005年11月29日,則該程序的輸出為2005年11月30日。

7.3案例:NextDate函數(shù)問題描述第一次嘗試M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是閏年}Y2={年:年是平年}第一次嘗試M1={月份:每月有30天}有256條規(guī)則的第一次嘗試年變量對應(yīng)的等價類收縮為表中的一個條件有256條規(guī)則的第一次嘗試年變量對應(yīng)的等價類收縮為表中的一個第二次嘗試(重點考慮閏年)M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年=2000}Y2={年:年是平年}Y3={年:年是閏年}第二次嘗試(重點考慮閏年)M1={月份:每月有30天}第三次嘗試(關(guān)注日期和月份)M1={月份:每月有30天}

M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}

D1={日期:1≤日期≤

27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是閏年}Y2={年:年不是閏年}第三次嘗試(關(guān)注日期和月份)M1={月份:每月有30天}NextDate函數(shù)的決策表每月30天每月31天,12月除外NextDate函數(shù)的決策表每月30天每月31天,12月除外續(xù)……

此月是12月此月是2月此年是閏年續(xù)……此月是12月此月是2月此年是閏年NextDate函數(shù)的精簡決策表NextDate函數(shù)的精簡決策表續(xù)……

續(xù)……NextDate函數(shù)的測試用例NextDate函數(shù)的測試用例指導(dǎo)方針和觀察決策表技術(shù)適用的應(yīng)用程序的特征:if-then-else邏輯很突出輸入變量之間存在邏輯關(guān)系涉及輸入變量子集的計算輸入與輸出之間存在因果關(guān)系很高的McCabe圈復(fù)雜度指導(dǎo)方針和觀察決策表技術(shù)適用的應(yīng)用程序的特征:決策表的優(yōu)點能把復(fù)雜的問題按各種可能的情況一一列舉出來簡明而易于理解可避免遺漏

決策表的優(yōu)點決策表的缺點不能表達重復(fù)執(zhí)行的動作,例如循環(huán)結(jié)構(gòu)決策表不能很好地伸縮有n個條件的決策表有2n

個規(guī)則。解決方法使用擴展條目決策表、代數(shù)簡化表,將大表“分解”為小表,查找條件項的重復(fù)決策表的缺點課堂練習(xí)隔一天的日期程序有三個輸入變量month、day、year,分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為2004年11月29日,則該程序的輸出為2004年12月1日。課堂練習(xí)隔一天的日期第7章基于決策表的測試決策表基于決策表的測試案例:三角形問題,NextDate問題練習(xí):隔一日問題第7章基于決策表的測試決策表7.1決策表決策表的原理決策表的組成決策表建立的步驟7.1決策表決策表的原理1.決策表的原理決策表決策表:DecisionTable決策表是分析和表達多邏輯條件下執(zhí)行不同操作的工具。在程序設(shè)計發(fā)展的初期,決策表被當(dāng)作編寫程序的輔助工具。1.決策表的原理決策表2.決策表的組成條件樁(ConditionStub)列出問題的所有條件動作樁(ActionStub)列出可能采取的操作條件項(ConditionEntity)列出條件樁的取值動作項(ActionEntity)列出條件項各種取值下應(yīng)該采取的動作2.決策表的組成條件樁(ConditionStub)決策表的組成決策表的組成規(guī)則任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;在決策表中貫穿條件項和動作項的一列就是一條規(guī)則;決策表中列出多少組條件取值,也就有多少條規(guī)則,即條件項和動作項有多少列。規(guī)則任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;規(guī)則示例:三角形問題規(guī)則示例:三角形問題規(guī)則(續(xù))規(guī)則合并規(guī)則合并就是決策表的簡化。有兩條或多條規(guī)則具有相同的動作,并且其條件項之間存在著極為相似的關(guān)系,就可以將規(guī)則合并。規(guī)則(續(xù))規(guī)則合并(1)兩條規(guī)則合并成一條條件項“—”表示與取值無關(guān)。(1)兩條規(guī)則合并成一條條件項“—”表示與取值無關(guān)。條件項“—”在邏輯上包含其它的條件。(2)兩條規(guī)則的進一步合并條件項“—”在邏輯上包含其它的條件。(2)兩條規(guī)則的進一步合3.決策表建立步驟根據(jù)軟件規(guī)格說明①列出所有的條件樁和動作樁;

②確定規(guī)則的個數(shù);假如有n個條件,每個條件有兩個取值(0,1),則有2n

種規(guī)則;

③填入條件項;④填入動作項,得到初始決策表;⑤簡化,合并相似規(guī)則(相同動作)。3.決策表建立步驟根據(jù)軟件規(guī)格說明例:維修機器問題問題描述:“……對于功率大于50馬力的機器并且維修記錄不全,或已運行10年以上的機器,應(yīng)給予優(yōu)先的維修處理……”

請建立決策表。例:維修機器問題問題描述:例:維修機器問題(續(xù))(1)列出所有的條件樁和動作樁條件樁C1:功率大于50馬力嗎?C2:維修記錄不全嗎?C3:運行超過10年嗎?動作樁A1:進行優(yōu)先處理A2:作其他處理

例:維修機器問題(續(xù))(1)列出所有的條件樁和動作樁例:維修機器問題(續(xù))(2)確定規(guī)則個數(shù)輸入條件個數(shù):3;每個條件的取值:“是”或“否”;規(guī)則個數(shù):2*2*2=8;

功率大于50馬力嗎維修記錄不全嗎運行超過10年嗎

例:維修機器問題(續(xù))(2)確定規(guī)則個數(shù)功率大于50馬力例:維修機器問題(續(xù))12345678條件功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運行超過10年嗎?YNYNYNYN動作進行優(yōu)先處理作其他處理(3)填入條件項;利用集合的笛卡爾積計算條件項的取值例:維修機器問題(續(xù))12345678條功率大于50馬力嗎例:維修機器問題(續(xù))12345678條件功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運行超過10年嗎?YNYNYNYN動作進行優(yōu)先處理

作其他處理

(4)填入動作項;1,2合并,5,7合并,6,8合并例:維修機器問題(續(xù))12345678條功率大于50馬力嗎例:維修機器問題(續(xù))(5)化簡;(1)(2)(3)(4)(5)條

件功率大于50馬力嗎?YYYNN維修記錄不全嗎?YNN——運行超過10年嗎?—YNYN動

作進行優(yōu)先處理

作其他處理

例:維修機器問題(續(xù))(5)化簡;(1)(2)(3)(4)(基于決策表的測試根據(jù)輸入輸出繪制決策表;設(shè)計測試用例覆蓋決策表中每條規(guī)則;基于決策表的測試根據(jù)輸入輸出繪制決策表;7.2案例:三角形問題問題描述

輸入三個正整數(shù)a、b、c,分別作為三角形的三條邊,通過程序判斷三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。請用基于決策表的方法設(shè)計測試用例。

7.2案例:三角形問題問題描述(1)條件樁C1:a,b,c構(gòu)成三角形?C2:a=b?C3:a=c?C4:b=c?(2)規(guī)則數(shù)共有四個條件,每個條件的取值為“是”或“否”,因此有24=16條規(guī)則。

一、設(shè)計決策表(1)條件樁一、設(shè)計決策表(3)動作樁

A1:非三角形;

A2:不等邊三角形;

A3:等腰三角形;

A4:等邊三角形;

A5:不可能;(3)動作樁(4)決策表123456789條

件a,b,c構(gòu)成三角形NYYYYYYYYa=b?—YYYYNNNNa=c?—YYNNYYNNb=c?—YNYNYNYN動

作非三角形

不等邊三角形

等腰三角形

等邊三角形

不可能

(4)決策表123456789條a,b,c構(gòu)成三角形N注意:條件的選擇可以大大擴展決策表的規(guī)模;例如a,b,c構(gòu)成三角形嗎?可以擴展為三個條件:a<b+c?b<a+c?c<a+b?

注意:條件樁修改后的決策表條件樁修改后的決策表a=b,a=c,b≠c二、設(shè)計測試用例a=b,二、設(shè)計測試用例7.3案例:

NextDate函數(shù)問題描述

程序有三個輸入變量month、day、year,并且滿足:1≤month≤12、1≤day≤31、1900≤year≤2050。它們分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上下一天的日期。例如,輸入為2005年11月29日,則該程序的輸出為2005年11月30日。

7.3案例:NextDate函數(shù)問題描述第一次嘗試M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是閏年}Y2={年:年是平年}第一次嘗試M1={月份:每月有30天}有256條規(guī)則的第一次嘗試年變量對應(yīng)的等價類收縮為表中的一個條件有256條規(guī)則的第一次嘗試年變量對應(yīng)的等價類收縮為表中的一個第二次嘗試(重點考慮閏年)M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年=2000}Y2={年:年是平年}Y3={年:年是閏年}第二次嘗試(重點考慮閏年)M1={月份:每月有30天}第三次嘗試(關(guān)注日期和月份)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論