軟體測試-編寫測試用例
阿新 • • 發佈:2019-01-01
常見的用例編寫方法如下:一、需求轉化法根據需求轉化為基本功能測試點二、等價類1、等價類:程式的輸入域劃分為若干部分,每個部分中選取少數有代表性的資料作為測試用例,每一類的代表性資料在測試中的作用等價於這一類的其它值;從所有可能的輸入中努力找出某個小的子集,我們要找的子集是正確的,並且是可能發現最多錯誤的子集。精心挑選的用例符合兩個特性:特性一:嚴格控制測試用例的增加,減少為達到“合理測試”的某些既定目標而必須設計的其它測試用例的數量;特性二:它覆蓋了大部分其它可能的測試用例;等價類劃分有兩類不同的情況:有效等價類和無效等價類;儘管等價類測試要比隨機測試用例優越的多,但它仍然存在不足。2、劃分等價類六大原則:
三、邊界值:所謂邊界條件,是指輸入和輸出等價類中那些恰好處於邊界、超過邊界、或在邊界以下的狀態。與等價類不同:特徵一:邊界值分析需要選擇一個或多個元素,以便等價類的每一個邊界都經過了測試;特徵二:與僅僅關注輸入條件不同,還需要考慮結果空間(輸出等價類)設計測試用例;邊界條件可能非常微妙,因此把他們確定下來需要煞費心思;基於邊界值分析方法選擇測試用例的原則:
- 輸入條件劃分了取值範圍
- 輸入條件規定了輸入值的集合或規定了“必須如何”的條件情況下,則可以確定一個有效等價類和無效等價類;
- 輸入條件是一個布林值的情況下,則可以確定一個有效等價類和無效等價類;
- 輸入條件在規定了輸入資料的一組值(假定n個),並且程式要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類.
- 輸入條件在規定了輸入資料必須遵守的規則的情況下,可確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則);
- 在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類;
- 為每一個等價類固定一個編號;
- 設計一個測試用例,使其覆蓋一個或多個有效的等價類;
- 設計一個或更多的測試用例以覆蓋剩餘的有效等價類;
輸入條件:3個整數,a,b,c | 條件 | 有效等價類 | 編號 | 無效等價類 | 編號 |
3個數 | a,b,c | 1 | 1、只有一個數;a/b/c2、只有兩個數a,b;b,c;a,c;3、三個以上數 | 678 | |
整數 | 正整數 | 2 | 1、有一個為0;a=0;b=0;c=0;2、有兩個為0;a=b=0;a=c=0;b=c=0;3、全為0;a=b=c=0;4、一個為負數;a<0;b<0;c<0;5、兩個為負數;a/b<0;a/c<0;b/c<0;6、全為負數;a/b/c<0; | 91011121314 | |
輸出條件:一般三角形、等邊三角形、等腰三角形 | 一般三角形等腰三角形等邊三角形 | a+b>c;a+c>b;b+c>a;a=b;a=c;b=c;a=b=c; | 345 | ||
測試用例 | a=3,b=4,c=5a=3,b=3,c=5a=3,b=5,c=3a=5,b=3,c=3a=3,b=3,c=3 | 覆蓋編號1-3覆蓋用例1-4覆蓋用例1-4覆蓋用例1-4覆蓋用例1-3,5 | a=3/b=4/c=5,其它無值a/b/c中其二有值,其它無值a/b/c/d,四個值a/b/c其一=0a/b/c其二=0a/b/c其三=0a/b/c其一為負a/b/c其二為負a/b/c其三為負 | 覆蓋用例6覆蓋用例7覆蓋用例8覆蓋用例9覆蓋用例10覆蓋用例11覆蓋用例12覆蓋用例13覆蓋用例14 |
- 如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍邊界的值作為測試輸入資料;
- 如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試資料;
- 將規則1)和2)應用於輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值;
- 如果程式的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作為測試用例;
- 如果程式中使用了一個內部資料結構,則應當選擇這個內部資料結構的邊界上的值作為測試用例;
- 分析規格說明,找出其它可能的邊界條件;