版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Slide 1測試用例設計與實踐(2)機電信息學院 馮向榮2019.8.16Slide 3一、決策表法 產生的背景:等價類劃分法和邊界值分析方法都是著重考慮程序的單項輸入條件,但沒有考慮輸入條件之間的聯(lián)系或組合的情況。這樣,雖然各種輸入條件可能出錯的情況都已經測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。如果在測試時必須考慮輸入條件的各種組合,則可能的組合數目將是天文數字,因此必須考慮采用一種適合于描述多種條件的組合、相應產生多個動作的形式來進行測試用例的設計,這就需要利用決策表或因果圖。義烏工商職業(yè)技術學院Slide 4決策表法(續(xù)) 決策表(也稱判定表)是分析和表達多邏輯條件下
2、,執(zhí)行不同操作的一種描述形式。決策表實例 決策表的優(yōu)點:能夠將復雜的邏輯關系與多種條件組合情況表達得具體、明確,可以把各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設計出完整的測試用例集合。 通常,在一些數據處理問題中,某些操作的實施依賴于多個邏輯條件的組合,即:針對不同邏輯條件的組合會分別執(zhí)行不同的操作。決策表很適合于處理這類問題,特別是運用測試驅動開發(fā)模式時常采用決策表法設計測試用例。義烏工商職業(yè)技術學院Slide 5“閱讀指南”決策表規(guī)則12345678選項覺得疲倦? Y感興趣嗎? YYYYNYNNN問題YNNYNNYNNYNN糊涂嗎?重讀YY繼續(xù)建議跳下一章休息義烏工
3、商職業(yè)技術學院Slide 6決策表的構成 決策表通常由以下四個部分構成: 條件樁列出問題的所有條件 條件項針對條件樁給出的條件列出所有可能的取值 動作樁列出問題規(guī)定的可能采取的操作 動作項指出在條件項的各組取值情況下應采取的動作將任何一個條件組合的特定取值及相應要執(zhí)行的動作稱為一條規(guī)則。在決策表中貫穿條件項和動作項的一列就是一條規(guī)則。條件樁 條件項動作樁 動作項規(guī)則義烏工商職業(yè)技術學院Slide 7決策表的建立 建立決策表的5個步驟:(1) 確定規(guī)則的個數。 有n個條件的決策表有2n個規(guī)則(每個條件分別取真或假)(2) 列出所有的條件樁和動作樁。(3) 填入條件項。(4) 填入動作項,得到初始
4、決策表。(5) 簡化決策表,合并相似規(guī)則。 若表中有兩條以上規(guī)則具有相同的動作,并且在條件項之間存在極為相似的關系,便可以合并。 合并后的條件項用符號“-”表示,說明執(zhí)行的動作與該條件的取值無關,稱為無關條件。三角形問題的決策表義烏工商職業(yè)技術學院Slide 8三角形問題的決策表規(guī)則 規(guī)則 規(guī)則 規(guī)則 規(guī)則 規(guī)則 規(guī)則 規(guī)則 規(guī)則規(guī)則選項條件:1-8910111213 14 15 16c1: a,b,c構成三角形?c2: a=b?c3: a=c?c4: b=c?NYYYYYYYY-YYYYYNYNYYNNNYYNYNNNYNNN動作:a1: 非三角形a2: 一般三角形a3: 等腰三角形a4:
5、等邊三角形a5: 不可能義烏工商職業(yè)技術學院Slide 9決策表測試應用案例 NextDate函數的決策表測試用例設計 問題分析:NextDate函數的三個變量之間在輸入定義域中存在一定的邏輯依賴關系,由于等價類劃分和邊界值分析測試都假設了變量是獨立的,如果采用上述兩種方法設計測試用例,那么這些依賴關系在機械的選取輸入值時可能會丟失。而采用決策表法則可以通過使用“不可能動作”的概念表示條件的不可能組合,來強調這種依賴關系。實例分析 說明:當決策表規(guī)模(指規(guī)則數目,n個條件的決策表有2n個規(guī)則)較大時,可以通過擴展條目決策表(條件使用等價類)、代數簡化表、將大表“分解”為小表等方法。義烏工商職業(yè)
6、技術學院Slide 10決策表測試應用案例(續(xù))NextDate函數:NextDate函數說明另一種復雜的關系,即輸入變量之間邏輯關系的復雜性。NextDate函數包含三個變量month、day和year,函數的輸出為輸入日期后一天的日期。 要求輸入變量month、day和year均為整數值,并且滿足下列條件:條件1 1 month 12條件2 1 day 31條件3 1912 year 2050 結論:在NextDate函數中有兩種復雜性的輸入來源,一是輸入域的復雜性,二是確定閏年的規(guī)則并要增加“額外天”。義烏工商職業(yè)技術學院Slide 11決策表測試應用案例(續(xù)) 為了獲得下一個日期,Ne
7、xtDate函數執(zhí)行如下操作: 如果輸入日期不是當月最后一天,則把day變量的值加1; 如果輸入日期是111月份中某月的最后一天,則把day變量的值復位為1,month變量的值加1; 如果輸入日期是12月的最后一天,則day變量和month變量的值都復位為1,year變量的值加1。 關于最后一天的判斷: 如果是有31天的月份(1,3,5,7,8,10,12),day變量值為31; 如果是有30天的月份(4,6,9,11), day變量值為30; 如果是有29天的月份(閏年的2月),day變量值為29; 如果是有28天的月份(非閏年的2月),day變量值為28。義烏工商職業(yè)技術學院Slide 1
8、2決策表測試應用案例(續(xù)) 根據所執(zhí)行的操作,可列出NextDate函數的動作樁:a1: 不可能;a2: day加1;a3: day復位;a4: month加1;a5: month復位;a6: year加1 考慮到決策表的規(guī)模,條件使用month、day、year變量的等價類,在以下等價類集合上建立決策表: 對于month變量的取值M1: mouth: mouth有30天;M2: mouth:mouth有31天,12月除外;M3: mouth:mouth是12月; M4: mouth:mouth是2月; 對于day變量的取值D1:day:1day27;D2: day:day=28;D3: da
9、y:day=29; D4: day:day=30; D5: day:day=31; 對于year變量的取值Y1:year:year是閏年;Y2: year:year不是閏年義烏工商職業(yè)技術學院Slide 13決策表測試應用案例(續(xù)) 決策表測試法適用于具有以下特征的應用程序:if-then-else邏輯突出;輸入變量之間存在邏輯關系;涉及輸入變量子集的計算;輸入與輸出之間存在因果關系。 適用于使用決策表設計測試用例的條件: 規(guī)格說明以決策表形式給出,或較容易轉換為決策表。 條件的排列順序不會也不應影響執(zhí)行的操作。 規(guī)則的排列順序不會也不應影響執(zhí)行的操作。 當某一規(guī)則的條件已經滿足,并確定要執(zhí)行
10、的操作后,不必檢驗別的規(guī)則。 如果某一規(guī)則的條件要執(zhí)行多個操作,這些操作的執(zhí)行順序無關緊要。義烏工商職業(yè)技術學院Slide 14決策表測試應用案例(續(xù)) 用決策表測試法測試以下程序:該程序有三個輸入變量month、day、year(month、day和year均為整數值,并且滿足:1month12和1day31),分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上隔一天的日期。例如,輸入為2015年11月29日,則該程序的輸出為2015年12月1日。(1)分析各種輸入情況,列出為輸入變量month、day、year劃分的有效等價類。(2)分析程序規(guī)格說明,結合以上等價類劃分的
11、情況給出問題規(guī)定的可能采取的操作(即列出所有的動作樁)。(3)根據(1)和(2),畫出簡化后的決策表。義烏工商職業(yè)技術學院Slide 15決策表測試應用案例(續(xù)) month變量的有效等價類:M1: month=4,6,9,11 M2: month=1,3,5,7,8,10M3: month=12 M4: month=2 day變量的有效等價類:D1: 1day26 D2: day=27 D3: day=28D4: day=29 D5: day=30 D6: day=31 year變量的有效等價類:Y1: year是閏年Y2: year不是閏年 考慮各種有效的輸入情況,程序中可能采取的操作有以
12、下六種:a1: day+2a4: month+1a2: day=2a5: month=1a3: day=1a6: year+1義烏工商職業(yè)技術學院Slide 16決策表測試應用案例(續(xù))義烏工商職業(yè)技術學院Slide 17決策表測試應用案例(續(xù))義烏工商職業(yè)技術學院Slide 18決策表測試應用案例(續(xù))義烏工商職業(yè)技術學院Slide 19二、因果圖法 因果圖法是一種以因果邏輯關系的圖示模型來描述可能的輸入條件的組合關系,以及可能產生的相應動作(輸出結果)的情形的方法。這個方法的實質是:從程序規(guī)格說明(需求)的描述中找出因(輸入條件)與果(輸出結果或程序狀態(tài)改變)的關系,適用于檢查程序輸入條件
13、的各種組合情況。 采用因果圖法設計測試用例的步驟:(1)根據程序規(guī)格說明書描述,分析并確定因(輸入條件)和果(輸出結果或程序狀態(tài)的改變),畫出因果圖。(2)將得到的因果圖轉換為判定表。(3)為判定表中每一列所表示的情況設計一個測試用例。義烏工商職業(yè)技術學院Slide 20因果圖法(續(xù)) 因果圖法的特點:設計測試用例時考慮輸入條件之間的相關性。組件或系統(tǒng)中原因和結果之間的邏輯關系可以在因果圖中表示出來。 使用因果圖法的優(yōu)點:(1)考慮到了輸入情況的各種組合以及各個輸入情況之間的相互制約關系。(2)能夠幫助測試人員按照一定的步驟,高效率的開發(fā)測試用例。(3)因果圖法是將自然語言規(guī)格說明轉化成形式語
14、言規(guī)格說明的一種嚴格的方法,可以指出規(guī)格說明存在的不完整性和二義性。義烏工商職業(yè)技術學院Slide 21因果圖法(續(xù)) 因果圖中用來表示4種因果關系的基本符號:c1c1c2e1c1e1非恒等c1c2c3e1e1與或義烏工商職業(yè)技術學院Slide 22因果圖法(續(xù)) 因果圖中的4種基本關系在因果圖的基本符號中,圖中的左結點ci表示輸入狀態(tài)(或稱原因、條件),右結點ei表示輸出狀態(tài)(或稱結果、動作)。c 與 e 取值0或1,0表示某個狀態(tài)不出現(xiàn),1則表ii示某個狀態(tài)出現(xiàn)。 恒等:若 c 是 1,則 e 也為 1,否則 e 為 0。111 非:若 c 是 1,則 e 為 0,否則e 為 1。111
15、或:若 c 或 c 或 c 是 1,則 e 為 1,否則 e 為 0。12311 與:若 c 和 c 都是 1,則 e 為 1,否則 e 為 0。1211義烏工商職業(yè)技術學院Slide 23因果圖法(續(xù)) 示例:ATM機的因果圖分析 為從ATM機中取款,需要滿足下面的條件: 銀行卡有效 正確輸入了PIN PIN最多可以輸3次 ATM機中有錢,并且賬號中有錢 ATM機可能的反應如下: 拒絕ATM卡 要求再一次輸入PIN 吞卡 要求重新輸入金額 輸出要求數目的現(xiàn)金義烏工商職業(yè)技術學院Slide 24因果圖法(續(xù)) 示例:ATM機的因果圖組 相 因合 應 果。 的 圖結 可果 以, 清需 楚要 地什
16、 描么 述樣 為的 了條 得件 到義烏工商職業(yè)技術學院Slide 25因果圖法(續(xù)) 因果圖中的約束在實際問題中輸入狀態(tài)相互之間、輸出狀態(tài)相互之間可能存在某些依賴關系,稱為“約束”。對于輸入條件的約束有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約束(強制):假如結果a為1,則結果b強制為0。義烏工商職業(yè)技術學院Slide 2
17、6因果圖法(續(xù)) 因果圖中用來表示約束關系的約束符號:aabaObEIb唯一異c或ababRM強制要求義烏工商職業(yè)技術學院Slide 27因果圖法(續(xù)) 因果圖法最終生成的是決策表(也稱為判定表)。利用因果圖生成測試用例的基本步驟如下:(1)分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。(2)分析軟件規(guī)格說明中的語義,找出原因與結果之間、原因與原因之間對應的關系, 根據這些關系畫出因果圖。(3)由于語法或環(huán)境的限制,有些原因與原因之間、原因與結果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束
18、或限制條件。(4)把因果圖轉換為決策表。(5)根據決策表中的每一列設計測試用例。義烏工商職業(yè)技術學院Slide 28因果圖測試應用案例 實例 用因果圖法測試以下程序。程序的規(guī)格說明要求:輸入的第一個字符必須是#或*,第二個字符必須是一個數字,此情況下進行文件的修改;如果第一個字符不是#或*,則給出信息N,如果第二個字符不是數字,則給出信息M。 解題步驟:(1)分析程序的規(guī)格說明,列出原因和結果。(2)找出原因與結果之間的因果關系、原因與原因之間的約束關系,畫出因果圖。(3)將因果圖轉換成決策表。(4)根據(3)中的決策表,設計測試用例的輸入數據和預期輸出。義烏工商職業(yè)技術學院Slide 29因
19、果圖測試應用案例(續(xù))(1)分析程序規(guī)格說明中的原因和結果:原因結果c1:第一個字符是#c2:第一個字符是*e1:給出信息Ne2:修改文件c3:第二個字符是一個數字 e3:給出信息M(2)畫出因果圖(編號為10的中間結點是導出結果的進一步原因):e1e2e3c1c2c310E義烏工商職業(yè)技術學院Slide 30因果圖測試應用案例(續(xù))(3)將因果圖轉換成如下所示的決策表:規(guī)則12345678選項條件:C1111110101110010111010100100000C2C310動作:e1e2e3不可能測試用例#3 #A *6 *B A1 GT義烏工商職業(yè)技術學院Slide 31因果圖測試應用案例(續(xù))(4)根據決策表中的每一列設計測試用例:測試用例編號輸入數據#3預期輸出修改文件123456#A給出信息M*6修改文件*B給出信息MA1給出信息NGT給出信息N和信息M義烏工商職業(yè)技術學院Slide 32黑盒測試方法的選擇 通常,在確定測試方法時,應遵循以下原則: 根據程序的重要性和一旦發(fā)生故障將造成的損失來確定測試等級和測試重點。 認真選擇
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國硫酸慶大霉素產業(yè)發(fā)展現(xiàn)狀規(guī)劃分析報告
- 2025-2030年中國白酒行業(yè)運行調研及投資前景預測報告
- 2025-2030年中國電蚊拍行業(yè)市場運營趨勢規(guī)劃研究報告
- 2025-2030年中國電源適配器行業(yè)運行狀況及發(fā)展趨勢預測報告
- 2025-2030年中國玻璃深加工市場競爭格局與前景發(fā)展策略分析報告
- 2025-2030年中國牙科激光治療儀行業(yè)市場運營現(xiàn)狀及投資前景規(guī)劃研究報告
- 2025-2030年中國港口設備行業(yè)市場運行態(tài)勢及未來發(fā)展趨勢分析報告告
- 2025-2030年中國洗胃機行業(yè)發(fā)展格局及投資前景規(guī)劃研究報告
- 2025-2030年中國汽車音響改裝市場運營狀況及投資發(fā)展前景分析報告
- 2025年度金融產品居間銷售服務合同規(guī)范文本4篇
- 2025年度影視制作公司兼職制片人聘用合同3篇
- 兒童糖尿病的飲食
- 2025屆高考語文復習:散文的結構與行文思路 課件
- 干細胞項目商業(yè)計劃書
- 浙江省嘉興市2024-2025學年高一數學上學期期末試題含解析
- 2024年高考新課標Ⅱ卷語文試題講評課件
- 無人機航拍技術教案(完整版)
- 回收二手機免責協(xié)議書模板
- 外科醫(yī)師手術技能評分標準
- 《英語教師職業(yè)技能訓練簡明教程》全冊配套優(yōu)質教學課件
- 采購控制程序
評論
0/150
提交評論