测试用例设计方法_黑盒测试——测试用例设计方法
黑盒測試
也稱為功能測試或數據驅動測試。通過軟件的外部表現來發現其缺陷和錯誤。在測試時,把被測程序視為一個不能打開的盒子,在完全不考慮程序內部邏輯結構和內部特性的情況下進行。它是在已知產品所應具有的功能前提下,通過測試來檢測每個功能是否都能正常使用,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能夠適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。
黑盒測試主要用于軟件確認測試。
等價類劃分法
定義
等價類測試是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例。它是一種重要的,常用的黑盒測試用例設計方法,適用范圍廣,可以適用于單元測試、集成測試。系統測試等,且容易擴展。
等價類劃分分類
等價類劃分有兩種不同的情況:有效等價類和無效等價類。在設計測試用例時,要同時考慮這兩種等價類。軟件不僅要能接受合理的數據,也要能經受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。
等價類劃分原則
- 如果某個輸入條件規定了取值范圍或值的個數。則可確定一個合理的等價類(輸入值在此范圍內)和兩個不合理的等價類(輸入值或個數小于這個范圍的最小值或大于這個范圍的最大值)
- 如果規定了輸入數據的一組值,而且程序對不同輸入值做不同的處理,則每個允許輸入值是一個合理的等價類,此外還有一個不合理的等價類,即任何一個不允許輸入的值。
- 如果規定了輸入數據必須遵循的規則,可確定一個合理的等價類(符合規則)和若干個不合理的等價類(從各種角度違反規則)
- 如果輸入是布爾表達式,可以分為一個有效的等價類和一個無效的等價類
- 如果已劃分的等價類中各元素在程序中的處理方式不同,則應將此等價類進一步劃分為更小的等價類
- 等價類劃分還應特別注意默認值、空值、Null、0等的情形
實例
【例】電話號碼測試。某城市電話號碼由三部分組成,分別是
地區碼——空白或4位數字
前綴——為三位數字,但不能為“1”或“0”
后綴——4位數字
假定被測程序能接受一切符合上述規定的電話號碼,拒絕所有不符合規定的電話號碼。請用等價類方法進行測試,設計測試用例
邊界值分析法
常見邊界條件
1.數值的邊界值
計算機是基于二進制進行工作的,因此,軟件的任何數值運算都有一定的范圍限制。比如一個字節由8位組成,一個字節所能表達的數值范圍是[0,255]。下表列出了計算機中常用的數值范圍。
2.字符的邊界值
3.其他邊界條件
邊界值選擇遵循的原則
實例
【例】NextDate函數邊界值測試
程序有三個變量month、day、year(month、day和year均為整數值,并且滿足1<=month<=12、1<=day<=31、1900<=year<=2050),分別作為輸入日期的月份、日、年份,通過程序可以輸出該輸入日期在日歷上下一天的日期。例如,輸入為2005年11月29日,則該程序的輸出為2005年11月30日。請用邊界值分析法設計測試用例,分析各變量的取值。
邊界值分析測試時,各變量分別取:略小于最小值、最小值、正常值、最大值和略最大于最大值。具體取值如下:
month:-1,1,6,12,13;
day:-1,1,15,31,32;
year:1899,1900,1975,2050,2051;
在NextDate函數中有兩種復雜性的輸入來源,一是輸入域的復雜性(即輸入變量之間邏輯關系的復雜性),而是確定閏年的規則。
決策表
考慮輸入與輸出變量取值之間的關系,比較復雜,需要更多的規則。
在一些數據處理問題中,某些操作是否實施依賴于多個邏輯條件的取值,在這些邏輯條件取值的組合構成的多種情況下,分別執行不同的操作。處理這類問題的一個非常有力的分析和表達工具是判定表(決策表)。決策表能夠將復雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設計出完整的測試用例集合。在所有的功能測試方法中,基于決策表的測試方法是最嚴格的
決策表通常由四個部分組成:
(1)條件樁(Condition Stub):列出了問題的所有條件。通常認為列出的條件的次序無關緊要
(2)動作樁(Action Stub):列出了問題規定可能采取的操作。這些操作的排列順序沒有約束
(3)條件項(Condition Entry):列出了針對它左列條件的取值。在所有可能的情況下,給出真假值。
(4)動作項(Action Entry):列出在條件項的各種取值情況下應該采取的動作
建立判定表可遵循的步驟
1)列出條件樁和動作樁
2)確定規則的個數,用來為規則編號
若有n個原因,且每個原因的可取值為0或者1,那么將會有2n個規則
3)完成所有條件項的填寫
4)完成所有的動作項的填寫(得到初始判定表)
5)合并相似規則,用以對初始判斷表進行簡化
有兩個或者多條規則具有相同的動作,并且條件項之間存在極為相似的關系就可以進行合并。
實例
問題描述: “……對于功率大于50馬力的機器,并且維修記錄不全或已運行10年以上的機器,應給予優先的維修處理……”
條件樁:
C1:功率大于50馬力嗎?
C2:維修記錄不全嗎?
C3:運行超過10年嗎?
動作樁:
A1:進行優先處理
A2:作其他處理
生成判定表:
簡化判定表:
1,2合并,5,7合并,6,8合并
因果圖
等價類劃分和邊界值分析方法都只是孤立地考慮各個輸入數據的測試功能,而沒有考慮多個輸入條件的各種組合和輸入條件之間的相互制約關系引起的錯誤。因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個動作的形式來設計測試用例,這就需要利用因果圖(邏輯模型),因果圖方法最終生成的就是判定表,它適合于檢查程序輸入條件的各種組合情況
因果圖中的基本符號:通常在因果圖中用Ci表示原因,用Ei表示結果,各結點表示狀態,可取值“0”或“1”。“0”表示某狀態不出現,“1”表示某狀態出現。
因果圖法基本步驟:
- 找出所有的原因,原因即輸入條件或輸入條件的等價類
- 找出所有的結果,結果即輸出條件
- 明確所有輸入條件之間的制約關系以及組合關系
- 明確所有輸出條件之間的制約關系以及組合關系
- 找出什么樣的輸入條件組合會產生哪種輸出結果
- 把因果圖轉換成判定表/決策表
- 為判定表/決策表中的每一列表示的情況設計測試用例
實例:
某軟件規格說明書中需求描述為:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件修改,但如果第一列字符不正確,則給出信息L,如果第二列字符不是數字,則給出信息M。
根據以上說明書需求分析出原因和結果
原因:
x、第一列字符是A;
y、第一列字符是B
z、第二列字符是數字
結果:
a、修改文件(即成功)
b、給出信息L
c、給出信息M
分析:
原因:
x、y、z不能同時出現(對應表規則號1)
x和y不能同時出現(對應表規則號2)
x、z可以組合(對應表規則號3)
y、z可以組合(對應表規則號5)
x、y、z可以單獨出現(對應序號4、6、7)
x、y、z可以都不出現(對應表規則號1)
結果:
ab不能組合
ac不能組合
bc不能組合
a、b、c可以單獨出現
根據以上分析建立判定表
軟件規格說明書判定表
注意,規則1、2列是不可能同時出現的,排除,簡化后即為測試用例
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的测试用例设计方法_黑盒测试——测试用例设计方法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 国防科大计算机专业分数线,2018国防科
- 下一篇: 圣母大学应用计算机数学统计,圣母大学(美
