




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章黑盒測試問題1:三角形問題接收三個整數a,b,c作為輸入,用作三角形的邊,程序輸出由這三個邊確定的三角形的類型:等邊三角形、等腰三角形、不等邊三角形、非三角形。問題2:NextDate函數輸入三個變量(年、月、日),函數返回輸入日期后面的那個日期。1≤月份≤121≤日期≤311812≤年≤20123.1等價類劃分3.1.1等價類劃分原則等價類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數代表性數據當作測試用例。在分析需求規格說明的基礎上劃分等價類,列出等價類表。等價類是指某個輸入域的集合。如果用集合中的一個輸入條件作為測試數據進行測試不能發現程序中的錯誤,那么使用集合中的其它輸入條件進行測試也不可能發現錯誤。對揭露程序中的錯誤來說,集合中的每個輸入條件是等效的。
有效等價類:有效等價類指的是對程序的規格說明是有意義的、合理的輸入數據所構成的集合。在具體問題中,有效等價類可以有一個,也可以是多個。無效等價類:無效等價類指對程序的規格說明是不合理的或無意義的輸入數據所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。3.1.2確定等價類原則1.如果輸入條件規定了取值范圍或值的個數,則可確定一個有效等價類和兩個無效等價類。輸入條件:…項數可以從1到999…有效等價類為“1≤
項數≤999”無效等價類為“項數<1”及“項數>999”值的個數 “學生選課允許2門至4門” 有效等價類: 選課2至4門 無效等價類: 只選一門課或未選課 選課超過4門2.輸入條件規定了輸入值的集合,或是規定了“必須如何”的條件,則可確定一個有效等價類和一個無效等價類。例:“標識符以字母開頭” 有效等價類: 以字母開頭的字符串 無效等價類: 以非字母開頭的字符串3.如果確知,已劃分的等價類中各元素在程序中的處理方式是不同的,則應將此等價類進一步劃小。3.1.3確定測試用例1.設計一個測試用例,使其盡可能多地覆蓋有效等價類,重復這一步,最終使得所有有效等價類均被覆蓋。2.設計一個測試用例,使其只覆蓋一個無效等價類,重復這一步,最終使得所有無效等價類均被覆蓋。有效等價類覆蓋有效等價類的測試用例:abc覆蓋等價類號碼345(1)--(7)445(1)--(7),(8)455(1)--(7),(9)545(1)--(7),(10)444(1)--(7),(11)無效等價類3.1.4弱一般等價類兩變量x1,x2的函數a?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]弱一般等價類:使用一個測試用例中的每個等價類(區間)的一個變量實現(單缺陷假設)。x1x2abegfcd三個測試用例使用每個等價類中的一個值強一般等價類基于多缺陷假設,需要等價類笛卡爾積的每個元素對應的測試用例a?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]x1x2abegfcda?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]覆蓋所有等價類對可能的輸入組合弱健壯等價類弱:基于單缺陷假設健壯:考慮無效值對有效輸入,使用每個有效等價類的一個值對無效輸入,測試用例將擁有一個無效值,并保持其余的值都是有效的。x1x2abegfcda?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]強健壯等價類基于多缺陷假設,從所有等價類的笛卡爾積的每一個元素中獲得測試用例。a?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]x1x2abegfcda?x1?d,區間[a,b),[b,c),[c,d]e?x2?g,區間[e,f),[f,g]3.1.5舉例—三角形問題輸出等價類R1={<a,b,c>:有三條邊的等邊三角形}R2={<a,b,c>:有三條邊的等腰三角形}R3={<a,b,c>:有三條邊的不等邊三角形}R4={<a,b,c>:三條邊的不構成三角形}弱一般等價類abc預期輸出1555等邊三角形2223等腰三角形3345不等邊三角形4412非三角形弱健壯等價類abc預期輸出1555等邊三角形2223等腰三角形3345不等邊三角形4412非三角形5-15565-15755-18201559520151055201NextDate問題三變量的有效區間M1={月份:1≤月份≤12}D1={日期:1≤日期≤31}Y1={年:1812≤年≤2012}無效等價類M2={月份:月份<1}M3={月份:月份>12}D2={日期:日期<
1}D3={日期:日期>31}Y2={年:年<
1812}Y3={年:年>
2012}弱一般等價類弱健壯測試用例月份日期年預期輸出161519121912.6.16月份日期年預期輸出161519121912.6.162-115191231315191246-119125632191266151811761520133.2邊界值測試3.2.1邊界值分析應遵循的原則:(1)如果輸入條件規定了取值范圍,或規定了值的個數,測試用例選擇:范圍的邊界內,最小值,稍高于最小值,正常值,稍低于最大值,最大值。例1:程序的規格說明:“重量在10~50公斤范圍內的郵 件,其計算郵費……”,測試用例選擇:10公斤, 10.01 公斤,25公斤,49.99公斤,50公斤例2:“某輸入文件可包含1~255個記錄,”測試用例:1,2,120,254,255;例:涉及兩個變量的函數x1,x2X1的取值:x1min,x1min+,x1nom,x1max-,x1maxX2的取值:x2min,x2min+,x2nom,x2max-,x2max關鍵假設:“單缺陷”假設:缺陷極少是由兩個或多個缺陷的同時發生引起的。<x1nom,x2min><x1nom,x2min+><x1nom,x2nom><x1nom,x2max-><x1nom,x2max><x1min,x2nom><x1min+,x2nom><x1nom,x2nom><x1max-,x2nom><x1max,x2nom>x1x2abcd對于n變量函數,使除一個以外的所有變量取正常值,使剩余的那個變量取最小值、略高于最小值、正常值、略低于最大值、最大值,對每個變量都重復進行。一個n變量函數的邊界值有:4n+1個測試用例?(2)針對規格說明的每個輸出條件使用(1)原則。(3)如果規格設計中提到的輸入輸出是個有序的集合(如順序文件表格等),就應注意選取有序集中的第一個和最后一個元素作為測試用例。(4)分析規格說明,找出其它的可能邊界條件。邊界值分析的局限性N個變量相互獨立不考慮變量的語義3.2.2健壯性測試是邊界值分析的一種簡單擴展,除了使用五個邊界值分析取值,還要通過采用一個略超過最大值的取值,以及一個略小于最小值的取值。一個n變量函數的健壯性測試用例有多少個?(基于“單缺陷”假設)6n+1x1x2abcd3.2.3最壞情況測試對每一個變量,首先進行包含最小值、略高于最小值、正常值、略低于最大值、最大值五個元素集合的測試,然后對這些集合進行笛卡爾積計算,以生成測試用例。n變量函數的最壞情況測試會產生5n個測試用例?x1x2abcdX1的取值:x1min,x1min+,x1nom,x1max-,x1maxX2的取值:x2min,x2min+,x2nom,x2max-,x2max健壯最壞情況測試對每一個變量,首先進行包含最小值、略高于最小值、正常值、略低于最大值、最大值五個元素集合的測試,還要采用一個略超過最大值的取值,以及一個略小于最小值的取值。然后對這些集合進行笛卡爾積計算,以生成測試用例。n變量函數的健壯最壞情況測試會產生多少個測試用例?7nx1x2abcdX1的取值:x1min-,x1min,x1min+,x1nom,x1max- x1max,x1max+X2的取值:X2min-x2min,x2min+,x2nom,x2max- x2max,X2max+3.2.4特殊值測試使用領域知識、使用類似程序的經驗開發測試用例的特殊值3.2.5舉例—三角形問題邊界值分析的測試用例abc預期結果110010012100100231001001004100100199510010020061001100710021008100100100910019910010100200100111100100122100100131001001001419910010015200100100最壞情況測試用例(5n)abc預期結果1111211231110041119951120061217122812100912199101220011110011211002131100100141100199151100200NextDate問題最壞情況的測試用例月份日期年預期結果111181221118133111912411201151120126121812712181381219129122011101220121111518121211518131311519121411520111511520123.2.6隨機測試使用隨機數生成器選出測試用例3.3判定表驅動測試三角形問題a,b,c構成三角形NYYYYYYYYa=b?-YYYYNNNNa=c?-YYNNYYNNb=c?-YNYNYNYN非三角形X不等邊三角形X等腰三角形XXX等邊三角形X不可能XXX判定表驅動測試
在一些數據處理問題中,某些操作是否實施依賴于多個邏輯條件的取值。在這些邏輯條件取值的組合所構成的多種情況下,分別執行不同的操作。處理這類問題的一個非常有力的分析和表達工具是決策表,或判定表(DecisionTable)。
判定表的組成
條件樁(ConditionStub)動作樁(ActionStub)
條件項(ConditionEntity)動作項(ActionEntity)
規則(rule)
條件樁條件項
動作樁動作項
條件樁條件項
動作樁動作項
條件樁條件項
動作樁動作項規則規則及規則合并任何一個條件組合的特定取值及其相應要執行的操作稱為規則。在判定表中貫穿條件項和動作項的一列就是一條規則。顯然,判定表中列出多少組條件取值,也就有多少條規則,即條件項和動作項有多少列。化簡就是規則合并
有兩條或多條規則具有相同的動作,并且其條件項之間存在著極為相似的關系
YYNNYNXXYN-XYY-NNNXXY-NX
兩條規則合并成一條兩條規則的進一步合并
例問題要求:”……對功率大于50馬力的機器、維修記錄不全或已運行10年以上的機器,應給予優先的維修處理……”假定,“維修記錄不全”和“優先維修處理”均已在別處有更嚴格的定義按5步建立判定表建立判定表的步驟①確定規則的個數。這里有3個條件,每個條件有兩個取值,故應有2*2*2=8種規則。②列出所有的條件茬和動作茬。
③填入條件項。建立判定表的步驟④填入動作茬和動作頂。這樣便得到形如圖的初始判定表。
1
2
3
4
5
6
7
8
功率大于50馬力嗎?
Y
Y
Y
Y
N
N
N
N
維修記錄不全嗎?
Y
Y
N
N
Y
Y
N
N
條
件
運行超過10年嗎?
Y
N
Y
N
Y
N
Y
N
進行優先處理
x
x
X
X
X
動
作
作其他處理
X
x
x
初始判定表
建立判定表的步驟⑤化簡。合并相似規則后得到圖。
1
2
3
4
5
功率大于50馬力嗎?
Y
Y
Y
N
N
維修記錄不全嗎?
Y
N
N
-
-
條
件
運行超過10年嗎?
-
Y
N
Y
N
進行優先處理
x
x
X
動
作
作其他處理
x
x
化簡后的判定表
判定表在功能測試中的應用
一軟件規格說明(1)當條件1和條件2滿足,并且條件3和條件4不滿足,或者當條件1、3和條件4滿足時,要執行操作1。(2)在任一個條件都不滿足時,要執行操作2。(3)在條件1不滿足,而條件4被滿足時,要執行操作3。
規則只給出了16種規則中的8種
根據規格說明得到的判定表默許的規則
規則1
規則2
規則3規則4條件1
Y
Y
N
N
條件2
Y
-
N
-
條件3
N
Y
N
-
條件4
N
Y
N
Y
操作1
x
x
操作2
x
操作3
x
判定表的優點和缺點優點:
它能把復雜的問題按各種可能的情況一一列舉出來,簡明而易于理解,也可避免遺漏。缺點:
不能表達重復執行的動作,例如循環結構。
使用判定表設計測試用例的Beizer條件①規格說明以判定表形式給出,或是很容易轉換成判定表。②條件的排列順序不會也不應影響執行哪些操作。③規則的排列順序不會也不應影響執行哪些操作。④每當某一規則的條件已經滿足,并確定要執行的操作后,不必檢驗別的規則。⑤如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要。
3.4因果圖分析因果圖
因果圖方法(Cause一EffectGraphics):一種黑盒測試方法方法的依據:需求規格說明中的因果關系能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還指出,程序規格說明描述中存在著的問題。
恒等c1=1e1=1c1=0e1=0非c1c2c3c1e1c1e1e1∨c1c2e1∧c1=1e1=0c1=0e1=1c1=1或c2=1或c3=1e1=1e1=0否則c1=1且c2=1e1=1e1=0否則或與因果圖介紹abEacIbabOE約束(異):a,b中至多有一個可能為1即a和b不能同時為1I約束(或):a,b和c中至少有一個
必須是1,即a、b和c不能同時為0O約束(唯一):a和b中必須有一個
且僅有一個為1輸入條件的約束abRR約束(要求):a是1時,b必須是1
即不可能a是1時b為0abMM約束(強制):若結果a是1時,
則結果b強制為0輸出條件的約束步驟
①分析程序規格說明的描述中,哪些是原因,哪些是結果。原因常常是輸入條件或是輸入條件的等價類。而結果是輸出條件。②分析程序規格說明的描述中語義的內容,并將其表示成連接各個原因與各個結果的“因果圖”。步驟③由于語法或環境的限制,有些原因和結果的組合情況是不可能出現的。為表明這些特定的情況,在因果圖上使用若干個特殊的符號標明約束條件。④把因果圖轉換成判定表。⑤把判定表中每一列表示的情況寫成測試用例。例1軟件規格說明書“第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改。但如果第一列字符不正確,則給出信息L,如果第二列字符不是數字,則給出信息M。”原因和結果原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一數字。結果:
21——修改文件;
22——給出信息L;
23——給出信息M。因果圖和具有約束的因果圖11為中間節點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。12322212311E判定表
根據因果圖建立如下的判定表
表中8種情況的左面兩列情況中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025物流服務合同協議書樣本
- 2025排水系統修復工程合同
- 2025簽訂汽車租賃合同的注意事項
- 2025汽車維修服務合同模板
- 2025年度資產轉讓合同樣本
- 2025簡易裝修房屋租賃合同
- 2024年膨化硝銨炸藥項目項目投資申請報告代可行性研究報告
- 2025商業大廈辦公室租賃合同模板
- 2025塑膠制品購銷合同書樣本
- 2025物業營銷中心裝修合同
- Mayo肘關節功能評分
- 2014—2015—2《刑法總論》教學大綱(修正版)
- 《焦慮癥基礎知識》PPT課件.ppt
- 基于鉆石模型的南通紡織產業競爭力分析
- 多肉植物生長觀察日記小報
- 華銳SL1500風機發電機及水冷系統故障及解決對策
- 關于更換老師的申請書范文
- 發電廠電氣一次部分設計—2×300+2×200MW
- 基于深度學習的鳥類識別系統的設計與實現
- 實驗室安全-電水氣火的使用安全課件
- 【走向高考】(2013春季出版)高考物理總復習 模塊整合課件 新人教版選修3-5
評論
0/150
提交評論