tft每日頭條

 > 圖文

 > atm取款機取款測試詳情

atm取款機取款測試詳情

圖文 更新时间:2025-01-23 10:24:48

本期,我們通過經典案例——ATM機的操作,來為大家詳細說說如何撰寫對應的測試用例。

【案例】

在我們日常生活中,ATM機是個大家都非常熟悉的事物。銀行為了提高工作效率,方便客戶随時辦理基礎的儲蓄和提現業務,于是,ATM機就誕生了。我們都知道,所謂用戶取款業務,就是指為用戶提供插卡、校驗和取款操作的全過程。那麼,圍繞用戶取款業務,我們應該如何為之設計測試步驟呢?

【解析】

在這一場景下,我們首先需要做的,就是構造基本流和備選流。詳情如下:

1)基本流

對于ATM機來說,它的基本流的初始狀态是:熒幕出現歡迎頁面,表示系統已經準備就緒,可以開始自主操作。接下來,它的業務處理流程基本如下:

① 插卡:用戶将銀行卡插入ATM機的卡槽;

② 卡校驗:系統讀取被插卡的賬戶代碼,判斷該卡是否為本系統可接受的卡。

▷▷在基本流中,插卡校驗順利通過後,即表示這是一張系統可以識别接受的ATM卡。因此,此處對應第1個校驗點。

③ 密碼輸入:系統自動讀取卡的賬戶,獲取其預設密碼,并要求用戶輸入6位數字取款密碼。

④ 密碼校驗:系統根據卡賬戶的預設密碼,并與用戶輸入的密碼比較,判斷二者是否一緻。

▷▷對基本流而言,輸入的密碼正确,表示可接受該銀行卡接受後續操作。所以,此處對應第2個校驗點。

atm取款機取款測試詳情(場景測試之ATM機取款業務測試)1

⑤ 取款交易選擇:基于我們是針對用戶取款業務做的場景測試,因此,我們将在這一測試處,簡化操作流程。默認我們直接選擇取款交易,且該銀行卡處于活期賬戶狀态。在此處,我們暫時忽略系統還支持存款、查詢餘額、修改密碼等其他操作,并忽略銀行卡可能屬于定期、凍結賬戶等狀态;

⑥ 取款金額設置:系統要求用戶輸入要取款的金額數。注意,取款的金額應為50的整數倍,且應受到數目上的各種限制;

⑦ 取款校驗:系統将賬戶、密碼、交易類型(本例為“取款”交易)及金額數作為一筆交易發送給銀行系統,啟動校驗過程。

▷▷對于基本流而言,系統處于聯機狀态,對用戶的授權請求予以答複,且批準完成取款,并更新賬戶餘額。此處對應第3個校驗點。

⑧ 出鈔:系統從現金槽中提供現金鈔票。

⑨ 憑條打印選擇:一般在處理完成一次事務後,系統會再次提示選擇交易類型,為了簡化流程,本案例中我們暫且忽略這個步驟。而是認為完成交易後,直接提示是否進入後續交易憑條打印環節。

▷▷對于基本流而言,用戶選擇打印交易憑條。此處對應第4個校驗點。

⑩ 提供交易憑條:系統從ATM機的小票卡槽中提供交易憑條,并更新ATM機内部記錄。

⑪ 退卡:系統返還用戶的ATM卡。

▷▷用例至此結束,這時ATM機再次回到準備就緒狀态。

2)備選流

基本流中得到4個關鍵校驗點如下:

校驗點1:對應步驟②,對卡的有效性進行校驗,判斷卡是否有效;

校驗點2:對應步驟④,對用戶輸入的密碼進行校驗,判斷輸入的密碼是否匹配預設密碼;

校驗點3:對應步驟⑦,對輸入的取款金額進行校驗,判斷取款金額設置是否有效;

校驗點4:對應步驟⑨,對憑條打印進行選擇,判斷是否需要打印交易憑條。

atm取款機取款測試詳情(場景測試之ATM機取款業務測試)2

根據上述4個校驗點,我們可以分别得到各個校驗點的備選流。對此,我們可以做出如下的分析判斷:

① 備選流1:卡錯誤

在基本流步驟②處觸發,在校驗ATM卡時,發現該卡無效,則應提示無效卡并将卡退回。退回後,系統回到準備就緒狀态,本用例終止。

② 備選流2:密碼錯誤

在基本流步驟④處觸發,校驗密碼時有3次輸入密碼的機會,當第一次或第二次密碼輸入錯誤後,仍有繼續輸入密碼的機會,則系統提示密碼錯誤,要求用戶再次輸入密碼,系統返回密碼輸入狀态,在步驟③處重新加入基本流。

③ 備選流3:密碼失敗

該備選流仍在基本流步驟④處觸發,校驗密碼時,當密碼第3次輸入錯誤後不再有輸入機會,此時系統提示密碼失敗,并直接吞掉用戶的ATM卡,并提示用戶到銀行櫃台辦理相關取卡事宜,系統返回準備就緒狀态,本用例終止。

▷▷值得我們注意的是,備選流2、3是由相同事件觸發的(密碼輸入錯誤),區别隻是在于觸發次數問題。多次觸發後,将導緻系統産生不同的處理結果。這與程序執行中的循環結構,其實是非常類似的。

④ 備選流4:輸入金額錯誤

在基本流步驟⑦處觸發,校驗用戶輸入的取款金額時失敗,禁止取款,要求用戶重新輸入取款金額,系統返回金額輸入狀态,在步驟⑥處重新加入基本流。

▷▷這裡需要注意的是,取款金額錯誤可分多種情況。包括:取款賬戶的餘額不足;金額格式錯誤;ATM機現金不足;達到賬戶單次取款的最大金額等等。但是,機智的小夥伴可能發現了,我們比昂沒有針對所有可能出現的錯誤情況,分别構建不同的備選流,這是為什麼呢?感興趣的小夥伴,可以在留言區告訴小編你的答案。

⑤ 備選流5:不打印憑條

在基本流步驟⑨處觸發,選擇是否打印交易憑條時選擇不打印,則直接退還用戶的ATM卡。

小結:我們通過上述所有的基本流與備選流,可以得出一張清晰的畫像,如下圖:

atm取款機取款測試詳情(場景測試之ATM機取款業務測試)3

值得一提的是,在卡密碼校驗處,一旦用戶3次輸入密碼錯誤,系統将會把用戶的卡沒收。之後,ATM機仍會回到系統歡迎畫面。這似乎應從基本流的退出狀态來結束?但事實上,由于此處包含了一個吞卡的動作,因此,與備選流1和備選流5的執行結果不完全一緻。所以,備選流3的執行結果是不同于備選流1和備選流5的。

【場景設計】

根據取款業務的基本流和5個備選流得到的場景集合如下:

場景1(取款成功,且打印憑條):基本流;

場景2(卡錯誤):基本流 備選流1;

場景3(密碼錯誤):基本流 備選流2;

場景4(密碼失敗):基本流 備選流3;

場景5(取款金額錯誤):基本流 備選流4;

場景6(取款成功,不打印憑條):基本流 備選流5。

【測試用例設計】

雖然每個場景對應系統業務流程(從開始到結束狀态)的一系列執行過程,但實質上,它仍然是對應測試用例的一組輸入和預期輸出。因此,對應每個場景可設計一個或多個測試用例。比如:

(1)根據某場景所包含的執行流程,分析出系統應滿足的所有輸入條件和預期輸出;

(2)當場景中包含備選流時,應确定觸發該備選流執行的輸入條件,并予以标記。

由此,我們可以得出如下結論:

(“V”表示該條件必須有效才可以執行該用例;“I”表示其是觸發對應某個備選流的條件;“N/A”表示此測試用例中不需要設置該輸入條件。)

atm取款機取款測試詳情(場景測試之ATM機取款業務測試)4

為了保證覆蓋準确率,我們可以通過以下途徑來判斷:

(1)應用獨立路徑測試的策略,每條獨立路徑對應一個場景;

(2)檢查測試用例表,查看是否所有輸入都取到“I”的情況,即曾經作為測試用例的觸發條件,隻要存在某條件從未取到“I”,就證明測試用例存在漏洞,未覆蓋所有的場景。

另外,我們還應注意測試數據的設計。對于測試用例來說,我們可以繼續根據邊界值、等價劃分等方法,為它們一一設計具體的測試數據。舉個例子,假設正确密碼是8個8,那麼,我們會得到如下測試結果:

atm取款機取款測試詳情(場景測試之ATM機取款業務測試)5

寫在最後

通過上述内容,相信大家對場景測試的内容有了一定的了解,希望大家在實際工作中,也能按照上述方法一步一步去做,通過多次實踐,對場景測試有更加深刻的認識。祝大家在測試的道路上越走越順暢~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved