1. 程式人生 > >如何編寫高質量的測試用例

如何編寫高質量的測試用例

高質量的標準: 1、 覆蓋到所有的業務邏輯(包括正常邏輯和異常邏輯) 2、 覆蓋到所有的典型使用者場景 3、 覆蓋到所有的需求點 4、 測試目標明確,並且測試步驟能夠最快的達到測試目的或者測試時間很短 5、 沒有冗餘的用例 6、 測試用例能夠直接附帶測試策略,該模組的策略指定人和用例執行人能夠非常清楚

如何達到該目標: 一、基於邏輯的用例設計過程:

A、用例編寫過程: 1、優先完成業務邏輯圖,需要在測試的角度上面去畫邏輯圖,包括資料流完整的輸入和輸出過程,並且自己能夠理解為什麼這樣處理 2、根據自己的理解分析每個邏輯的處理是否完善,是否有沒有覆蓋到的地方,並提交缺陷預防bug 3、根據邏輯編寫測試用例,保證每個邏輯都能夠有對應的用例覆蓋 4、編寫邏輯用例的過程中思考如何去改進該用例的測試過程,比如:介面測試,自動化測試,指令碼。並且,能夠及時讓研發提供對應的介面和除錯方法 5、用例要按照10分鐘原則,即保證10分鐘內能夠執行完成

B、用例評審過程: 1、先講解整個業務邏輯圖,需要保證評審人員對於整個業務邏輯圖都非常清楚,並且能夠理解為什麼這樣做 2、分析整個業務邏輯圖是否有沒有覆蓋到的場景或者分支情況(採用頭腦風暴的方式) 3、分析業務邏輯的異常處理情況(是否每個業務邏輯都有對異常情況進行處理,也採用頭腦風暴的方式) 4、是否將邏輯的用例分類比較合理,讓大家通過邏輯很容易就找到對應的用例 5、分析是否所有的邏輯都能夠找到對應的用例(通過邏輯找到對應的用例),包括前面沒有考慮到的邏輯 6、分析用例是否有冗餘,是否多個用例都是覆蓋的同一個邏輯(包括測試步驟和檢查點) 7、分析用例的測試方法是否有改進,是否能夠直接通過程式碼靜態走讀、介面測試、自動化測試(包括編寫指令碼)、引入工具等等來進一步提高我們的測試效率

C、友情提醒: 1、僅僅只能保證已有的邏輯沒有問題,但是可能出現部分情況沒有處理導致失效的情況,可以通過後面的場景用例和需求用例來補充覆蓋 2、邏輯裡面異常情況考慮不充分,導致測試用例也相對比較欠缺,可以通過對每個邏輯進行頭腦風暴,分析是否有其他異常情況,並且評審時重點評審這塊 3、研發的邏輯有可能本身就是錯誤的,但是如果順著研發的邏輯去編寫用例時會導致用例也有問題,達不到測試目的,所以需要從需求和設計的角度去提前分析邏輯是否有問題 4、過程中研發的邏輯可能變化比較快,這樣會導致邏輯測試用例也要經常變化,所以需要保證研發的編碼是與設計一致的,並且邏輯是儘量根據設計來進行的另外,邏輯用例的設計可以在編碼中後期進行,這樣的改動會少點

二、基於場景的用例設計過程:

A、用例編寫過程: 1、搞清楚客戶的原始需求,為什麼需要這個功能,能夠給客戶帶來的價值是什麼 2、檢視需求說明書裡面的客戶使用的典型使用者場景,並且整合到場景用例裡面 3、在需求說明書的基礎上進一步分析客戶還可能有哪些實際的使用場景(主要是整個客戶的拓撲結構) 4、客戶會怎樣去配置該模組以滿足什麼樣的需求(頭腦風暴) 5、過程中客戶會有哪些操作(頭腦風暴)

B、用例評審過程: 1、安排相關模組專家、規劃經理和主管來進行評審,主要是分析還可能有哪些場景沒有考慮到,最好是能夠有具體的客戶 2、安排講解該模組的場景,保證用例責任人對模組場景是非常熟悉的,並且過程中分析是否可能會有其他情況,來進一步完善場景用例

C、友情提醒: 1、模組使用者場景儘量是有真實的客戶,而不是自己yy出來的 2、模組使用者場景最好是完整的客戶使用過程,而不是某一個測試點 3、並不是所有的模組都有場景用例

三、基於需求的用例設計過程:

A、用例編寫過程: 1、參照需求表,並且對照前面的邏輯用例和場景用例,檢視是否覆蓋到所有需求,沒有的分析下原因,是否邏輯用例or場景用例考慮的還不充分,是的話補充到上面,不是的話則補充到需求用例裡面 2、充分利用相關的用例編寫技術,包括:邊界值分析法、等價類分析法、 錯誤類推測法、路徑覆蓋法、因果分析法、正交分析法等 3、分析用例是否能夠通過自動化or其他測試手段來覆蓋到

B、用例評審過程: 1、對照需求表來進行檢視,是否全部覆蓋到,不僅僅是測試用例,還包括測試步驟和期望結果,避免因為依賴研發的邏輯來設計用例導致問題 2、評審該部分用例是否跟前面的邏輯用例和場景用例冗餘 3、分析用例是否能夠通過自動化or其他測試手段來覆蓋到

C、友情提醒: 1、基於需求的用例僅僅是針對前面沒有覆蓋到的用例的補充,所以這部分用例應該相對比較少,如果發現比較多的話可以分析下是否研發的一些邏輯沒有覆蓋到相關地方

四、模組測試方法說明(提高該模組的用例執行效率): 1、將該模組的業務邏輯圖放到用例的指定目錄,這樣方便給評審人員講解,以及後面相關人員的學習 2、將該模組的排查和定位問題的方法給出來,並放到指定目錄,能夠有效指導後面人員排查和定位問題 3、將該模組的測試思路和測試重點給出來,並放到指定目錄,能夠有效的指導該模組的測試策略。