系統符合邏輯嗎?異常測試的實踐與梳理

發表于:2020-11-16 10:13  作者:佚名   來源:網絡

字體: | 上一篇 | 下一篇 |我要投稿 | 推薦標簽: 性能測試 異常測試

  異常測試,是指通過人為制造異常,檢測系統的處理是否符合邏輯。結合在A項目中的實踐,梳理一下常見異常測試的類型、關注點及常用測試工具等。
  A項目是一個典型的web前端+后臺的項目,主要的業務是購買賬號及注冊賬號。從實踐來講,我覺得一個項目的異常測試基本可以分為2大類:功能異常及服務端異常,功能異常按照先后執行順序一般可以分為3種:單接口異常、web端異常及業務操作異常。下面來介紹一下功能異常,服務端異常在異常測試實踐與梳理之服務端異常測試中介紹。
  1、單接口異常測試
  單接口異常測試主要的關注點是依賴服務調用異常時,業務代碼能否容錯及容錯邏輯是否合理。
  單接口異常測試一般也可以放到服務端異常測試階段來做,但這個階段常規功能測試已經做完,再回過頭來對每個接口進行異常測試,還需要花一定時間去重新熟悉接口業務,且該階段關注的重點是后臺整體的異常,需要覆蓋的異常點很多,從時間上來說一般會比較緊。所以,個人覺得單接口異常測試放在接口測試階段比較合適,并且單接口異常測試可以為服務端異常測試做鋪墊,把接口依賴分析都完成了。
  單接口異常測試,主要包括輸入異常、操作異常、依賴服務異常等,具體要視接口情況而定。輸入異常及操作異常一般在接口測試時都會涉及,而依賴服務異常不一定。如果項目對可靠性要求比較高的話,且時間允許情況下,還是要爭取覆蓋一下。
  在A項目的單接口異常中,依賴服務異常是重點。在執行測試之前,需要做一些準備工作。
  ·分析接口所有依賴的服務(需要咨詢開發,或對業務和代碼熟悉的可以直接看代碼來了解) A項目中所有接口的依賴服務主要包括主系統(調用注冊服務)、數據庫(MySQL)、緩存(redis)等。
  ·了解各依賴服務的超時設置 如訪問mysql、redis及http請求的超時時間。需要跟開發確認所有訪問第三方依賴的http請求的連接參數設置是否相同。
  ·依賴第三方服務接口的異常返回碼類型,及代碼處理邏輯
  A項目中有一個接口調用了主系統的注冊接口,需要去了解,若注冊接口調用失敗而返回非200返回碼,代碼是否會進行重試,若重試依然失敗,該接口最終的返回結果是什么?管理后臺是否還有二次注冊的接口?
  在單接口異常測試執行時,只需要選擇該接口對應的依賴服務進行測試就好。訪問超時和丟包一般可以使用linux的tc命令來設置,服務掛掉一般通過改ip或端口來實現的,依賴第三方接口的異常返回碼一般是用WireMock來模擬的。
  2、web端異常測試
  這里的web端異常測試,主要是指接口訪問超時及返回異常返回碼時的提示是否符合預期邏輯。
  除了文字提示之外,一般通用的錯誤提示分為以下三種:toast(一段時間后自動消失)、錯誤頁及alert(彈框提示)。
  一般前端在開發時都會跟產品及交互定好每種異常情況下的文案規則,在UI測試階段就對照這份規則來進行測試。下圖就是A項目中頁面初始化接口的文案規則:
  有些異常情況只通過頁面操作是不太好模擬,例如服務器異常、訪問超時等等。一般UI測試是在接口測試完成之后才做的,異常返回碼的模擬在接口測試階段已經覆蓋過,所以在UI測試階段,推薦使用工具來進行異常返回碼的模擬,而不需要進行復雜的后端操作來模擬,使用工具可以節省很多的時間。
  windows的pc端推薦使用fiddler,這是一個http協議調試代理工具。在前端測試中,一般主要使用fiddler的2種功能,設置斷點功能及請求自動重定向功能。下面簡單介紹一下這兩種功能,具體用法自行百度啊~~
  1)設置斷點
  通過菜單欄“Rules/Automatic Breakpoints”給請求設置斷點,可以選擇Before Requests或After Responses。可以修改提交到服務器的數據信息(如:請求頭或請求體等),也可以修改從服務器端返回的數據,還可以用來模擬請求超時。
  2)請求自動重定向
  這是fiddler最實用的功能,可通過自由設置規則,將符合條件的請求進行重定向,修改HTTP數據的特性。
  3、業務操作異常測試
  這部分一般是放在功能測試的后期,因為業務異常用例的設計需要對項目有一定的理解,是業務強相關的。
  A項目是購買相關的,主要的業務操作異常集中在購買流程中,例如:購買時回退頁面、支付超時、多人同時購買同一商品等等。一個人能想到的異常情況一般是有限的,所以在業務異常測試之前,測試人員可以先出一個大致的測試方案,然后跟開發同學一起開一個評審會,評估一下哪些異常測試用例是沒有必要的,哪些是可能遺漏的,再對測試方案進行優化,保證測試的有效性。特別是對bug比較多的業務點要重點進行一些業務異常的測試,在進行bug發散的基礎上,多分析和思考可能引起類似異常的操作。

  本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理

評 論

論壇新帖

頂部 底部


建議使用IE 6.0以上瀏覽器,800×600以上分辨率,法律顧問:上海瀛東律師事務所 張楠律師
版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2020, 滬ICP備05003035號
投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

滬公網安備 31010102002173號

51Testing官方微信

51Testing官方微博

掃一掃 測試知識全知道

日本av