您好,登錄后才能下訂單哦!
一四年我在YX公司帶測試團隊,一個用例評審的會議上,一不小心超常發揮,結果卡在了一個用例設計方法上,印象非常深刻,當時的業務場景是支付方式的選擇和優惠方案。
在后來的工作中,也曾幾次遇到需要選擇合理的設計方法來寫用例,不過每次在網上都是搜索了半天,也找不到令人滿意的答案。很多簡單的問題被復雜化,然后給出的解題思路更是令人百思不得其解。
網絡資源下,任何一個問題都不缺答案,更多的時候缺的是個讓人一目了然的答案。
測試前準備
作為一個測試人員,軟件測試的流程首先是要非常熟悉的,何時何地都能脫口而出,避免一切翻車的可能。需要注意的是流程沒有唯一答案,具體由項目決定。所以給出的只是一個還算通用的參考流程。
我們要熟知的測試流程:
總結一下:在測試流程中,有6個部分,其中3個部分涉及到了用例,可見寫好用例的重要性。
所以,結合這些年吃過的虧,我來給大家縷縷,如何快速的get到測試用例的設計方法。
5種常見的測試用例設計方法
一、等價類劃分
1)概念
某個輸入域的集合,在這個集合中每個輸入條件都是等效的,如果其中一個的輸入不能導致問題發生,那么集合中其它輸入條件進行測試也不太可能發現錯誤。
關于等價類劃分的兩個重要概念:
有效等價類:有效等價類是程序規格說明有意義,合理的輸入數據。
比如用正確的用戶名和密碼來登錄系統就是有效等價類。
無效等價類:無效等價類是程序規格說明無意義,不合理的輸入數據。
比如用不存在的用戶名和密碼來登錄系統就是無效的等價類。
2)等價類法設計測試用例的步驟
為每個輸入劃分等價類,得到等價類表,為每個等價類規定一個唯一編號
設計一個測試用例,使其盡可能多的覆蓋所有尚未覆蓋的有效等價類。重復這一步驟,使得有效等價類均被測試用例所覆蓋設計一個測試用例,使其只覆蓋一個無效等價類。重復這一步驟使得所有無效等價類均被覆蓋。
假設上面的文字你都沒有看懂,那么做個題目就懂啦。
3)案例來了
程序規定:輸入三個正整數作為三邊的邊長構成三角形。請用等價類方法設計測試用例分別判斷輸入3個整數時的三角形為一般三角形、等腰三角形、等邊三角形時情況:
提示:
需求提取:
1、三條邊需求:整數/3個數/非零數/正數
2、一般三角形的要求:二邊之和大于第三邊
3、等腰三角形:二二邊相等且滿足二邊之和大于第三邊
4、等邊三角形:三條邊相等
參考答案
答案解析:符合的需求條件的即是有效等價類,比如,等腰三角形,那么要求至少有兩條邊相等,所有有效等價類就包括a=b b=c a=c ,那么不符合條件的就是無效等價類包括a!=b b!=c a!=c
二、邊界值分析
1)概念
邊界值分析方法的理論基礎是假定大多數的錯誤是發生在各種輸入條件的邊界上,如果在邊界附近的取值不會導致程序出錯,那么其它的取值導致程序錯誤的可能性也很小。
2)邊界值分析法設計用例的步驟
分析輸入參數的類型:從測試規格中分析得到輸入參數類型
等價類劃分(可選):對于輸入等價類劃分方法進行等價類的劃分
確定邊界:運用域測試分析方法確定域范圍的邊界(上點、離點與內點)
相關性分析(可選):如果存在多個輸入域,則需要運用因果圖、判定表方法這些輸入域邊界值的組合情況進行進一步分析
形成測試項:選擇這些上點、離點與內點或者這些點的組合形成測試項
3)案例來了
假設存在以下的測試場景,某個網站的登錄頁面:
1、用戶名:1—20個字符,包括1和20,其他不考慮
2、密碼:6個數字,其他不考慮
現要求用邊界值分析法測試用戶名和密碼這兩個輸入框。
參考答案
邊界值分析方法如下:
答案解析:密碼這個字段的范圍是閉區間【1-20】,用邊界值設計用例,那么去找這兩個數的左鄰右舍+自己,1則是0和1和2,20則是19,20,21。
三、判定表
1)概念
判定表是分析和表達多種輸入條件下系統執行不同動作的工具,它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確 。
2)判定表法設計用例的步驟
列出所有的條件樁和動作樁
填入條件樁、條件項
填入動作樁、動作項
化簡,合并相似規則
將每條規則轉化為用例
3)案例來了
假設有以下邏輯:
運用判定表設計用例。
參考答案
答案解析:判定表的解題思路就是先列出所有條件,然后列出每個條件的取值,最后如上圖,一列就是一條用例。
四、正交試驗法
1)概念
正交試驗設計(Orthogonal experimental design)是研究多因子多水平的又一種設計方法,它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點。
關于正交試驗表的兩個重要概念:
1、所有參與試驗、影響試驗結果的條件稱為因子。
2、影響試驗因子的取值或輸入叫做因子的水平。
如何選擇正交表:
1、考慮因子的個數
2、考慮水平的個數
3、考慮正交表的行數
4、取行數最少的一個
2)案例來了
有如下用戶登錄頁面,三個登錄條件:用戶名、密碼、驗證碼,考慮填寫或不填寫,用正交表設計測試用例。
參考答案
分析因子數,以及因子水平值:
3因子2狀態
經過組合合并之后的對應用例
補充:
答案解析:正交試驗法主要在于選取因子數和水平值,將兩者結果列出再合并,工作中用的不多,但是合適的業務邏輯下可以選擇。
五、流程分析法
1)概念
流程分析法是將軟件系統的某個流程看成路徑,用路徑分析的方法來設計測試用例。根據流程的順序依次進行組合,使得流程的各個分支都能走到。
2)流程分析法設計用例步驟
1、畫出業務流程圖
2、設置功能路徑優先級
3、確定測試路徑
4、選取測試數據
5、構造測試用例
3)案例來了
案例:安裝 QQ,安裝系統之家版 QQ。
參考答案
對應的測試用例
答案解析:看起來非常復雜的流程圖和用例,設計的核心其實就兩個方向,一個是正常流程,即安裝安裝向導一直點擊【下一步】直到完成。另一個方向則是每個判斷條件選擇【否】的場景,那么這樣的話,就會產生很多條其他分支的用例。
結尾篇
測試用例設計方法不止上面提到的5種,但是工作中遇到的業務場景基本可以通過上述的方法來得到解決。等價類劃分和邊界分析方法較為簡單,很多時候可以結合起來一起用。正交實驗表和判定表一般用在需要將多個輸入組合起來測試的情況。流程分析法顧名思義就是存在不同分支流程的時候選用。希望上述的方法能夠幫助到大家。
歡迎加入 51軟件測試大家庭,在這里你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟件測試技術干貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。