版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件測試技術(shù)Software Testing復(fù)習(xí)復(fù)習(xí)n邊界值測試邊界值測試n單缺陷單缺陷/ /多缺陷假設(shè)多缺陷假設(shè)n取值情況取值情況n等價(jià)類測試等價(jià)類測試n有效有效/ /無效等價(jià)類無效等價(jià)類n等價(jià)類分類等價(jià)類分類Software Testing4.3 4.3 基于判定表的測試基于判定表的測試n判定表判定表n判定表的組成判定表的組成n判定表建立步驟判定表建立步驟n基于判定表的測試基于判定表的測試n基于判定表測試的指導(dǎo)方針基于判定表測試的指導(dǎo)方針Software Testing1. 判定表的原理判定表的原理n判定表判定表判定表(判定表(Decision TableDecision Table),又
2、叫),又叫決策表決策表n判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的工具。作的工具。n將復(fù)雜的問題按照各種可能的情況全部列出將復(fù)雜的問題按照各種可能的情況全部列出Software Testing2. 判定表的組成判定表的組成n條件樁條件樁: :列出問題的所有條件列出問題的所有條件n動(dòng)作樁動(dòng)作樁: :列出可能采取的操作列出可能采取的操作n條件項(xiàng)條件項(xiàng): :列出條件樁的取值列出條件樁的取值n動(dòng)作項(xiàng)動(dòng)作項(xiàng): :列出條件項(xiàng)各種取值下應(yīng)該采取的動(dòng)列出條件項(xiàng)各種取值下應(yīng)該采取的動(dòng)作作Software Testing判定表的組成判定表的組成樁樁規(guī)則規(guī)則1 12 23
3、34 45 56 67 78 8條條件件條件條件1 1Y YY YY YY YN NN NN NN N條件條件2 2Y YY YN NN NY YY YN NN N條件條件3 3Y YN NY YN NY YN NY YN N動(dòng)動(dòng)作作動(dòng)作動(dòng)作1 1動(dòng)作動(dòng)作2 2Software TestingSoftware Testing規(guī)則規(guī)則n任何一個(gè)條件組合的特定取值及其相應(yīng)任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱為規(guī)則;要執(zhí)行的操作稱為規(guī)則;n在判定表中貫穿在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)條件項(xiàng)和動(dòng)作項(xiàng)的一列的一列就是一條規(guī)則;就是一條規(guī)則;n判定表中列出多少組條件取值,也就有判定表中列出多少組
4、條件取值,也就有多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少多少條規(guī)則,即條件項(xiàng)和動(dòng)作項(xiàng)有多少列。列。Software Testing規(guī)則示例:三角形問題規(guī)則示例:三角形問題Software Testing規(guī)則(規(guī)則(續(xù)續(xù))n規(guī)則合并規(guī)則合并規(guī)則合并就是判定表的規(guī)則合并就是判定表的簡化簡化。有兩條或多條規(guī)則具有有兩條或多條規(guī)則具有相同的動(dòng)作相同的動(dòng)作,并且,并且其條件項(xiàng)之間存在著極為其條件項(xiàng)之間存在著極為相似的關(guān)系相似的關(guān)系,就,就可以將規(guī)則合并??梢詫⒁?guī)則合并。Software Testing(1)兩條規(guī)則合并成一條)兩條規(guī)則合并成一條n條件項(xiàng)條件項(xiàng)“”表示與取值表示與取值無關(guān)。無關(guān)。Software
5、 Testingn條件項(xiàng)條件項(xiàng)“”在邏輯上包在邏輯上包含其它的條含其它的條件。件。(2)兩條規(guī)則的進(jìn)一步合并)兩條規(guī)則的進(jìn)一步合并Software Testing3. 判定表建立步驟判定表建立步驟n根據(jù)軟件規(guī)格說明根據(jù)軟件規(guī)格說明列出所有的條件樁和動(dòng)作樁;列出所有的條件樁和動(dòng)作樁;確定規(guī)則的個(gè)數(shù);確定規(guī)則的個(gè)數(shù);n假如有假如有n n個(gè)條件,每個(gè)條件有兩個(gè)取值(個(gè)條件,每個(gè)條件有兩個(gè)取值(0,10,1), ,則有則有2 2n n 種規(guī)則;種規(guī)則; 填入條件項(xiàng);填入條件項(xiàng);填入動(dòng)作項(xiàng),得到初始決策表;填入動(dòng)作項(xiàng),得到初始決策表;簡化,合并相似規(guī)則(相同動(dòng)作)。簡化,合并相似規(guī)則(相同動(dòng)作)。Sof
6、tware Testing案例案例1:維修機(jī)器問題維修機(jī)器問題n問題描述:問題描述:“對(duì)于功率大于對(duì)于功率大于5050馬力并且維馬力并且維修記錄不全或已運(yùn)行修記錄不全或已運(yùn)行1010年以上的機(jī)年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理器,應(yīng)給予優(yōu)先的維修處理”n請(qǐng)建立決策表。請(qǐng)建立決策表。Software Testing例:例:維修機(jī)器問題(續(xù))維修機(jī)器問題(續(xù))n(1 1)列出所有的條件樁和動(dòng)作樁)列出所有的條件樁和動(dòng)作樁條件樁條件樁nC1C1:功率大于:功率大于5050馬力嗎?馬力嗎?nC2C2:維修記錄不全嗎?:維修記錄不全嗎?nC3C3:運(yùn)行超過:運(yùn)行超過1010年嗎?年嗎?動(dòng)作樁動(dòng)作樁nA1
7、A1:進(jìn)行優(yōu)先處理:進(jìn)行優(yōu)先處理nA2A2:作其他處理:作其他處理Software Testing例:例:維修機(jī)器問題(續(xù))維修機(jī)器問題(續(xù))n(2 2)確定規(guī)則個(gè)數(shù))確定規(guī)則個(gè)數(shù)輸入條件個(gè)數(shù):輸入條件個(gè)數(shù):3 3;每個(gè)條件的取值:每個(gè)條件的取值:“是是”或或“否否”;規(guī)則個(gè)數(shù):規(guī)則個(gè)數(shù):2 2* *2 2* *2 =82 =8;u 功率大于50馬力嗎u 維修記錄不全嗎u 運(yùn)行超過10年嗎Software Testing例:例:維修機(jī)器問題(續(xù))維修機(jī)器問題(續(xù))12345678條條件件功率大于功率大于5050馬力嗎?馬力嗎?YYYYNNNN維修記錄不全嗎?維修記錄不全嗎?YYNNYYNN運(yùn)行
8、超過運(yùn)行超過1010年嗎?年嗎?YNYNYNYN動(dòng)動(dòng)作作進(jìn)行優(yōu)先處理進(jìn)行優(yōu)先處理作其他處理作其他處理n(3)填入條件項(xiàng);n利用集合的笛卡爾積計(jì)算條件項(xiàng)的取值Software Testing例:例:維修機(jī)器問題(續(xù))維修機(jī)器問題(續(xù))12345678條條件件功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運(yùn)行超過10年嗎?YNYNYNYN動(dòng)動(dòng)作作進(jìn)行優(yōu)先處理 作其他處理 n(4)填入動(dòng)作項(xiàng);n1,2合并,5,7合并,6,8合并Software Testing例:例:維修機(jī)器問題(續(xù))維修機(jī)器問題(續(xù))n(5)化簡;(1)(2)(3)(4)(5)條條件件功率大于50馬力嗎?YY
9、YNN維修記錄不全嗎?YNN運(yùn)行超過10年嗎?YNYN動(dòng)動(dòng)作作進(jìn)行優(yōu)先處理 作其他處理 Software Testing4 基于判定表的測試基于判定表的測試n根據(jù)輸入輸出繪制判定表;根據(jù)輸入輸出繪制判定表;n設(shè)計(jì)測試用例覆蓋判定表中每條規(guī)則;設(shè)計(jì)測試用例覆蓋判定表中每條規(guī)則;Software Testing案例案例2:三角形問題三角形問題n問題描述問題描述 輸入三個(gè)正整數(shù)輸入三個(gè)正整數(shù)a a、b b、c c,分別作為三角形,分別作為三角形的三條邊,通過程序判斷三條邊是否能構(gòu)成的三條邊,通過程序判斷三條邊是否能構(gòu)成三角形?如果能構(gòu)成三角形,判斷三角形的三角形?如果能構(gòu)成三角形,判斷三角形的類型(
10、等邊三角形、等腰三角形、一般三角類型(等邊三角形、等腰三角形、一般三角形)。形)。n請(qǐng)用基于判定表的方法設(shè)計(jì)測試用例。請(qǐng)用基于判定表的方法設(shè)計(jì)測試用例。Software Testingn(1 1)條件樁)條件樁C1C1:a,b,ca,b,c構(gòu)成三角形?構(gòu)成三角形?C2C2:a = b?a = b?C3C3:a = ca = c?C4C4:b = cb = c?n(2 2)規(guī)則數(shù))規(guī)則數(shù)共有四個(gè)條件,每個(gè)條件的取值為共有四個(gè)條件,每個(gè)條件的取值為“是是”或或“否否”,因此有,因此有2 24 4= 16= 16條規(guī)則。條規(guī)則。一、設(shè)計(jì)判定表一、設(shè)計(jì)判定表Software Testingn(3 3)
11、動(dòng)作樁)動(dòng)作樁 A1A1:非三角形;:非三角形; A2A2:不等邊三角形;:不等邊三角形; A3A3:等腰三角形;:等腰三角形; A4A4:等邊三角形;:等邊三角形; A5A5:不可能;:不可能;Software Testingn(4)判定表123456789條條件件a, b, c構(gòu)成三角形NYYYYYYYYa = b?YYYYNNNNa = c?YYNNYYNNb = c?YNYNYNYN動(dòng)動(dòng)作作非三角形不等邊三角形等腰三角形等邊三角形不可能Software Testingn注意:注意:條件的選擇可以大大擴(kuò)展判定表的規(guī)模;條件的選擇可以大大擴(kuò)展判定表的規(guī)模;n例如例如a, b, ca, b,
12、 c構(gòu)成三角形嗎?可以擴(kuò)展為三個(gè)條構(gòu)成三角形嗎?可以擴(kuò)展為三個(gè)條件:件:a b + c?a b + c?b a + c?b a + c?c a + b?c a + b?Software Testing條件樁修改后的判定表?xiàng)l件樁修改后的判定表Software Testinga=b,a=c,bc二、設(shè)計(jì)測試用例二、設(shè)計(jì)測試用例Software Testing案例案例3: NextDate函數(shù)函數(shù)n問題描述問題描述 程序有三個(gè)輸入變量程序有三個(gè)輸入變量monthmonth、dayday、yearyear,并且滿足:并且滿足:1month121month12、1day311day31、1900 yea
13、r 20501900 year 2050。它們分別作為輸入日。它們分別作為輸入日期的月份、日、年份,通過程序可以輸出該期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上下一天的日期。例如,輸輸入日期在日歷上下一天的日期。例如,輸入為入為20052005年年1111月月2929日,則該程序的輸出為日,則該程序的輸出為20052005年年1111月月3030日。日。Software Testing第一次嘗試nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日
14、期2828nD2=D2=日期:日期日期:日期=29=29nD3=D3=日期:日期日期:日期=30=30nD4=D4=日期:日期日期:日期=31=31nY1=Y1=年:正常年年:正常年 Software Testing第二次嘗試(重點(diǎn)考慮閏年)第二次嘗試(重點(diǎn)考慮閏年)nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日期2828nD2=D2=日期:日期日期:日期=29=29nD3=D3=日期:日期日期:日期=30=30nD4=D4=日期:日期日期:日期=31
15、=31nY1=Y1=年:年:年是年是平年平年 nY2=Y2=年:年:年是年是閏年閏年 Software Testing第三次嘗試(關(guān)注日期和月份)第三次嘗試(關(guān)注日期和月份)nM1=M1=月份:每月有月份:每月有3030天天 nM2=M2=月份:每月有月份:每月有3131天天 nM3=M3=月份:此月是月份:此月是1212月月 nM4=M4=月份:此月是月份:此月是2 2月月 nD1=D1=日期:日期:11日期日期 2727 nD2=D2=日期:日期日期:日期=28=28 nD3=D3=日期:日期日期:日期=29=29nD4=D4=日期:日期日期:日期=30=30nD5=D5=日期:日期日期:
16、日期=31=31nY1=Y1=年:年是閏年年:年是閏年 nY2=Y2=年:年不是閏年年:年不是閏年 Software TestingNextDate函數(shù)的判定表每月每月30天天每月每月31天天Software Testing續(xù)續(xù)此月是此月是12月月此月是此月是2月月此年是閏年此年是閏年Software TestingNextDate函數(shù)的精簡判定表Software Testing續(xù)續(xù)Software TestingNextDate函數(shù)的測試用例Software Testing指導(dǎo)方針和觀察指導(dǎo)方針和觀察n適合使用判定表設(shè)計(jì)測試用例條件:適合使用判定表設(shè)計(jì)測試用例條件:規(guī)格說明容易轉(zhuǎn)換成判定表規(guī)
17、格說明容易轉(zhuǎn)換成判定表?xiàng)l件的排列順序不影響執(zhí)行的操作條件的排列順序不影響執(zhí)行的操作規(guī)則的排列順序不影響執(zhí)行的操作規(guī)則的排列順序不影響執(zhí)行的操作當(dāng)某規(guī)則條件滿足時(shí),不必檢查別的規(guī)則當(dāng)某規(guī)則條件滿足時(shí),不必檢查別的規(guī)則某規(guī)則要執(zhí)行多個(gè)操作時(shí),執(zhí)行順序無關(guān)某規(guī)則要執(zhí)行多個(gè)操作時(shí),執(zhí)行順序無關(guān)Software Testing指導(dǎo)方針和觀察指導(dǎo)方針和觀察n判定表技術(shù)適用的應(yīng)用程序的特征:判定表技術(shù)適用的應(yīng)用程序的特征:if-then-elseif-then-else邏輯很突出邏輯很突出輸入變量之間存在邏輯關(guān)系輸入變量之間存在邏輯關(guān)系涉及輸入變量子集的計(jì)算涉及輸入變量子集的計(jì)算輸入與輸出之間存在因果關(guān)系輸
18、入與輸出之間存在因果關(guān)系Software Testingn判定表的優(yōu)點(diǎn)判定表的優(yōu)點(diǎn)能把復(fù)雜的問題按各種可能的情況一一列舉能把復(fù)雜的問題按各種可能的情況一一列舉出來出來簡明而易于理解簡明而易于理解可避免遺漏可避免遺漏Software Testingn判定表的缺點(diǎn)判定表的缺點(diǎn)不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)判定表不能很好地伸縮判定表不能很好地伸縮n有有n n個(gè)條件的決策表有個(gè)條件的決策表有2 2n n 個(gè)規(guī)則。個(gè)規(guī)則。n解決方法解決方法使用擴(kuò)展條目判定表、代數(shù)簡化表,將大表使用擴(kuò)展條目判定表、代數(shù)簡化表,將大表“分解分解”為小表,查找條件項(xiàng)的判定表式為小表,查找條件項(xiàng)的判定表式Software Testing課后練習(xí)課后練習(xí)n登陸功能說明書:(用戶輸入和密碼輸入)登陸功能說明書:(用戶輸入和密碼輸入)n1 1)管理員用戶名為)管理員用戶名為“admin”,admin”,密碼為密碼為“123456”123456”,正常登陸,正常登陸n2 2)用戶名和密碼輸入為空,提示)用戶名和密碼輸入為空,提示 “ “用戶和密碼不允許為空用戶和密碼不允許為空”在用戶名和密碼非空的情況下:在用戶名和密碼非空的情況下:n3 3)要求用戶名必須輸入字母,否則提示)要求用戶名必須輸入字母,否則提示“輸入非法輸入非法”n4 4)要求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育法規(guī)強(qiáng)化訓(xùn)練試卷B卷附答案
- 2024年通風(fēng)消聲器項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 成考英語成人高考(高起專)試卷及解答參考
- 2024年解除勞動(dòng)關(guān)系協(xié)議模板
- 2024年灑水車租賃協(xié)議模板
- 城市中心2024停車場地租賃協(xié)議
- 2024年工程承包協(xié)議格式
- 2024年度新鮮豬肉購銷協(xié)議模板
- 2024專業(yè)修路工程協(xié)作協(xié)議
- 2024小食品買賣協(xié)議書
- 給甲方工程聯(lián)系函范文(十八篇)
- 爭做科學(xué)小能手主題班會(huì)
- DL-T 5148-2021水工建筑物水泥灌漿施工技術(shù)條件-PDF解密
- 陜煤集團(tuán)筆試題庫及答案
- 高中數(shù)學(xué)《函數(shù)的概念及其表示》大單元專題教學(xué)設(shè)計(jì)
- 精神病服藥自我管理
- 數(shù)據(jù)安全與合規(guī)性審查報(bào)告
- 2023年國網(wǎng)西藏電力有限公司高校畢業(yè)生招聘考試真題及答案
- 人防通風(fēng)施工方案及人防通風(fēng)安裝施工方案
- 杭錦旗南平房區(qū)規(guī)劃方案
- 2023年高考俄語試題
評(píng)論
0/150
提交評(píng)論