單元測試用例設計原則


點擊查看原文

問題:

1沒有數據構造和清理的過程

用戶數據,業務數據

2.沒有對業務數據返回和業務邏輯做判斷的一個過程

3. 對於一個業務測試用例單一

4. 方法名比較亂

5.測試方法前沒有註釋

6.重複代碼要重構

 

 

單元測試用例目的:

提供覆蓋率:

        測試的覆蓋種類
        1.
語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次。
        2.
判定覆蓋(也叫分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次。
        3.
條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次。
        4.
判定——條件覆蓋:設計足夠的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次,並且每個可能的判斷結果也至少執行一次。
        5.
條件組合測試:設計足夠的測試用例,運行所測程序,使程序中每個判斷的所有條件取值組合至少執行一次。
        6.
路徑測試:設計足夠的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。
        
用例的設計方案主要的有下面幾種:條件測試,基本路徑測試,循環測試。通過上面的方法可以實現測試用例對程序的邏輯覆蓋,和路徑覆蓋。

 

 在開始測試時,要先聲明一下,無論你設計多少測試用例,無論你的測試方案多麼完美,都不可能完全100%的發現所有BUG,我們所需要做的是用最少的資源,做最多測試檢查,

 

最終目的:通過不通的用例輸入來測試代碼的業務邏輯問題,在版本發佈前提早發現問題。

 

方式:

所有用例執行後,能覆蓋每行代碼。

 

如何設計測試用例:

 

 1、瞭解軟件的原始需求(測試目的)

  在編寫一個軟件或者模塊的測試用例時候,一定要明白這個功能的原始需求,也就是軟件的使用者(客戶)的需求。理解原始需求後,編寫的測試用例才更有目的性。

  2、熟悉軟件的功能需求(測試點)

  這個功能需求是指軟件的細化需求點,這個一般在需求文檔裏面都會體現。這裏要做的是把需求穩定的“粗略”的需求,細化成一個個小需求點。

  熟悉功能需求後,要知道軟件是怎麼使用的,這也才能覆蓋到各種操作。

  總之,測試用例一定要全部覆蓋所以的需求點,這是最基本的一點。

  3、熟悉軟件的實現原理(測試點)

  在理解原始需求和軟件的功能需求後,軟件有什麼功能,如何使用就基本上都知道啦。這時候在根據需求編寫測試用例,基本上都能覆蓋的比較全面。

  在此基礎上,熟悉軟件的實現原理,理解軟件的內部處理。

  (1)熟悉原理的過程是進一步深入熟悉軟件的過程。如果單單是從需求點上面覆蓋案例,測試用例只能覆蓋“表面”的一層。一些內部的處理流程也許沒有覆蓋到,

  而這些沒有覆蓋到的代碼很可能就是一個風險點。

  (2)熟悉模塊原理後,還有一點就是易於分析軟件模塊的關聯性。一個大型的軟件,都是一些小模塊的組合而成。軟件越是大型,耦合就越大。“互相影響”就會越多,

  設計用例單單是從模塊本身考慮的話,很可能就會對其他模塊造成風險。

  4、用戶場景和網上問題(測試點)

  從用戶的使用場景考慮,這些在一些網絡設備比較重要。比如軟件後期在一些真實的使用環境中使用。

  還要就是從一些網上問題總結出來的,那些地方容易出錯。在設計案例的時候需要考慮進去

 

寫好單元測試的建議:

·         一次只測試一個代碼單元
當你試圖測試一個代碼單元,而這個單元有多個用例。

·         不要做無謂的斷言

·         讓每個單元測試保持獨立

·         模擬所有的外部服務和狀態

·         不要使用測試單元配置

·         命名單元測試要清晰一致

·         先爲那些有最少依賴的方法寫單元測試

·         不光是對外暴露的方法,所有方法都應該寫單元測試

·         每個單元測試方法只用一個斷言

·         爲例外和異常創建單元測試

·         使用最合適的斷言方式

·         斷言的參數順序要合適

·         確保測試代碼獨立於生產代碼之外

·         單元測試內不要有任何打印輸出

·         測試類中不要有靜態變量

·         不要寫自己的catch代碼塊,只有test失敗的情況,不存在catch情況

·         不要依賴間接測試

·         使用build腳本整合測試用例

·         不要跳過單元測試

·         使用XML格式化工具捕獲結果

發佈了28 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章