客戶端SDK測試思路

2021-08-26 14:53:18 字數 1338 閱讀 4135

網易雲社群

客戶端sdk是為第三方開發者提供的軟體開發工具包,包括sdk介面、開發文件和demo示例等。sdk和應用之間是什麼關係呢?以雲信即時訊息服務為例,如下圖所示,應用客戶端通過呼叫雲信sdk介面,進行訊息等資料查詢儲存等操作,或通過協議與雲信伺服器間進行通訊。

1. 客戶端sdk測試的物件

客戶端sdk測試,就是對提供給開發者的工具包裡面的內容進行測試,因此測試的主要內容有:

2. 客戶端sdk介面測試型別

客戶端sdk根據需求和開發平台不同,可能需要選擇不同的測試型別對sdk介面進行測試,常見的測試型別有:

上述諸多測試型別中,功能測試先行。在進行客戶端sdk測試前,需要全面的了解測試物件的細節:

對客戶端sdk進行測試,可以採用的分層測試方式由上至下依次有:基於demo和解決方案->基於介面呼叫->基於**。

基於demo和解決方案的測試

大多客戶端sdk在提測時,都會有對應的demo或者解決方案提交給測試,因此可以覆蓋到該demo或解決方案對應的介面或業務場景。而且測試人員可以比較直觀的看到介面表現,上手快,所以在客戶端sdk測試中比較常用,也是比較有效的。

但這種測試方式的缺點也很多,demo對介面和業務場景覆蓋比較有限,對介面的輸入輸出引數不能全覆蓋,發現問題時定位複雜度增加。精心設計的demo以及多解決方案的形式或許可以最大程度滿足測試需要,但是需要較大的demo開發測試投入,也使得問題暴露的時間大大滯後。 基於demo和解決方案的測試,可以是手工的也可以是ui層自動化測試。

基於介面呼叫的自動化測試

基於介面呼叫的測試,包括對單個介面的測試,也包括業務場景的覆蓋。這種測試方式直接有效,需要一定開發基礎,可以參考下ks上之前其他同學關於aos和ios sdk介面自動化測試實踐的經驗總結。目前,我所在專案組的同事也有一些實踐,以雲信ios sdk測試為例,最小回歸測試對應介面也已經自動化,測試工程基本結構如下:

基於介面呼叫的自動化測試,需要有有產品的思路、開發的知識和測試的思維,做起來有難度。但是因為sdk介面通常比較穩定,所以一旦實現並投入使用,測試效率和質量的收益都很大,值得擁有。

基於**的單元測試

單元測試是為開發**質量保駕護航的乙個重要環節,在測試左移推進的道路上,大家越來越意識到單元測試的重要價值。特別是在一些核心業務上,值得開發同學投入精力去做。

其他測試型別的展開,跟應用層測試類似,杭研qa***介紹的方法、工具基本能滿足測試需求,就不再重複了。

網易雲大禮包:

WCF測試客戶端

wcf測試客戶端 wcf test client 是乙個用來測試wcf服務程式的除錯工具,能夠使開發wcf服務更加方便。本文主要討論如何在visual studio中啟用wcf測試客戶端的相關技巧。在visual studio之外開啟wcf測試客戶端有兩種方法 第一種方法是到其所在路徑 visual...

Apollo 4 客戶端 SDK 設計

之前聊了客戶端的一些功能,例如融入 spring,value 註解的自動重新整理實現,長輪詢等,這次從客戶端的整體設計來聊聊。上圖是 client 專案的包結構。其中,核心包就是 internals 包,包含了客戶端的主要功能邏輯。主要有以下功能 0.獲取 configservice 服務的遠端配置...

Http簡易客戶端實現思路

最近乙個專案需要使用http協議,但是裝置空間有限,curl庫放不下了,因為所需要的功能很簡單,所以就了解一下http協議內容相關流程,自己寫了乙個針對於業務的http client實現,在協議實現的過程中,對curl庫中一些設定也有了更直觀的理解 實現http的get post put請求 實現長...