測驗用例撰寫是軟體測驗的基本技能;也有很多人認為測驗用例是軟體測驗的核心;軟體測驗中最重要的是設計和生成有效的測驗用例;測驗用例是測驗作業的指導,是軟體測驗的必須遵守的準則,
在這里我們不討論以上的各種觀點,但是綜上所述,大家可以看出,測驗用例撰寫這項軟技能非常重要且是測驗人的必備技能,相信很多人沒有質疑,
下面我們介紹下測驗用例撰寫,
我們將用例撰寫分為黑盒用例撰寫和白盒用例撰寫兩大類,

標題總體撰寫思路:
黑盒測驗用例(優先)+白盒測驗用例(補充)=完整測驗用例
總體撰寫策略:
對于測驗用例撰寫來說,常用的四種方法基本就夠用了,等價類、邊界值、正交實驗法、錯誤推斷法,輔以場景測驗法、需求/設計轉換法、探索式測驗思想,可以應付絕大多數產品的測驗,個別的產品還需要在某一點細化和擴充,需要就事論事,
使用各種撰寫方法的綜合設計策略;
1)在任何情況下都必須使用邊界值分析方法,經驗表明用這種方法設計出測驗用例發現程式錯誤的能力最強,
2)必要時用等價類劃分方法補充一些測驗用例,尤其注意無效等價類情況,
3)如果程式的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法(或判定表法、正交試驗法),
4)用錯誤推測法再追加一些測驗用例,主要是利用測驗經驗,
5)對照程式邏輯,檢查已設計出的測驗用例的邏輯覆寫程度,如果沒有達到要求的覆寫標準,應當再補充足夠的測驗用例;參照白盒用例撰寫,
6)對程式的應用場景進行研究和思考,增加不同場景下的測驗用例;用戶場景測驗必須重視,很大一部分程式錯誤就是因為測驗場景與用戶真實場景的差異性帶來的,
7)對業務和程式有更深的理解之后,可以充分發揮發散思維和探索式想法;大家不要誤解探索式測驗就是漫無目的的測驗,其實探索式測驗有非常詳細的測驗指導思路,
第一部分:黑盒用例撰寫
常見的方法如下:
(1)等價類
(2)邊界值
(3)因果圖
(4)判定表驅動法
(5)正交實驗法
(6)功能圖法
(7)場景實驗法
(8)錯誤推斷法
(9)需求轉化
(10)設計檔案
(11)探索式測驗
1、黑盒-等價類
等價類:選取少數有代表性的資料,這一類資料等價于這一類的其它值;找出最小的子集,可以發現最多的錯誤;
兩大特性:必須設計的用例;涵蓋了大部分情況;
兩類情況:有效等價類;無效等價類;
轉化為測驗用例
1、按照輸入條件、有效等價類、無效等價類建立等價類串列,列出所有的等價類;
2、為每一個等價類固定一個編號;
3、設計一個測驗用例,使其覆寫一個或多個有效的等價類;
4、設計一個或更多的測驗用例以覆寫剩余的有效等價類;
使用場景:輸入條件(取值范圍/值個數;必須值集合;布林值;一組處理值;必須遵守的規則;再細分更小等價類;)
等價類舉例:
以三角形測驗為例:輸入3個整數做為三角形的三個邊,通程序式判定三角形的型別,

2、黑盒-邊界值
邊界值:所謂邊界條件,是指輸入和輸出等價類中那些恰好處于邊界、超過邊界、或在邊界以下的狀態 ;
兩個特征:選擇一個或多個元素,以便等價類的每一個邊界都經過了測驗;與僅僅關注輸入條件不同,還需要考慮結果空間(輸出等價類)設計測驗用例;
邊界條件可能非常微妙,因此把他們確定下來煞費心思;
使用場景:輸入+輸出都需要考慮(值的范圍;值個數;有序集合;內部資料結構;分析規格說明;)
邊界值舉例:
以三角形測驗為例:輸入3個整數做為三角形的三個邊,1<a、b、c<10,通程序式判定三角形的型別;

3、黑盒-因果圖
因果圖:輸入條件的組合進行分析,用一個系統的方法選擇出高效的測驗用例集;
分析思路:
1、分析規格說明描述,確定原因和結果,并賦予識別符號;
2、分析規格說明語意,找出原因與原因之間,原因與結果之間關系,畫出因果圖;
3、有些原因與原因之間,原因與結果之間組合不會出現,用記號表明約束或限制條件;
4、因果圖轉換為判定表;
5、判定表的每一列作為依據,設計測驗用例;
使用場景:必須考慮輸入條件的各種組合(一種適合于描述多種條件的組合、相應產生多個動作的形式來進行設計);
4、黑盒-判定表
判定表:分析和表達多邏輯條件下執行不同操作的情況的工具 ;略過因果圖的繪制,直接列出所有組合進行篩選;
分析思路:判定表通常有四個部分組成:條件樁、動作樁、條件項、動作項;
判定表的建立步驟:(根據軟體規格說明)
確定規則個數;列出所有條件樁和動作樁;填入條件項;填入動作項,得到初始判定表;簡化合并相似規則;
==使用場景:控制類和游戲,優點是能把復雜的問題按各種可能的情況一一列舉出來,簡明而易于理解,也可避免遺漏,缺點是不能表達重復執行的動作,例如回圈結構,
5、黑盒-正交試驗法
正交實驗法:利用因果圖來設計測驗用例時, 輸入原因與輸出結果之間的因果關系,有時很難從軟體需求規格說明中得到;往往因果關系非常龐大,以至于測驗用例數目巨大,為了有效地、合理地減少測驗的工時與費用,可利用正交實驗設計方法進行測驗用例的設計,
分析思路:
(1)提取功能說明,構造因子–狀態表 ;
(2)加權篩選,生成因素分析表 ;
(3)利用正交表構造測驗資料集 ;
使用場景:必須考慮輸入條件的各種組合(從大量的資料中挑取適量、有代表性的點,合理有效的測驗);
6、黑盒-場景實驗法
場景實驗法:軟體幾乎都是由事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果形成事件流;生動的描繪出事件觸發時的情景,有利于設計用例,同時測驗用例也更容易的得到理解和執行,
分析思路:
每條路徑都反映了基本流和備選流;基本流是最簡單的路徑;備選流自基本流開始,會有特定條件下加入并執行,可能有多種情況;
使用場景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…

7、錯誤推斷法
錯誤推斷法:基于經驗和直覺推測程式中所有可能存在的各種錯誤,從而有針對性的設計測驗用例的方法;更多的與用戶的使用習慣及測驗程式中的常見問題為主,
分析思路:
(1)列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據這些情況選擇測驗用例;
(2)注意積累與分享;
使用場景:任何測驗、任何情景下都會用到的方法,
有常用的測驗用例集,可以參照,
舉例:數字輸入驗證,分別輸入數字(正數、負數、零值、單精度、雙精度)、字串、空白值、空值、臨界數值;不合法的輸入,系統給出必要的判斷提示資訊;
8、黑盒-需求轉換法
需求轉換法:根據需求,執行需求分析,并撰寫測驗用例,
分析思路:
(1)將需求轉換為思維導圖;
(2)仔細推敲每一個字的含義;
(3)與用戶的使用場景和目的結合;
(4)嚴格設計每一個用例;
(5)可以建立一種模型,進行需求轉換;
使用場景:任何測驗、任何情景下都會用到的方法,
注意:需求的變更帶來的影響;需求理解偏差帶來的影響;需求含糊不清帶來的影響等;
9、黑盒-設計檔案
設計檔案:參照設計檔案,可以理解軟體系統內部設計流程及處理機制,對比寫好的測驗用例,可以在對應功能及模塊處新增;
分析思路:
(1)仔細閱讀設計檔案;
(2)與相關人員溝通實作機制;
(3)結合測驗用例撰寫方法,對比之前寫好的用例;
使用場景:任何測驗、任何情景下都會用到的方法,
注意:設計檔案的撰寫正確性;設計檔案的理解偏差;
10、黑盒-探索式測驗法
探索式測驗法:無限創意的測驗點,永無止境的探索測驗;我們要在測驗的最前沿發揮洞察力、技術及應變措施,找出產品的缺陷;
分析思路:
區域探索式測驗;全域探索式測驗;混合探索式測驗;
使用場景:任何測驗、任何情景下都會用到的方法,像漫游一樣,自由地尋找軟體中的缺陷,軟體測驗的未來必然有探索式測驗,
第二部分:白盒用例撰寫

基本思路:
第一步需要繪制流程圖;
第二步根據路徑分析法確定測驗用例;
第三步使用等價類/邊界值的方法確定測驗用例的資料
第四步根據實際情況補充(如默認流程、特殊流程等)
基本策略:
1、陳述句覆寫準則基本上沒啥用,比較強的邏輯覆寫準則是判定覆寫或者條件覆寫;通常判定覆寫可以滿足陳述句覆寫;陳述句覆寫<判定覆寫<條件覆寫;
2、回圈覆寫來說,完全的路徑測驗并不符合實際;
點擊鏈接加入群聊【Python自動化測驗交流群】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116287.html
標籤:AI
