服務端介面測試分析要點

2022-08-20 17:30:18 字數 2011 閱讀 6430

題記:關於介面測試的歸納總結的想法**於去年的招聘,每次面試都會問關於介面測試的一些問題,可謂「一千個讀者眼中就有一千個哈姆雷特」,每乙個測試人員眼中都有不同的對介面測試的理解,因為有了去年那一階段的招聘過程,我才陸陸續續的對服務端的介面測試要點和用例分析進行整理歸納,補充歸檔,也就有了這篇文件,歡迎閱讀的朋友們提出建議。

詳細介紹如下:

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

a、正常的入參

正常的入參很好理解,就是根據介面設計文件的入參標準,輸入正常的引數,響應按介面設計文件的約定條件正常返回

b、引數異常

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

c、資料異常

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

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

a、 限制條件分析

關係的限制:存在或不存在,繫結或解綁等

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

b、 物件分析

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

c、 狀態轉換的分析

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

d、 時序分析

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

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

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

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

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

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

c、資料更新是否正常,尤其是時間類欄位,時間是否為24小時制的格式

d、資料刪除、備份是否正常

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

a、介面在什麼情況下會出現併發,併發場景是什麼,什麼情況下的併發會導致問題

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

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

已廢棄的協議或介面,**並未注釋,在某種特定的情況下可能會觸發歷史版本已廢棄的協議或介面,導致使用者使用或功能呼叫後出現意想不到的問題,損失

同一套系統,不同服務之間的介面相互呼叫時,新介面是否受歷史介面的影響,尤其是新舊介面都對某乙個功能進行處理,是否存在業務不相容的問題

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

介面字段是否冗餘,介面是否返回了呼叫方期望得到的資訊,介面定義是否滿足所有呼叫者的需求,介面呼叫是否方便,介面是否可擴充套件,介面引數使用是否方便,介面的業務規則是否都正確,介面都整個服務的使用會產生那些影響

服務端介面測試小結

1 是否滿足前提條件 有些介面需要滿足前置條件,才可成功獲取資料。常見的,需要登陸token。逆向用例 針對是否滿足前置條件 假設為n個條件 設計0 n條用例 2 是否攜帶預設值引數 正向用例 帶預設值的引數都不填寫 不傳參,必填引數都填寫正確且存在的 常規 值,其它不填寫,設計1條用例 3 業務規...

服務端測試

首先服務端的測試包含哪些東西呢?實際上,服務端的測試簡單來說就是除了前端以外的的測試,總的來說可以分為以下兩類 1.web或者的提供業務邏輯的服務端介面測試 介面測試佔據工作工作中的80 介面測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。下面粗略的列舉出測試的幾個...

服務端測試 介面測試用例設計

介面測試用例設計方式方法有 針對輸入 因為輸入是由客戶端提交的,客戶端是否按協議提交引數介面側是無法控制的,此時針對輸入測試用例需考慮 按照引數型別進行設計 非法傳參的健壯性及穩定性 針對介面處理邏輯 依據產品業務定義進行用例設計 針對介面輸出 針對輸出結果 資料操作以及介面返回response 進...