1. 程式人生 > >WEB頁面非同步呼叫場景測試

WEB頁面非同步呼叫場景測試

在我們測試非同步呼叫前,我們首先弄清楚非同步呼叫到底是什麼?

非同步呼叫的定義:一個可以無需等待被呼叫函式的返回值就讓操作繼續進行的方法, 舉一個形象的例子就是:領導給A分配了一個任務, 然後領導就幹其他事了,而不是一直盯著A把任務做完, 等待一段時間後, A自動給領導彙報任務的完成情況。

非同步呼叫有什麼好處呢, 1、系統在處理一些比較耗時的任務,放在非主執行緒中執行, 主執行緒可以接著做其他事情,只是定時去收集任務的完成狀態

下面我們就分析一個具體的例項, 美團團購電影票, 這個操作雖然只是在美團上面操作,但是實際涉及到兩個系統, 美團 和電影院的售票, 因為雖然我們在美團下單,最後美團會把訂單資訊傳遞到具體電影院的售票系統, 電影院完成下單後,美團輪訓訂單是否已經生成,如果生成就告知使用者購票成功, 如果不生成,就購票失敗。


從上面的圖片也可以看出美團向電影院下單的過程是一個非同步的過程,但是在我們實際體驗上就感覺下單時一氣呵成的,是因為我們在使用美團購買電影票時,我們購票是一個連貫的操作,而且網速很好,我們感覺不到延遲,提交下單資訊後,很快就可以得到下單的結果, 但是作為一個測試人員,我們僅僅測試正常的場景是不夠的,我還要測試一些異常的場景:

1、比如提交下單資訊成功後,電影院生成了訂單資訊,但是由於網路原因輪詢不到下單結果,這種情況應該怎麼處理?  美團不會一直輪詢,超過一定時間後就不輪詢,告知使用者下單失敗,然後給使用者退款,然後向電影院售票系統提交取消對應訂單的請求

我們怎麼樣找到非同步呼叫異常的場景的呢?首先我們需要了解一個業務的執行流程, 然後畫出流程圖,找出其中哪些步驟修改了資料, 然後再修改資料後的步驟如果失敗,系統應該怎麼處理, 這樣我們基本上就不會遺漏重要的異常場景。