常用黑盒测试方法
定義:黑盒測試又稱功能測試。黑盒測試就是把測試對象看成一個不能打開的黑盒子,在完全不考慮程序的內部結構和處理過程的情況下,只依據程序的需求規格說明書,檢查程序的功能是否符合他的功能說明。
黑盒測試主要發現的缺陷類型:
1、功能錯誤或遺漏;
2、界面錯誤;
3、數據庫錯誤;
4、性能錯誤;
5、初始化和終止錯誤。
黑盒測試的基本思路:
????????黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的,又稱為數據驅動測試。 黑盒測試是在程序外部接口進行的測試。
黑盒測試選擇測試數據:
1、理論上,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程序中所有的錯誤。
2、實際上,測試情況有無窮多個,我們不僅要測試所有正常的輸入,而且還要對那些不合法但可能的輸入進行測試,窮舉是不可能的。
3、因此,要有針對性的進行測試,必須精心設計測試用例,從數量極大的可用測試數據中挑選典型的測試數據,使用這些測試數據高效率地把隱藏的錯誤揭露出來。
黑盒測試的方法:
等價類劃分法、邊界值分析法、判定表法、因果圖法、場景法、錯誤推測法、功能圖法
下面對每一種測試方法進行了簡單的整理,其中有參考其他文章。
一、等價類劃分法
1、定義:等價類劃分的方法就是將程序的輸入域劃分為若干部分,也可以說是若干個等價類,然后從各個部分中選取少數代表性數據進行測試。
2、等價類:是指某個輸入域的子集合。在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的。測試某等價類的代表值就等價于對這一類其他值的測試。
3、有效等價類與無效等價類:
對于程序的規格來說,是輸入數據構成的集合
| 等價類 | 輸入 | 關注點 |
| 有效等價類 | 合理的、有意義的 | 功能和性能 |
| 無效等價類 | 不合理的、無意義的 | 異常處理 |
設計測試用例時,要同時考慮有效等價類和無效等價類的設計。軟件不能只接收合理的數據,還要經受意外的考驗,接受無效的或不合理的數據,這樣軟件才能具有較高的可靠性。
把所有可能的輸入數據劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例。
它是一種典型的、常用的黑盒測試方法。
4、等價類劃分法步驟
????????1)劃分等價類(有時需細化)
????????2)建立等價類表,等價類進行編號
????????3)通過等價類導出測試用例
5、如何劃分等價類——等價類種類
????????1)按雙邊區間劃分:如果輸入條件規定了取值范圍,或值的個數,則可以確立一個有效等價類和兩個無效等價類
????????2)按取值劃分:如果規定了輸入數據的一組值(假定n個),且程序要對每一個輸入值分別進行處理的情況下,可確定n個有效等價類(每個值確定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。
????????3)按單邊區間劃分:如果輸入條件規定了輸入值的集合,這時可確立一個有效等價類和一個無效等價類。
????????4)按限制條件/?規則劃分:如果規定了輸入數據必須遵守的規則或限制條件,可確定一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)
6、按處理方式細分等價類
在已劃分的等價類中,各元素在程序中的處理方式不同的情況下,則應再將該等價類進一步劃分為更小的等價類,并建立等價類表。
7、建立等價類表,并對等價類編號
在確認等價類之后,建立等價類表,列出所有劃分出的等價類,如下表
| 輸入條件 | 有效等價類 | 編號 | 無效等價類 | 編號 |
| 年齡 | 正整數 | E01 | 負數 | E04 |
| 小數 | E05 | |||
| 字母 | E06 | |||
| 字符 | E07 | |||
| 漢字 | E08 | |||
| (0,150) | E02 | >=150 | E09 | |
| <=0 | E10 | |||
| 非空 | E03 | 空 | E11 |
8、等價類導出測試用例
| 編號 | 有效輸入 | 覆蓋有效等價類 |
| U01 | 50 | E01、E02、E03 |
| 編號 | 無效輸入 | 覆蓋無效等價類 |
| U02 | -40 | E04 |
| U03 | 10.3 | E05 |
| U04 | “G” | E06 |
| U05 | “*” | E07 |
| U06 | “年” | E08 |
| U07 | 150 | E09 |
| U08 | 0 | E10 |
| U09 | 空 | E11 |
9、導出測試用例的原則
從劃分出的等價類中按以下原則設計測試用例:
????????1)編號唯一;
????????2)盡可能多地覆蓋尚未覆蓋的有效等價類;
????????3)僅覆蓋一個尚未覆蓋的無效等價類;
????????4)覆蓋所有的有效和無效等價類
10、弱健壯等價類測試用例設計法
????????1)對于有效等價類,從每個有效等價類選取一個值。
????????2)對于無效等價類,使用一個無效值,并保持其余的值都是有效的。
11、為什么兩種等價類的覆蓋方式不一樣?
????????1)對于有效等價類,采取盡量覆蓋的方式是為了全面考察軟件的功能。
????????2)對于無效等價類、采取每次只覆蓋一個的方式是因為:通常程序發現一類錯誤后就不再檢查是否還有其他錯誤。
二、邊界值分析法
1、定義:
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。
2、邊界點:
????????1)邊界是指相對于輸入等價類和輸出等價類而言,稍高于、稍低于其邊界值的一些特定情況。
????????2)邊界點分為上點、內點和離點。
3、與等價劃分法的區別:
????????1)邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。
????????2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
????????3)等價類劃分法是從某個等價類中人選一個座位測試數據,而邊界值分析法是在每個邊界上有針對性的選擇測試數據
長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據。
例如:
程序員只處理了1-10位的情況,忘記對10位進行處理;
程序員把≤誤寫成了<,計數器發生少計數一次。
4、如何選擇測試數據?(選擇測試數據的原則)
????????1)如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界值,以及剛剛超越這個范圍邊界的值作為測試輸入數據。
例如:程序的規格說明中規定:“重量在10公斤至50公斤范圍內的郵件,其郵費計算公式為……”。
測試數據取7個點應取10、25及50,還應取10.01,49.99,9.99及50.01
測試數據取5個點應取10、25及50,還應取9.99及50.01
重量可以是小數,沒有規定小數點個數時默認取兩位
????????2)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少1,比最大個數多1的數作為測試數據。
例如,一個輸入文件應包括1-255個記錄。
測試數據可取1和255,還應取0及256等
????????3)根據規格中每個輸出條件,使用原則1,如果輸出條件規定了值的范圍,則應取剛達到這個范圍的邊界值,以及剛剛超越這個范圍邊界的值作為測試輸入數據。
例如,程序的規格說明要求計算出“每月績效獎金為0至1165.25元”。
測試用例可取0.00及1165.25,還可取-0.01及1165.26等。
????????4)根據規格中每個輸出條件,使用原則2,如果輸出條件規定了值的個數,則用最大個數、最小個數,比最小個數少1,比最大個數多1的數作為測試數據。
例如,情報檢索系統,要求每次“最少顯示1條、最多顯示4條情報摘要”。
這時我們應考慮的測試用例包括1和4,還應包括0和5等。
????????5)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例。
例如,程序系統設計文檔中,上傳的圖片:圖片格式、圖片名字、圖片大小、圖片是否有效…
????????6)分析規格說明,找出其他可能的邊界條件
例如,特殊邊界值:默認值、空值、空格、零、無效數據等
5、邊界值檢驗的主要類型
| 邊界類型 | 輸入 |
| 數字 | 最大、最小 |
| 字符 | 首位、末位 |
| 位置 | 上、下 |
| 重量 | 最高、最低 |
| 速度 | 最快、最慢 |
| 方位 | 最高、最低 |
| 尺寸 | 最長、最短 |
| 空間 | 空、滿 |
| … | … |
在多數情況下,邊界值條件是基于應用程序的功能設計而需要考慮的因素,可以從軟件的需求規格或常識中得到,也是最終用戶可以很容易發現問題的。?
還有沒有從軟件規格說明中看不到的邊界值呢?
6、內部邊界值
有些邊界值條件在軟件內部,用戶幾乎看不到,但同時確實屬于檢驗范疇內的邊界條件,成為內部邊界條件或次邊界值條件。
常見的內部邊界值條件有下面兩種:
????????1)數值的邊界值
????????2)字符的邊界值
在實際的測試用例中,需要將基本的軟件設計要求和程序定義的要求結合起來,即結合基本邊界值條件和內部邊界值條件來設計有效的測試用例。
計算機是基于二進制進行工作的,因此,軟件的任何數值運算都有一定的范圍限制。
| 項 | 范圍或值 |
| 位(bit) | 0或1 |
| 字節(byte) | 0-255 |
| 字(Word) | 0-65535(單字)或0-4294967295(雙字) |
例如,程序有一個輸入變量x的范圍是(0,10000),但是在程序內部,當想x≤255時,用一個字節表示,當x>255時用一個字表示,那么,255就是一個內部邊界值。
7、邊界條件設計測試用例步驟
????????1)確定邊界情況
通常輸入或輸出等價類的邊界就是應該著重測試的邊界情況。
????????2)選取測試數據
選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值。
例如:程序的規格說明中規定:“重量在10公斤至50公斤范圍內的郵件,其郵費計算公式為……”。
測試數據取7個點應取10、25及50,還應取10.01,49.99,9.99及50.01
| 測試用例 | X | 輸入數據 | 預期輸出 |
| T1 | Xmin- | 9.99 | F1 |
| T2 | Xmin | 10 | F2 |
| T3 | Xmin+ | 10.01 | F3 |
| T4 | Xnom | 25 | F4 |
| T5 | Xmax- | 49.99 | F5 |
| T6 | Xmax | 50 | F6 |
| T7 | Xmax+ | 50.01 | F7 |
例如:對于函數F(x1,x2),其輸入變量x1和x2的取值邊界定義如下:
a≤x1≤b;c≤x2≤d
其中兩個變量都為正數。
| 編號 | X1 | X2 | F(x1,x2) |
| 1 | ab | c | F(ab,c) |
| 2 | ab | d | F(ab,d) |
| 3 | ab | cd | |
| 4 | ab | c- | |
| 5 | ab | d+ | |
| 6 | a | cd | |
| 7 | b | cd | |
| 8 | a- | cd | |
| 9 | b+ | cd |
8、邊界條件測試用例設計法
基于邊界的方法是根據定義域來實現的,最終演變成一般邊界值條件測試、健壯性測試、最壞情況測試和健壯最壞情況測試四種技術。
1)一般邊界值條件測試:
(1)每次保留程序中一個變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-、max
(2)對程序中的每個變量重復(n個變量的測試用例個數為4n+1個)
2)健壯性測試:
(1)每次保留程序中一個變量,讓其余的變量取正常值,被保留的變量依次取min-、min、min+、nom、max-、max、max+。
(2)對程序中的每個變量重復(n個變量的測試用例個數為6n+1個)
3)最壞情況測試:
(1)所有變量均可去min、min+、nom、max-、max+這五個邊界值中的任何一個。(組合)
(2)測試用例為五個集合的笛卡爾乘積。對于一個n變量函數,該方法生成的測試用例數為5的n次方個。
4)健壯最壞情況測試:
(1)所有變量均可取min-、min、min+、nom、max-、max、max+這7個邊界值中的任何一個。
(2)測試用例為7個集合的笛卡爾乘積。對于一個n變量函數,該方法生成的測試用例數為7的n次方個。
笛卡爾乘積是指在數學中,兩個集合X和Y的笛卡爾積(Cartesian product),又稱直積,表示為X?×?Y,第一個對象是X的成員而第二個對象是Y的所有可能有序對的其中一個成員。假設集合A={a, b},集合B={0, 1, 2},則兩個集合的笛卡爾積為{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
三、判定表法
1、定義:
判定表(decision table),是指一個表格,用于顯示條件和條件導致動作的集合。是分析和表達多邏輯條件下執行不同操作的工具。
2、為什么要有判定表法?
前面我們講到的等價類劃分,邊界值分析這些方法都只是單個的輸入測試,并沒有什么邏輯和組合關系,但是我們的程序又是多種多樣的復雜關系,所以我們需要一種方法來適用多種組合。
3、判定表的幾個基本條件:
條件樁:列出問題的所有條件
動作樁:列出可能采取的所有操作
條件項:列出所有條件的取值
動作項:所有取值條件下輸出的情況通常:0表示某條件不出現,1表示某條件出現
4、如何使用判定表?
讓我們來看一下這個例子:
拿最近抖音比較熱門的關于現在老師是否合格為題
怎樣算一個好老師?有責任心、關愛學生、肯定是一個好老師;但是只要是不把教學放在首位肯定不是一個老師
那么根據上面的題目,我們首先分析一下條件樁有哪些?
????????1)有責任心
????????2)關愛學生
????????3)不把教學放在首位
一般來講 如果有n個條件,那么我們的輸入條件就是2n次方
| 情況1 | 情況2 | 情況3 | 情況4 | 情況5 | 情況6 | 情況7 | 情況8 | ||
| 輸入條件 | 有責任心 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| 關愛學生 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
| 不把教學放在首位 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | |
| 輸出條件 | 好老師 | 1 | 1 | 1 | 1 | ||||
| 差老師 | 1 | 1 | 1 | 1 |
可以得出以上8種情況,那么我們再來看,只要是不把教學放首位的肯定都是差老師,可以得出有4種情況其實是一樣的。
最終簡化:
| 情況1 | 情況2 | 情況3 | 情況6 | 情況8 | ||
| 輸入條件 | 有責任心 | 1 | 1 | 1 | 0 | 0 |
| 關愛學生 | 1 | 1 | 0 | 0 | 1 | |
| 不把教學放在首位 | 1 | 0 | 1 | 1 | 1 | |
| 輸出條件 | 好老師 | 1 | 1 | 1 | 1 | |
| 差老師 | 1 |
????????1)有責任心,關愛學生,把教學放首位:好老師
????????2)不把教學放首位:差老師
????????3)有責任心,不關愛學生,把教學放首位:好老師
????????4)無責任心,不關愛學生,把教學放首位:好老師
????????5)無責任心,關愛學生,把教學放首位:好老師
四、因果圖法
1、定義:
????????因果圖法就是把復雜的邏輯關系轉化成判定表的系統化方法,從該圖中可以產生測試數據。其中,原因是表示輸入條件,結果是對輸入執行的一系列計算后得到的輸出。?????因果圖法最終生成的就是判定表,它適合于檢查軟件輸入條件的各種組合情況
2、因果圖分類:
第一類:因果關系(輸入和輸出之間的邏輯關系)
1)恒等:輸入:a,輸出:b ,滿足條件a ,則輸出b
2)非:???輸入:a,輸出:b ,滿足條件a,則不能輸出b
3)或:多個輸入條件只要滿足一個或一個以上就可以得到某個結果(符號V)???????
例如:入學考試:a條件會c語言,b條件會java,c條件會C#,以上條件滿足一個就可以入學
4)與:多個輸入同時滿足才能得到某個結果(符號倒V)???????
例如:就業推薦:a條件為51學員,b條件為三個階段考試合格,c條件為出勤率達到90%,則會推薦就業
第二類:原因與原因之間的關系(輸入與輸入之間的制約關系)
1)E的關系exclusive ?互斥:多個輸入至多只能有一個為真,不可以同時都為真,可以同時都不為真(只能一個為真,可以都為假)
2)I的關系??inclusive?包容:多個輸入至少有一個為真,可以同時都為真,但是不可以同時都不為真(至少一個為真,不能同時為假)
3)O的關系 Only???????唯一:多個輸入有且只能有一個為真,不可以同時都為真,也不可以同時都不為真
4)R的關系 ruquire??要求:有兩個輸入a,b ,a為真則要求b 為真,a為假則對b不做要求?????????????
例如:早教機構:小朋友a ,父母b
如果小朋友到早教中心上課,則要求父母陪護????????????????????????????????????????????
如果小朋友不到早教中心上課,則父母可以來參觀也可以不來參觀
第三類:結果與結果之間的關系(輸出與輸出之間的制約關系)
1)M關系??強制的關系:輸入a,b ,如果a為真則強制b為假,a為假則對b不做強制
3、因果圖的使用步驟
????????1)劃分需求規格片段
????????2)找出輸入輸出
????????3)分析輸入與輸出之間的關系,畫出因果圖(包括因果之間關系,原因與原因,結果與結果之間的關系)
????????4)把因果圖轉換成判定表
????????5)簡化判定表
????????6)用判定表中的每一項生成測試用例(結合等價、邊界值)
4、因果圖法的優缺點
優點:
????????1)等價類法盡管各個輸入條件可能出錯的情況都考慮到了,但是多個輸入條件組合起來出錯的情況卻被忽略了
??????????因果圖法是一個全排列組合的方法
????????2)?因果圖法能夠幫助我們按照一定步驟,高效的選擇測試用例,設計多個輸入條件組合用例
???????????因為考慮了條件與結果之間的關系,從而更高效??
????????3)因果圖分析還能為我們指出,程序規格說明描述中存在什么問題??
???????????基于規格的測試
缺點:??????
????????1)輸入條件與輸出結果的因果關系,有時難以從軟件需求規格說明書得到
????????2)即使得到了這些因果關系,也會因為因果關系復雜導致因果圖非常龐大,測試用例數目及其龐大(工作量大)
五、場景法
1、定義:
通過運用場景來對系統的功能點或業務流程的描述,從而提高測試效果的一種方法。(加入要你從A點走到B點,其中一種走法是你在大路上從頭到尾每一步都走得很漂亮,路上鳥語花香。還有很多種走法是你走了其他的小路,但是最終還是走到了B點,即使中間你摔倒過、繞過了一條河、走過一座橋等。這些都屬于場景。)
2、場景法組成:
1)基本流:基本事件
如圖中間的黑色直線,基本流是經過用例最簡單的路徑,即無任何的差錯,程序從開始直接執行到結束的流程,通常來講,一個業務只存在一個基本流,并且基本流只有一個起點和一個終點
2)備選流:分支事件
如圖中間黑色直線兩旁的彩色線條,備選流為除了基本流之外的各個支流,包含了多種不同情況。例如:一個備選流可開始于基本流,在某個特定條件下執行,然后重新加入基本流中(備選流1和備選流3);也可以開始于另一個備選流(備選流2);也可以終止用例不在加入到基本流中(備選流2和備選流4)
3、場景組合:
按上圖組合多個不同的場景:
場景1:基本流
場景2:基本流 備選流1
場景3:基本流 備選流1 備選流2
場景4:基本流 備選流3
場景5:基本流 備選流3 備選流1
場景6:基本流 備選流3 備選流1 備選流2
場景7:基本流 備選流4
場景8:基本流 備選流3 備選流4
4、用例設計步驟
????????1)分析需求,確定出軟件的基本流和各項備選流。
????????2)?依據基本流和各項備選流,生成不同的場景。
????????3)針對生成的各場景,設計相應的測試用例。
????????4)重新審核生成的測試用例,去掉多余的部分,并針對最終確定出的測試用例,設計測試數據。
5、案例分析
例子:分析ATM取款機的場景流程,并設計測試用例和測試數據
基本流:
????????1)插入磁卡
????????2)ATM驗證賬戶正確
????????3)?輸入密碼正確,通過驗證
????????4)輸入取款金額
????????5)取出金額
????????6)取卡
備選流一:賬戶不存在或者受限制
備選流二:密碼不正確,還有輸入機會
備選流三:密碼不正確,沒有輸入機會
備選流四:卡中余額不足
備選流五:ATM機中余額不足
備選流六:超過每日最大提款限額
備選流七:輸入金額非100的倍數
采用場景法進行測試用例的設計:
六、錯誤推測法
1、定義:
基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法。
2、基本思想:
列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。
3、實例
????????1)例如,輸入數據和輸出數據為0的情況;輸入表格為空格或輸入表格只有一行。這些都是容易發生錯誤的情況。可選擇這些情況下的例子作為測試用例。
????????2)例如,前面例子中成績報告的程序,采用錯誤推測法還可補充設計一些測試用例:
????????(1) 程序是否把空格作為回答
????????(2)在回答記錄中混有標準答案記錄
????????(3)?除了標題記錄外,還有一些的記錄最后一個字符即不是2也不是3
????????(4)有兩個學生的學號相同
????????(5)試題數是負數
? ? ? ? 3)例如,測試手機終端的通話功能,可以設計各種通話失敗的情況來補充測試用例:
????????(1)無SIM 卡插入時進行呼出(非緊急呼叫)
????????(2)插入已欠費SIM卡進行呼出
????????(3)射頻器件損壞或無信號區域插入有效SIM卡呼出
????????(4)網絡正常,插入有效SIM卡,呼出無效號碼(如1、888、333333、不輸入任何號碼等)
????????(5)網絡正常,插入有效SIM卡,使用“快速撥號”功能呼出設置無效號碼的數字
七、功能圖法
1、定義:
????????功能圖方法是用功能圖形象的描述程序的功能說明,并機械的生成功能圖的測試用例。功能圖由狀態遷移圖和邏輯功能模型構成。?
????????程序的功能說明通常由動態說明和靜態說明組成, 動態說明描述的是輸入數據的次序和轉移的次序,而靜態說明描述的是輸入條件與輸出條件之間的對應關系。當程序中過于復雜并且存在大量的組合時,僅僅使用靜態說明設計的測試用例,往往是考慮不夠的,所以采用動態說明來補充一定的測試用例時必要的。而功能圖法就是使用動態描述來生成測試用例的方法,其本質是一種白盒和黑盒測試方法組合的測試用例設計方法。
2、其中狀態遷移圖和邏輯功能模型的相關描述如下:
????????1)狀態遷移圖用于表示輸入數據序列以及相應的輸出數據。在狀態遷移圖中,由輸入數據和當前狀態決定輸出數據和后續狀態。
????????2)邏輯功能模型用于表示在狀態中輸入條件和輸出條件之間的對應關系。邏輯功能模型僅用于描述靜態說明,輸出數據僅由輸入數據決定。測試用例則是由測試中經過一系列狀態和在每個狀態中必須依靠輸入/輸出數據滿足的一對條件組成。
3、狀態遷移圖法導出測試用例的步驟
????????1)明確狀態節點。 分析被測對象的測試特性及需求規格說明書,明確被測對象的狀態節點數量及相互遷移關系。
????????2)繪制狀態遷移圖。 利用圓圈表示狀態節點,有向箭頭表示狀態間的遷移關系,根據需要在箭頭旁邊標識遷移條件。可以利用繪圖軟件繪制狀態遷移圖。
????????3)繪制狀態遷移樹。 根據狀態遷移圖,按照廣度優先和深度優先搜索繪制狀態遷移樹。首先確定起始節點和終止節點,在繪制時,當路徑上遇到終止節點時,不再擴展,遇到已經出現的節點也停止擴展。
????????4)抽取測試路徑設計用例。 根據繪制好的狀態遷移樹,提取測試路徑,從左到右,橫向抽取,每條路徑構成一條測試規則,然后再利用等價類和邊界值等測試用例設計方法設計具體的測試用例。
4、實例:
????????一個編輯文本的軟件中有可以改變字體顏色的功能,其中可選的顏色共有黑、紅、藍三種顏色。想要測試這個功能,首先,分析上述需求可以得出,該功能共有三種狀態,假設紅色為起始狀態,那么可以得到如下的狀態遷移圖:
根據上述的狀態遷移圖,繪制出如下的狀態遷移樹:
然后,從狀態遷移樹中,可以生成以下規則:
根據以上測試用例規則,可以生成以下測試用例:
總結
- 上一篇: Linux决心书/李世超
- 下一篇: 前端面试题vue-element汇总