常用的測試方法:
1 黑盒測試方法:
(1) 等價類劃分
有效等價類 & 無效等價類
eg: 如果要求x的取值範圍為:x>1 && x<999
則有效等價類: 1
無效等價類:x>=1, 或者x>=999
常見的有:規定輸入值的範圍,輸入條件規定了取值的個數,輸入條件規定了乙個輸入值的集合,如果存在輸入條件規定了「必須是」的情況。
等價類劃分的例子:
• 設有乙個檔案管理系統,要求使用者輸入以年月表示的日期。假設日期限定在2023年1月~2023年12月,並規定日期由6位數字字元組成,前4位表示年,後2位表示月。現用等價類劃分法設計測試用例,來測試程式的"日期檢查功能"。
解析:年份: 199001<=year<=201912
日期:由四位數字組成
月份:01<= month <=12(隱藏條件)
分析的有效等價類和無效等價類:
輸入等價類
有效等價類
無效等價類
日期的型別及長度
①6位數字字元
②有非數字字元
③少於6位數字字元
④多於6位數字字元
年份範圍
⑤在1990~2049之間
⑥小於1990
⑦大於2049
月份範圍
⑧在01~12之間
⑨等於00
⑩大於12
(2) 邊界值分析
是指輸入和輸出等價類中哪些恰好處於邊界、或超過邊界、或在邊界以下的狀態。
除了關注輸入條件,還需要考慮從結果空間來設計測試用例。
l 如果輸入條件規定了值的範圍。 1
l 如果輸入條件規定了值的個數。則用最大個數、最小個數,比最大個數大1,比最小個數小1.
l 如果程式的規格說明給出的輸入域或輸出域都是有序集合,則應該選取集合的第乙個元素和最大乙個元素作為測試用例。
(3) 因果圖
(4) 水平組合方法:
a)判斷表: 是分析和表達多邏輯條件下執行不同操作的情況的工具。
全面實驗法 + 化簡
判定表的組成:
判定表通常由四個部分組成,如下圖:
1) 條件樁(conditionstub):列出了問題的所有條件。通常認為列出的條件的次序無關緊要。
2) 動作樁(actionstub):列出了問題規定可能採取的操作。這些操作的排列順序沒有約束。
3) 條件項(conditionentry):列出針對它左列條件的取值。在所有可能情況下的真假值
4) 動作項(actionentry):列出在條件項各種取值情況下採取的動作
例項:
b) 簡單對比法:
即變化乙個因素而固定其他因素。
c)正交試驗法
水平因子、因素數
正交表的行數 = (水平因子-1) * 因素數 + 1
例如:a1:0,1
a2:0,1
a3:0,1
a4:0,1
則全面實現的實驗次數:2*2*2*2 = 16
正交表的實驗次數:1*4 + 1 = 5
l9(34)
3:表示水平因子數
4 表示因素數
9 表示實現次數
正交表是有一定的規則生成,可以利用工具生成正交表。
是一些常用的正交表。
(5) 錯誤猜測
2 白盒測試方法:
if(a & b) else
(1) 語句覆蓋率:每條語句都執行一遍。是最弱的覆蓋。
case1 : a= false
case2 : a=true, b=true
(2) 判定覆蓋:使得程式中每個判斷的取真分支和取假分支至少執行一次。滿足判定覆蓋則一定滿足路徑覆蓋。
case1: a=true,b=true
case2: a=true, b=false
(3) 條件覆蓋:使判定中的每個條件都能去到真和假兩個結果。
a =true、 a = false、b=true、b =false
測試用例:
case1: a =true b =true
case2: a=false b = false
(4) 判定/條件覆蓋: 使判定中的每個條件都能取到真假兩個值,並且是判斷出現真假兩種情況。
case1: a=true b=true
case: a=false b= false
(5) 條件組合覆蓋:使每個判斷中條件結果的所有可能組合至少出現一次。
(6) 多重條件覆蓋:滿足判定覆蓋、條件覆蓋和 判定/條件覆蓋準則。
將每個判定中的所有可能的條件結果的組合以及所有的入口點都至少執行一次。
case1: a=true b=true
case2: a=true b =false
case3: a=false b =true
case4: a=false b= false
(7) 路徑覆蓋:要求覆蓋程式中所有可能的路徑。
case1: a=true b =true
case2:a=false b=true
例項參考:
測試的策略:
(1) 黑盒測試 & 白盒測試
(2) 手工測試 & 自動化測試
(3) 測試的目的:
功能測試 : 單元測試 & 整合測試 & 系統測試 & α測試 & β測試
非功能性測試: 安全測試 & 效能測試 & 相容性測試
(4) 測試的時機和作用分類:
冒煙測試、bvt(build verification test):驗證構建是否通過基本測試,acceptancetest(驗收測試):為了全面考核基本功能/特性而做的測試。
(5) 按照測試策略分類:回歸測試 & 探索性測試(ad hoc test) & santiy test(粗略的測試)
軟體測試 測試技術
一 按開發階段分類 1.單元測試 又叫模組測試,對軟體最小組成單元測試。2.整合測試 也叫聯合 聯調 組裝測試,將程式模組組裝起來,對系統的 介面及整合後的功能 進行正確性檢測的測試工作。3.系統測試 對系統的功能 效能 軟硬體環境進行測試。系統測試包括 回歸測試 和 冒煙測試 冒煙測試 系統測試 ...
軟體測試技術 黑盒測試
黑盒測試就是把測試物件看做乙個不透明的黑盒子,不必了解程式的內部邏輯和結構,只需按照需求規格說明書檢查程式的功能是否符合 黑盒測試主要是為了發現以下幾點錯誤 1 是否有不正確或者遺漏的功能 2 在介面上,輸入能否被正確的接收,是否能輸出正確的結果 3 是否有資料結構錯誤或者外部資訊訪問錯誤 4 效能...
靜態測試技術
靜態測試技術 靜態測試包括 檢查 靜態結構分析 質量度量等。它可以由人工進行,充分發揮人的邏輯思維優勢,也可以借助軟體工具自動進行。檢查 檢查包括 走查 桌面檢查 審查等,主要檢查 和設計的一致性,對標準的遵循 可讀性,的邏輯表達的正確性,結構的合理性等方面 可以發現違背程式編寫標準的問題,程式中不...