軟件測試用例的設計和編寫

1、爲何要寫測試用例安全

   寫測試用例可讓測試的需求覆蓋更加全面,讓測試工做進行得條理有序,且方便移交和交流, 好的測試用例要作到:結構設置合理,case覆蓋全面,且具備可執行性,可重複等特色。測試

2、軟件測試文檔編碼

一、測試範圍列表:需求編號、需求類型,所屬模塊、需求名稱、複雜度、複用性、自測充分性、是否公用模塊、使用頻率、優先級spa

二、測試用例通常包含的要素:用例編號、測試項目、用例標題、優先級(致命、嚴重、通常、微小、建議)、預置條件、輸入參數、執行步驟、預期結果設計

三、 缺陷報告要素:缺陷編號、缺陷標題、嚴重級別、重現步驟、缺陷狀態、提交人、時間、附件資源

3、測試用例的經常使用方法開發

一、等價類文檔

方法:根據需求列出輸入,並對每個輸入的規則進行分析,而後對每一條規則進行正確和錯誤的羅列,最後將的全部的輸入進行正確和錯誤用例的組合,一條正確的用例儘量多的覆蓋每一個輸入的不一樣有效數據,一條錯誤的用例只能含有一個無效數據(控制變量)。 對於一個輸入應考慮它的:數據類型、長度、取值範圍、是否可重複,是否爲空(爲空可分爲不輸入和輸入空格),組成規則等內容 。同步

優勢:簡單高效,能快速評估測試用例數量;效率

缺點:只考慮了輸入的有效和無效,對數據的組合比較隨機,邊界缺陷不容易發現 ;

適用範圍:只在存在輸入的需求都適用。

二、邊界值

邊界值分析方法的理論基礎是假定大多數的錯誤是發生在各類輸入條件的邊界上,若是在邊界附近的取值不會致使程序出錯,那麼其餘取值致使程序錯誤的可能性也很小。

方法:對於存在邊界的輸入取邊界的上點、內點、離點進行測試。

上點:邊界上的點

內點:邊界內的點

離點:閉區間間靠近上點但在區間外的一點,開區間則是在區間內的一點 主要是用於對等價類的補充

優勢:能更容易發現邊界,更全面系統的測試邊界上可能存在的問題;

缺點:只能作爲一個對其餘設計方法的補充;

適用範圍:有輸入參數且存在取值邊界或長度邊界時。

三、斷定表

方法:肯定輸入和輸出,列出全部的條件樁和動做樁;填入條件項;針對每一個條件項計算並填入動做項;化簡,合併類似的規則。

優勢:能把複雜的問題按各類可能的狀況一一列舉出來,簡明而易於理解,也可避免遺漏;

缺點:條件樁過多時,用例呈指數增加,且在合併類似的項時存在漏測的風險;

適用範圍:多個輸入判斷條件存在邏輯關係,且不分前後的狀況。

四、正交實驗法

從大量的測試點中挑選出適量的有表明性的點,應用依據迦羅瓦理念導出的正交表,合理安排測試數據的方法 。

優勢:用於考慮到全部的組合又使例數量最少 ;

適用範圍:輸入的參數之間是獨立的,不存在相互依賴的關係。

五、流程分析法

流程分析法是將軟件系統的某個流程當作路徑,根據流程的順序依次進行組合,使得各個分支都能走到;。

方法:畫出流程圖,肯定測試路徑,選擇測試數據;構造測試用例;

優勢:覆蓋了輸入,處理和輸入;

缺點:覆蓋的輸入取值很少,須要對業務比較瞭解 ;

適用範圍:流程比較複雜的狀況。

六、狀態遷移法

即有深度和廣度的狀態樹 。

方法:畫出狀態遷移圖;經過遷移圖畫出狀態轉換樹;從轉換枝推導出測試路徑;編寫測試用例 。

優勢:保證每個節點的全部可達狀態都被測試到;

缺點:沒有對不可達的狀態進行測試的覆蓋;

適用範圍:從一個操做能夠到達多個可能的操做或從一個狀態能夠到達多個可能的規定狀態 且狀態取值或輸入變化有固定的要求順序。

七、因果圖

因果圖提供了一個把規格轉化爲斷定表的系統方法,且它最終生成的就是斷定表。

方法:把大的系統規格劃分紅能夠測試的規格片斷;分析哪些是緣由、哪些是結果;畫出由於圖;把因果圖轉換成斷定表;簡化斷定表;

優勢:能幫助咱們按照必定步驟,高效的選擇測試用例,設計多個輸入條件組合用例;能考慮到多個條件組合起來可能出錯的狀況;

缺點:輸入條件與輸出條件的因果關係有時很難從SRS中獲得,即使獲得了也會由於因果關係複雜致使因果圖很是龐大,從而使測試用例數目很是多;

八、輸入域覆蓋法

是一種綜合的方法,綜合了等價類和邊界值等方法

九、輸出域覆蓋法

從輸入結果倒推輸入的測試方法

十、異常分析法 主要是構造環境異常來看測試結果

十一、錯誤猜想法

 

方法選擇(打油詩,僅供參考):

全部輸入選等價

給定範圍加邊界

條件孤立想斷定

指定常量取正交

跨界操做流程法

多種狀態遷移圖

條件組合出因果

測試充分全覆蓋

多種方法不惟一

 

 

附:

軟件質量: 一個實體的全部特性,基於這些特性能夠知足顯式或隱式的需求的程度

軟件質量模型:功能性、效率、可靠性、易用性、可移植性、可維護性

非功能:效率、可靠性、易用性、可維護性、可移植性

 

功能性:適用性、準確性、保密安全性、互操做性、依存性

效率:時間特性、資源利用率

易用性:易理解性、易學性、易操做性、吸引性

可靠性:成熟性、容錯性、易恢復性

可移植性:適應性、易安裝性、共存性、易替換性

可維護性:易分析性、易改變性、穩定性、易測試性

 

雙V模型:即測試工做並非在開發完成以後纔開始進行,而是開發階段與測試設計階段同步進行,在編碼完成後繼續執行UT、IT、ST。

相關文章
相關標籤/搜索