軟體測試 測試用例的經典例子

2021-09-30 06:59:04 字數 4056 閱讀 9051

一、等價類劃分

問:某程式規定:"輸入三個整數 a、 b、 c分別作為三邊的邊長構成三角形。通過程式判定所構成的三角形的型別,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 … "。用等價類劃分方法為該程式進行測試用例設計。(三角形問題的複雜之處在於輸入與輸出之間的關係比較複雜。)

解:分析題目中給出和隱含的對輸入條件的要求: 

(1)整數

(2)三個數

(3)非零數 

(4)正數

(5)兩邊之和大於第三邊

(6)等腰

(7)等邊 

如果 a、 b 、 c滿足條件( 1 ) ~ ( 4 ),則輸出下列四種情況之一:

1)如果不滿足條件(5),則程式輸出為 " 非三角形 " 。

2)如果三條邊相等即滿足條件(7),則程式輸出為 " 等邊三角形 " 。

3)如果只有兩條邊相等、即滿足條件(6),則程式輸出為 " 等腰三角形 " 。

4)如果三條邊都不相等,則程式輸出為 " 一般三角形 " 。 

列出等價類表並編號

覆蓋有效等價類的測試用例:

a      b      c              覆蓋等價類號碼

3      4      5             (1)--(7)

4      4      5             (1)--(7),(8)

4      5      5             (1)--(7),(9)    

5      4      5             (1)--(7),(10)

4      4      4             (1)--(7),(11)

覆蓋無效等價類的測試用例:

二、邊界值分析法

nextdate函式的邊界值分析測試用例

在nextdate函式中,隱含規定了變數mouth和變數day的取值範圍為1≤mouth≤12和1≤day≤31,並設定變數year的取值範圍為1912≤year≤2050 。

測試用例

mouth d

a y y

e a

r預期輸出 t

e st1

te st2

te st3

te st4

te st5

te st6

te st7 666

6666 15

1515

1515

1515

1911

1912

1913

1975

2049

2050

2051

1911.6.16

1912.6.16

1913.6.16

1975.6.16

2049.6.16

2050.6.16

2051.6.16

test8

test9

test10

test11

test12

test13 666

666 -112

3031

322001

2001

2001

2001

2001

2001 d

a y超出[1…31]

2001.6.2

2001.6.3

2001.7.1

輸入日期超界

da y超出[1…31]

test14

test15

test16

test17

test18

test19 -112

1112

13 15

1515

1515

152001

2001

2001

2001

2001

2001

mouth超出[1…12]

2001.1.16

2001.2.16

2001.11.16

2001.12.16

mouth超出[1…12]

三、錯誤推測法

測試乙個對線性表(比如陣列)進行排序的程式,可推測列出以下幾項需要特別

測試的情況:

i.          輸入的線性表為空表;

ii.       表中只含有乙個元素;

iii.     輸入表中所有元素已排好序;

iv.     輸入表已按逆序排好;

v.        輸入表中部分或全部元素相同。

四、因果圖法

有乙個處理單價為5角錢的飲料的自動售貨機

軟體測試

用例的設計。其規格說明如下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則乙個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣並押下按鈕後,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣。

1) 分析這一段說明,列出原因和結果

原因:

1.售貨機有零錢找

2.投入1元硬幣

3.投入5角硬幣

4.押下橙汁按鈕

5.押下啤酒按鈕

結果:21.售貨機〖零錢找完〗燈亮   

22.退還1元硬幣

23.退還5角硬幣             

24.送出橙汁飲料

25.送出啤酒飲料

2)畫出因果圖,如圖所示。所有原因結點列在左邊,所有結果結點列在右邊。建立中間結點,表示處理的中間狀態。中間結點:

11. 投入1元硬幣且押下飲料按鈕

12. 押下〖橙汁〗或〖啤酒〗的按鈕

13. 應當找5角零錢並且售貨機有零錢找

14. 錢已付清

3)轉換成判定表:

五、判定表驅動分析方法

問題要求:」……對功率大於50馬力的機器、維修記錄不全或已執行10年以上的機器,應給予優先的維修處理……」 。這裡假定,「維修記錄不全」和「優先維修處理」均已在別處有更嚴格的定義。請建立判定表。

解答:

①確定規則的個數:這裡有3個條件,每個條件有兩個取值,故應有2*2*2=8種規則。

②列出所有的條件茬和動作樁:

③填入條件項。可從最後1行條件項開始,逐行向上填滿。如第三行是:y n y n y n y n,第二行是:y y n n y y n n等等。

④填入動作樁和動作頂。這樣便得到形如圖的初始判定表。 1

2345

678條

件 功率大於50馬力嗎? y

yyyn

nnn維修記錄不全嗎? y

ynny

ynn執行超過10年嗎? y

nyny

nyn動

作 進行優先處理 x

***x

作其他處理 x

xx初始判定表

⑤化簡。合併相似規則後得到圖。 1

2345

條 件功率大於50馬力嗎? y

yynn

維修記錄不全嗎? y

nn--

執行超過10年嗎? -

ynyn

動 作進行優先處理 x

xx作其他處理 x

x

軟體測試 測試用例的經典例子

一 等價類劃分 問 某程式規定 輸入三個整數 a b c分別作為三邊的邊長構成三角形。通過程式判定所構成的三角形的型別,當此三角形為一般三角形 等腰三角形及等邊三角形時,分別作計算 用等價類劃分方法為該程式進行測試用例設計。三角形問題的複雜之處在於輸入與輸出之間的關係比較複雜。解 分析題目中給出和隱...

軟體測試用例優秀例子 軟體測試用例要素詳解

arnold 大話軟體測試用例要素 zhuanlan.zhihu.com 我們經常都知道乙個測試用例裡面包含以下幾個要素 1,用例編號 2,模組 3,場景 4,用例名稱 5,前置條件 6,測試等級 7,操作步驟 8,預期結果 需求要求的結果 9,實際結果 10,建立日期 11,是否通過 我們分析下,...

經典測試用例

1.測試專案 杯子 需求測試 檢視杯子使用說明書 介面測試 檢視杯子外觀 功能度 用水杯裝水看漏不漏 水能不能被喝到 安全性 杯子有沒有毒或細菌 可靠性 杯子從不同高度落下的損壞程度 可移植性 杯子在不同的地方 溫度等環境下是否都可以正常使用 相容性 杯子是否能夠容納果汁 白水 酒精 汽油等 易用性...