測試用例設計之業務流程分析法

一.業務流程分析法簡介

業務流程測試用例編寫原則以需求分析中的流程圖做爲編寫測試用例的模型,堅持“測試驅動開發,用例指導結果,數據記錄變化”的原則,靈活使用不同的方法制定測試用例。

二.業務流程分析法分類使用

流程分析法主要針對測試場景類型屬於流程測試場景的測試項下的測試子項進行設計,是從白盒測試設計方法中的路徑覆蓋分析法借鑑過來的一種很重要的方法。在白盒測試中,路徑就是指函數代碼的某個分支組合,路徑覆蓋法需要構造足夠的用例覆蓋函數的所有代碼路徑。在黑盒測試中,若將軟件系統的某個流程看成路徑的話,則可以針對該路徑使用路徑分析的方法設計測試用例。

三.業務流程分析法好處

  • 降低測試用例設計的難度。即只要清楚程序流程、看懂程序流程圖,就可以設計出質量較高的測試用例;
  • 是在測試資源緊張的情況下,可以據此有選擇的執行測試用例,而非全部依靠經驗做取捨。

四.業務流程分析法設計思路

在業務流程的分析上,我們應該得到以下信息:
1)系統的主流程是什麼
2)條件備選流程是什麼
3)數據流向是什麼
4)關鍵的判斷條件是什麼

五.業務流程分析法實施步驟

步驟1:畫出業務流程圖
步驟2:定義狀態節點和條件分支
步驟3:確定測試路徑
步驟4:選取測試數據,構造測試用例

六.舉例說明

6.1需求

使用ATM機取款

6.2分析

6.2.1測試需求分析

a)用戶向ATM取款機中插入銀行卡,若銀行卡合法,取款機提示用戶輸入密碼;若插入無效銀行卡,取款機提示用戶“銀行卡無效”,並自動退卡。
b)用戶輸入銀行卡密碼,取款機將密碼傳至銀行主機進行校驗。若密碼正確,取款機提示用戶輸入取款金額,提示信息:“請輸入取款金額:”若密碼錯誤,取款機提示用戶:“密碼錯誤!”,並退回輸入密碼界面。當三次輸入密碼錯誤時,自動退卡,鎖卡。提示:“密碼錯誤,密碼輸入次數超限!”。
c)用戶輸入取款金額,系統校驗金額正確。即取款機餘款大於用戶取款金額。提示:“請確認取款金額爲XX!”。用戶按下確認鍵,確認取款XX。若用戶輸入取款金額不正確,提示:“輸入錯誤!”。此處爲分析方便忽略輸入取款金額錯誤的各種情況下的異常流程處理,降低分析的複雜度。
d)系統同步銀行主機,點鈔票,輸出給用戶並減去用戶卡中相應數目的存款金額。若卡內餘額小於用戶取款金額,則提示:“餘額不足!”,並退回輸入取款金額界面。若取款機與銀行主機通信超時、通信中斷、傳輸錯誤等情況,提示:“連接超時,本次操作取消”。若主機已經做了數據庫操作,減去了用戶存款餘額,則要做回退操作。
e)用戶取款,銀行卡退卡。用戶拔出銀行卡。取款機恢復初始界面。正常取款操作結束。若用戶未按時拿走取出的錢款、用戶未按時拔出銀行卡,則取款機做相應異常處理操作。

6.2.2測試設計方法分析(流程分析法)

根據需求,畫出業務流程圖,如下:
在這裏插入圖片描述
定義狀態節點和條件分支:
上面的業務流程圖中,只描述正常流程-取款成功的情況。異常流程未做描述,是爲了分析方便,實際中異常流程必須在業務流程圖中描述清楚狀態、分支等。

6.2.3用例設計(確定測試路徑)

需求描述及流程圖中,ATM取款機的提示信息對應於測試用例中的預期輸出部分,用戶的操作對應測試用例中的測試步驟部分。原則是一條有效路徑使用一個測試用例覆蓋。
依據業務流程圖確定測試路徑,即需要測試的業務流程。其主要包含三個方面:
a)正常流程,取款成功(基本流程):對應一次性取款成功;
b)異常流程,取款失敗(分支流程):對應取款失敗,包括退卡、吞卡;
c)異常流程,取款成功(循環流程):對應取款中間出現意外,比如密碼輸入錯誤,但是最終成功取錢的情況。

6.3用例詳細(選取測試數據,構造測試用例)

根據上一步確定的測試路徑,寫出用例詳細。具體略。

七.總結

流程分析法適用於有先後順序的測試。常用於業務流程測試安裝流程測試等。流程分析法重點在於測試流程。因此,一般每個流程用一個測試用例驗證。但是,流程測試沒有問題並不能說明系統功能沒有問題,還需要針對單步功能進行測試。對於包含複雜流程的系統,只有功能點和處理流程都進行測試覆蓋,纔算是比較充分的測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章