用例设计方法
用例設計方法
一、等價類劃分
? 等價類劃分屬于典型的功能測試方法,根據程序對數據的要求,把程序的輸入域劃分成若干個部分,區分出哪些數據有有效的,哪些數據是無效的,從每個部分中取少數代表性數據作為測試用例。這樣,每一類的代表性數據中的作用都等價與這類中的其他值。
等價類劃分有兩種不同的情況:有效等價類和無效等價類。
有效等價類:對程序規格有意義,合理的輸入數據集合。程序接收到有效等價類數據,可以正確執行計算。
無效等價類:對程序規模無意義,不合理的輸入數據集合,程序接收到無效等價類數據。應該給出錯誤提示,或者不讓用戶輸入。
二、邊界值
邊界值分析方法是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據.
總結:邊界值一般和等價類方法一起應用,找到有效無效數據的分界點(最大值和最小值)及其兩邊的點進行測試,形成一套完整的測試方案。
三、因果圖
? 在一個功能模塊或一個界面中,往往會有多個控件,這些控件一般會有一定的制約關系或者組合關系,并且輸出依賴于輸入的條件。如果只是單獨去測每個控件,往往使測試有很多冗余數據。同時又會造成測試的不全面。遺漏這些輸入的組合及輸出對輸入的依賴關系。
應用場合
? 在一個界面中,有多個控件,測試的時候要考慮控件的組合關系,不同的空間組合會產生不同的輸出結果的組合。為了弄清楚什么樣的輸入組合會產生什么樣的輸出組合,使用因果圖法。
2.因果圖的核心
?因---原因、輸入條件;
?果---結果、輸出結果。
?使用圖形的方式,分析軟件輸入和輸出的對應關系。
3.圖形符號
a.基本圖形,表示輸入和輸出的對應關系:
?*恒等
?*與
?*或
?*非
b.約束(限制條件)圖形。約束關系:要么單獨限制輸入;要么單獨限制輸出。
?因果圖中的約束條件:
?①互斥。
?*表示a.b.c三個原因不會同時成立,最多有一個可能成立。
?*a.b.c不同時為1,即a.b.c中至多只有一個。
?
?②包含
?*表示a.b.c這3個原因至少有一個必須成立。
?*a.b.c至少有一個1,即a.b.c中不能同時為0.
?
?③唯一
?*表示a.b.c中必須有一個成立,且僅有一個成立。
?
?④要求
?*表示當a出現,b必須也出現。
?*若a=1,則b必須為1,即不可能a=1且b=0
?
?⑤屏蔽
?*若a=1,則b必須為0,而當a為0時,b的值不定。
使用因果圖法設計測試用例基本步驟:
1.找出所有的輸入條件;
2.明確所有的輸入結果;
3.明確所有條件之間的制約關系以及組合關系
4.明確所有輸出之間的制約關系以及組合關系
5.找出什么樣的輸入條件組合會產生哪種輸出結果。
四、判定表
? 畫因果圖只是一種輔助工具,通過分析最終得到判定表,再通過判定表編寫測試用列。但有時候畫因果圖非常麻煩,影響測試效率,所以在應用熟練之后,可以直接寫判定表,進而編寫測試用例。
?判定表方法就是因果圖法的簡化,步驟完全一樣,省略畫圖過程。
五、正交排列法
有時候,可能因為大量的參數的組合而引起測試用例數量上的激增,同時,這些測試用例并沒有明顯的優先級上的差距,而測試人員又無法完成這么多數量的測試,就可以通過正交表來進行縮減一些用例,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。六、場景法
定義現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。這種在軟件設計方面的思想也可引入到軟件測試中,可以比較生動地描繪出事件觸發時的情景,有利于測試設用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。
右圖中經過用例的每條路徑都用基本流和備選流來表示:
基本流用黑色表示,是經過用例的最簡單的路徑。
備選流用不同的彩色表示,一個備選流可能從基本流開始,在某個特定條件下執行,然后重新加入基本流中(如備選流 1 和 3);也可能起源于另一個備選流(如備選流 2),或者終止用例而不再重新加入到某個流(如備選流 2 和 4)。
應用的范圍
1)?????? 基本上每個軟件都會用到這種方法,因為每個軟件后面都有業務的支撐
2)?????? 比較常見的有: 網上購物流程, ATM機取款流程等
步驟
1)????? 畫出需要測試路徑的流程圖(一般選擇工具Office Visio)
2)????? 分析基本流和備選流
3)????? 根據基本流和備選流設計測試用例
七、測試大綱方法
八、狀態轉換圖(實際工作中用的少)
? ?本文轉自327051661 51CTO博客,原文鏈接:http://blog.51cto.com/andyboge/1941122,如需轉載請自行聯系原作者
總結
- 上一篇: .NET Core中文分词组件jieba
- 下一篇: 存储过程-----DECLARE---实