天天看點

測試經理:“ 工作五年你連服務端接口測試還不知道?“

測試經理:“ 工作五年你連服務端接口測試還不知道?“

服務端的接口測試我們一般從功能開始進行測試,比如請求參數和響應參數的校驗,業務邏輯或業務規則的校驗,資料庫操作的校驗。功能正常後會根據需要進行安全相關的檢查、性能測試以及系列擴充測試,比如與曆史版本的相容性測試、接口的逾時驗證以及設計合理性驗證等,用例設計也是從這幾個方面進行分析設計,下面的思維導圖是一個概要的測試關注方向:

測試經理:“ 工作五年你連服務端接口測試還不知道?“

詳細介紹如下:

針對輸入

輸入主要是指接口的入參,我們平常的測試中,會先考慮正常的入參,以及異常的入參,異常情況包括:參數異常和資料異常,用例設計這塊使用較多的是等價類劃分和邊界值分析

A、正常的入參

正常的入參很好了解,就是根據接口設計文檔的入參标準,輸入正常的參數,響應按接口設計文檔的約定條件正常傳回

B、參數異常

參數異常包括:參數為空,多參或少參,錯誤的參數

C、資料異常

資料異常:資料類型錯誤、非空參數為空,長度不符合設計,不在字典範圍内的資料,不合法的成員,特殊字元或敏感字元,存在關聯關系的參數資料異常等

針對處理邏輯

接口測試前一般研發會提供接口設計文檔或業務相關的設計圖、流程圖,針對業務流程的處理邏輯,我們可以從入參的限制條件、事件的操作對象、業務的狀态轉換

A、 限制條件分析

數值的限制:字典,等級,行業相關限制,金額限制,分數限制等

狀态的限制:有效|無效,線上|離線,拉黑|洗白等

關系的限制:存在或不存在,綁定或解綁等

權限的限制:管理者,普通使用者等

B、 對象分析

對象分析主要是對合法和不合法的對象進行操作,比如銀行卡使用者對卡進行充值,則可能存在:使用者A使用非使用者A的卡充值;使用者A使用自己的卡進行充值,卡已過有效期;使用者A使用自己的卡進行充值,卡為黑名單或挂失等。

C、 狀态轉換的分析

比如支付類業務,先支付成功,撤單後會退款,再次支付如果支付未成功,則是支付失敗,狀态之間的切換是否正常,未按正常業務順利進行操作時,狀态怎麼顯示,是否可控,是否出現異常狀态,空狀态業務怎麼處理等

D、 時序分析

一些複雜的活動中,一個活動是由一系列的動作按照指定順序進行,這些動作形成一個動作流,是有按照這個順序依次執行,才能等到預期的結果,那麼在執行過程中發生的其他分支動作程式會作何處理

比如斑馬停車風控業務,如果在入站後車輛直接掉頭不駛入高速業務如何處理?

針對輸出

在考慮異常時,通常我們都會想到正常情況,無效的情況,但是不一定能覆寫所有錯誤碼,而接口定義傳回的錯誤碼可以幫助我們補充這一部分的用例,比如網絡異常,無效的規則,無效的參數,無效的業務ID,無效的任務,伺服器異常等,把errorcode的值都補充上去可以設計更多的用例

這種根據輸出進行設計用例,可以發現前後端是否正常輸出結果,提示是否友好,提示是否出現敏感資訊等

資料庫操作

A、對資料庫操作是否頻繁,是否會在寫庫過程中占用大量的CPU,寫庫完成後程序是否釋放

B、業務資料入庫是否正常,是否有重複資料入庫,是否出現亂碼;日志資料入庫是否正常

C、資料更新是否正常,尤其是時間類字段,時間是否為24小時制的格式

D、資料删除、備份是否正常

安全性

敏感資訊是否加密(如銀行賬号,密碼,轉賬金額)

性能相關

A、接口在什麼情況下會出現并發,并發場景是什麼,什麼情況下的并發會導緻問題

B、最大并發,響應時間,吞吐量,資源消耗情況

接口逾時

接口正常情況下是有傳回的,那麼如果接口不傳回呢?是以接口逾時後的處理也是測試需要考慮的部分,如果逾時處理不當,可能會引起程序阻塞,或者逾時後又接收到接口傳回導緻邏輯錯亂

與曆史版本的相容性分析

已廢棄的協定或接口,代碼并未注釋,在某種特定的情況下可能會觸發曆史版本已廢棄的協定或接口,導緻使用者使用或功能調用後出現意想不到的問題,損失

同一套系統,不同服務之間的接口互相調用時,新接口是否受曆史接口的影響,尤其是新舊接口都對某一個功能進行處理,是否存在業務不相容的問題

這一點需要測試人員是長期的測試一個系統的,那麼可能會想到這種場景,會清楚的知道什麼時候哪個版本進行了重構,廢棄了那些接口,新增了那些接口,哪些場景會觸發曆史接口的某個規則

接口設計合理

接口字段是否備援,接口是否傳回了調用方期望得到的資訊,接口定義是否滿足所有調用者的需求,接口調用是否友善,接口是否可擴充,接口參數使用是否友善,接口的業務規則是否都正确,接口都整個服務的使用會産生那些影響

測試經理:“ 工作五年你連服務端接口測試還不知道?“

這些資料,對于做【軟體測試】的朋友來說應該是最具幫助的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特别是技術行業,一定要提升技術功底。

如果我的部落格對你有幫助、如果你喜歡我的部落格内容,請 “點贊” “評論” “收藏” 一鍵三連哦!

好文推薦:

轉行面試,跳槽面試,軟體測試人員都必須知道的這幾種面試技巧!

測試崗反複跳槽,跳着跳着就跳沒了…

軟體測試人員該學習 Python 的七個理由

面試經:一線城市搬磚!又面軟體測試崗,5000就知足了…

測試經理:“ 工作五年你連服務端接口測試還不知道?“