軟件測試中正交法設計測試用例實(shí)例分析
測試用例(Test Case)是為某個(gè)特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個(gè)程序路徑或核實(shí)是否滿(mǎn)足某個(gè)特定需求。
測試用例(Test Case)目前沒(méi)有經(jīng)典的定義。比較通常的說(shuō)法是:指對一項特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現測試方案、方法、技術(shù)和策略。內容包括測試目標、測試環(huán)境、輸入數據、測試步驟、預期結果、測試腳本等,并形成文檔。
目的
本文以一個(gè)轉帳功能為例介紹了測試例估計和設計的方法。
例子說(shuō)明
進(jìn)行測試例估計和設計的依據是需求規格說(shuō)明書(shū)和設計說(shuō)明書(shū)。一般的步驟如下:
1.
2.
3.
4.
5.
例如在對某一應用系統的轉賬功能進(jìn)行測試過(guò)程中,利用正交矩陣生成測試用例步驟如下:
1.約束條件分析:P5L4
標號 |
影響測試規格的要素 |
取值1 |
取值2 |
取值3 |
取值4 |
1 |
用戶(hù)權限 |
有轉賬權限 |
無(wú)轉賬權限 |
|
|
2 |
票據號 |
票據號有效 |
票據號無(wú)效 |
|
|
3 |
賬號 |
賬號有效 |
賬號無(wú)效 |
|
|
4 |
轉賬金額 |
轉賬金額小于或等于用戶(hù)實(shí)際金額 |
轉賬金額大于用戶(hù)實(shí)際金額 |
|
|
5 |
轉賬方式 |
同城不同行轉賬 |
同行轉賬 |
異地電匯 |
異地信匯 |
注:P表示影響測試規格要素個(gè)數;L表示影響測試規格要素的最大取值個(gè)數
2.生成標準測試例集矩陣:
編號 |
用戶(hù)權限 |
票據號 |
賬號 |
轉賬金額 |
轉賬方式 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
2 |
2 |
2 |
2 |
3 |
1 |
3 |
3 |
3 |
3 |
4 |
1 |
4 |
4 |
4 |
4 |
5 |
2 |
1 |
2 |
3 |
4 |
6 |
2 |
2 |
1 |
4 |
3 |
7 |
2 |
3 |
4 |
1 |
2 |
8 |
2 |
4 |
3 |
2 |
1 |
9 |
3 |
1 |
3 |
4 |
2 |
10 |
3 |
2 |
4 |
3 |
1 |
11 |
3 |
3 |
1 |
2 |
4 |
12 |
3 |
4 |
2 |
1 |
3 |
13 |
4 |
1 |
4 |
2 |
3 |
14 |
4 |
2 |
3 |
1 |
4 |
15 |
4 |
3 |
2 |
4 |
1 |
16 |
4 |
4 |
1 |
3 |
2 |
圖表 2
說(shuō)明:首先分析第一個(gè)要素“用戶(hù)權限”,其取值只有2個(gè),即“用戶(hù)權限”的值只有可能是1或2,這樣3和4的取值所在的情況就可以刪除,之后在考慮“用戶(hù)權限”的2個(gè)取值的具體情況,一個(gè)是用戶(hù)權限有效(1),另一個(gè)是用戶(hù)權限無(wú)效(2),當取值為有效時(shí),所有的情況都可以保留,當取值為無(wú)效時(shí),只保留一個(gè)就可以了(一旦最高優(yōu)先級的條件不能滿(mǎn)足,那么其他低優(yōu)先級的條件就不需要考慮),然后用同樣的方法判斷其他的條件,最后等到一個(gè)臨時(shí)結果(編號1,2,5),這時(shí)可以從最后一個(gè)要素開(kāi)始分析,要使最后一個(gè)要素有意義那前4個(gè)要素必須都成立(值為1),而要素“轉帳方式”有4種取值而現在的結果中有效情況只有一種(No1),所以可以增加3種(即,見(jiàn)表4中No2,3,4),F在考慮要素“轉帳金額”,可以增加在前3個(gè)要素都成立時(shí),“轉帳金額”取值為大于用戶(hù)實(shí)際金額的情況(即,見(jiàn)表4中No5)。接著(zhù)考慮要素“帳號”,可以增加在前2個(gè)要素都成立時(shí),“帳號”取值為帳號無(wú)效的情況(即,見(jiàn)表4中No6)。接著(zhù)考慮要素“票據號”,可以增加在第一個(gè)要素都成立時(shí),“票據號”取值為票據號無(wú)效的情況(即,見(jiàn)表4中No7)。這樣就補齊了所有的情況,從而得到最終結果(表5)
3.篩選測試矩陣:
注:由于測試例矩陣是根據影響要素條件最大取值個(gè)數得出,因此不是所有影響要素的取值個(gè)數都與最大值相等,因此應將矩陣中不存在的測試例條件刪除。
編號 |
用戶(hù)權限 |
票據號 |
賬號 |
轉賬金額 |
轉賬方式 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
2 |
2 |
2 |
2 |
3 |
1 |
3 |
3 |
3 |
3 |
4 |
1 |
4 |
4 |
4 |
4 |
5 |
2 |
1 |
2 |
3 |
4 |
6 |
2 |
2 |
1 |
4 |
3 |
7 |
2 |
3 |
4 |
1 |
2 |
8 |
2 |
4 |
3 |
2 |
1 |
9 |
3 |
1 |
3 |
4 |
2 |
10 |
3 |
2 |
4 |
3 |
1 |
11 |
3 |
3 |
1 |
2 |
4 |
12 |
3 |
4 |
2 |
1 |
3 |
13 |
4 |
1 |
4 |
2 |
3 |
14 |
4 |
2 |
3 |
1 |
4 |
15 |
4 |
3 |
2 |
4 |
1 |
16 |
4 |
4 |
1 |
3 |
2 |
圖表 3
4.修改測試矩陣:
注:由于測試例矩陣是根據影響要素條件最大取值個(gè)數得出的,因此在刪除測試例時(shí)應將因此導致測試矩陣范圍不完整的測試例補充完整。
說(shuō)明:編號5,6,7,8的情況中有“-”,其意義為“取任何值都不影響結果”
編號 |
用戶(hù)權限 |
票據號 |
賬號 |
轉賬金額 |
轉賬方式 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
1 |
1 |
2 |
3 |
1 |
1 |
1 |
1 |
3 |
4 |
1 |
1 |
1 |
1 |
4 |
5 |
1 |
1 |
1 |
2 |
- |
6 |
1 |
1 |
2 |
- |
- |
7 |
1 |
2 |
- |
- |
- |
8 |
2 |
- |
- |
- |
- |
圖表 4
5.生成測試用例:
編號 |
用戶(hù)權限 |
票據號 |
賬號 |
轉賬金額 |
轉賬方式 |
1 |
有轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
同城不同行轉賬 |
2 |
有轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
同行轉賬 |
3 |
有轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
異地電匯 |
4 |
有轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
異地信匯 |
5 |
有轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額小于用戶(hù)實(shí)際金額 |
同城不同行轉賬 |
6 |
有轉賬權限 |
票據號有效 |
賬號無(wú)效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
同城不同行轉賬 |
7 |
有轉賬權限 |
票據號無(wú)效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
同城不同行轉賬 |
8 |
無(wú)轉賬權限 |
票據號有效 |
賬號有效 |
轉賬金額大于或等于用戶(hù)實(shí)際金額 |
同城不同行轉賬 |
圖表 5
說(shuō)明
使用直角矩陣的方法可以進(jìn)行最初的測試分析設計和估計,但是隨著(zhù)項目的進(jìn)展,測試組對系統的理解會(huì )逐漸加深,因此需要根據需要多次進(jìn)行測試分析設計和估計。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/