测试用例设计怎么做?怎么设计一个好的测试用例?
一、測試用例的定義
測試用例(Test Case),是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求。
二、為什么要寫測試用例
1、 理清測試思路
有的系統本來就是一個大而復雜的項目,因此需要把項目功能細分,根據每一個功能通過編寫用例的方式來整理測試系統的思路,避免遺漏掉要測試的功能點。
2、 明確測試任務
編寫完用例后,可以明確自己需要執行的用例總數,以便預估測試工作量。并且可以很清楚的知道實際測試執行的進度,還很容易統計和跟蹤我們的剩余工作量和回歸工作量。
3、 規范測試行為
每個人對于功能和開發原理的理解都是不同的,同一條案例,每個人的理解程度和擴展都是不一樣的。對于沒有測試經驗的新人來講,更是需要詳細明確的用例來規范,以減少遺漏。
三、如何編寫用例
1、 測試用例的來源
a) 分析需求文檔
需求文檔是編寫測試用例的第一依據,需求分析的目的一般是:
l 了解需求的背景;
l 分析需求的合理性;
l 明確需求的范圍;
l 挖掘隱含需求;
b) 了解開發原理
l 確定開發的實現框架;
l 明確輸入輸出代碼規則;
l 減少測試方向偏差;
2、 測試用例的要素
a) 測試環境
測試的系統是什么?硬件軟件的要求是什么?
b) 測試數據
測試執行的輸入值
c) 測試步驟
提供測試執行過程的步驟。一般控制在三個步驟完成。否則需要考慮用例是否需要拆分,因為每條用例對應的測試目的應該是具有唯一性的。
d) 預期結果
預期結果根據軟件需求中的輸出得出。那么實際測試過程中,實際測試結果如果與預期結果不符,則就測試不通過;反之則測試通過。
e) 用例標題
用例標題是對測試用例主旨的描述,既要言簡意賅,也要能夠清楚表達測試用例的目的
f) 用例編號
定義測試用例編號,用來標示每個用例的唯一性,進行測試用例的跟蹤和維護。
g) 用例級別
一般分為四個等級,P0、P1、P2、P3。
3、 用例設計方法
結合一個需求來講講不同方法的應用:
a) 等價類劃分
將輸入值分為有效等價類和無效等價類。如果輸入規定了輸入區間,可劃分出一個有效等價類,兩個無效等價類;
b) 邊界值
任何測試場景下都可以使用邊界值法做設計,輸入類型可以數值、字符等,要測試的邊界包括上點、下點、離點。
c) 錯誤推測法
錯誤推測法,即猜測可能和常出現的錯誤,來提前制定用例,規避風險。錯誤推測法很受設計人員的測試經驗影響,測試經驗不同,設計出來的測試用例區別會很大。
d) 因果圖法
羅列出所有的輸入和輸出,將輸入和輸出整理出因果圖和依賴關系,根據每一個依賴做設計。因果圖方法考慮輸入的組合,特別適用于多個輸入條件相關有關聯又相互約束的情況。
e) 判定表驅動法
判定表適合于解決多個邏輯條件的組合,將各種邏輯的組合羅列出來,避免遺漏。列出每個對應條件所有可能情況下的取值,不需要考慮條件和順序,再列出結果動作項,對每個條件進行結果判定。最后可以適當的進行規則簡化和合并。
f) 正交法
當輸入條件很多時,因果圖等設計方法設計出來的用例數往往多的驚人,用正交法可有效減少用例數。正交法的核心思想是從大量測試數據中選取有代表性的點來測試,從而減少測試用例數。
g) 場景法
畫出程序流程圖,再把流程圖轉換成控制流圖,根據控制流圖設計出場景,再根據場景設計測試用例。
結合這樣一個需求:
判定表:
四、如何提升用例編寫能力
1、 從大往小抓起測試框架先行
極力推薦思維導圖工具,快速的梳理清晰要測試的模塊、測試點、以及結構關系,讓自己先對要測試的內容有個整體的框架和印象,腦圖也能夠快速的讓開發、接手的測試同學快速理解和看出大方向上的偏差和遺漏。
另外細節的地方,推薦幾個圖形工具結合用,比如流程圖、魚骨圖和N-S 圖,詳情見另一篇文章『軟件開發流程常用圖』
2、 多緯度的思考和覆蓋
從界面、功能、性能、兼容、異常等角度思考,盡可能的覆蓋更全更廣。
3、 熟悉被測的業務和系統
任何系統都有大的業務背景,比如測試金融 APP,要了解金融業務,基金、理財產品的業務流程和邏輯,要了解什么是結算、賬戶、和支付幾個系統的差異以及作用。才能更準確的把握好測試重點寫好用例。
任何系統在使用過程中,都有一個熟悉的過程,對系統越熟悉,越容易發現系統的特點,以及容易出現錯誤和異常的地方。
4、 站在用戶角度分析
站在客戶的角度分析:客戶需要什么,客戶想要什么,客戶不想要什么,也就是客戶的使用場景。這樣有利于我們更好的挖掘和思考隱含的需求。甚至可以拉上幾個同事來體驗下產品,看看他們的操作行為和順序是怎樣的。
5、 重視用例評審
重視測試評審和評審意見,把經常見到的用例設計的誤區和一些好的用例設計,還可以多看看他人的測試思路和用例,查漏補缺。
總結
以上是生活随笔為你收集整理的测试用例设计怎么做?怎么设计一个好的测试用例?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 购物车怎么测试?
- 下一篇: 来电通java版_终于有人把Java程序