如何進行SDK的測試


一、sdk是什么

SDK,全稱:software development kit。客戶端SDK是為第三方開發者提供的軟件開發工具包,包括SDK接口、接入文檔、以及demo等。

可以在任何第三方應用中集成,使用方便。

二、開發需要提供給測試人員什么

1.提供如下內容:
   1). SDK包
   2). 相關文檔,如:使用文檔,接口說明
   3). 示例程序(demo)

2.一般來說,SDK包分為兩種類型:
   1). *.jar:不帶UI界面的SDK,只包含class文件和清單文件,不包含資源文件。如圖片等所有res中的文件。
   2). *.aar:帶UI界面的SDK,包含所有資源,class以及res資源文件全部包含,比如一些用於APP開發者方便開發分享界面的組件,會提供一些默認的UI界面(一般也會提供讓用戶自定義UI的功能)。

三、sdk測什么

 1、客戶端SDK測試的對象

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

1) SDK接口和文檔

  SDK接口是測試的主要對象,也是核心的內容。

2)SDK日志打印

  對開發者來說,SDK接口里面的具體實現是透明的,當上層調用時遇到問題,可以依賴SDK打印的日志來定位分析。所以SDK日志是否完備,有助於問題的順利解決,對應用開發者、測試人員、SDK提供方來說都很重要。

3) 程序示例:demo

  demo是SDK提供方用來展示如何調用接口實現具體的功能,也可以作為開發者直觀感受SDK接入的效果。

2、客戶端SDK接口測試的類型

 客戶端SDK根據需求和開發平台不同,可能需要選擇不同的測試類型對SDK接口進行測試,常見的測試類型有:

1) 功能測試

   需要保證SDK接口功能的正確性和完整性。客戶端SDK接口測試和服務端接口測試類似,包括路徑覆蓋、場景覆蓋、以及接口參數(入參/出參)覆蓋。主要測試各種參數組合下的返回響應值,考慮數據是否緩存(一鍵登錄的雙卡雙待手機出現過)與存儲,是否有回調(電信一鍵登錄出現的一個bug就是:網絡請求中的系統方法沒有給出回調導致的),對於請求成功或失敗是否都能按預期進行處理。具體測試用例可根據需求設計,例如初始化接口

2) 兼容性測試

     確保SDK兼容特定的設備平台,並與其他軟件兼容,沒有閃退崩潰現象。兼容測試的工作量通常是比較大的,可根據產品需求和市場現狀對需要適配的設備機型做分析,覆蓋的機型、系統版本、分辨率等進行優先覆蓋排序。如果有客戶端SDK覆蓋多平台設備的,還要考慮多端消息數據包的互通。

3) 性能測試

    保證SDK接口滿足特定的性能需要,比如CPU占用、內存使用率、移動設備耗電量等。例如客戶端登錄的場景,登錄時后台可能收到大量同步數據包的請求,那么對這些數據包的解析驗證以及本地儲存的性能就要進行保證,否則可能出現登錄響應很慢甚至卡住的問題,所以測試時就需要考慮這個場景的性能。

4) 穩定性測試

    確保業務場景在一定壓力下,持續運行一定時間,接口功能和設備資源占用有無異常。可用monkey來進行測試。

5) 單元測試

   單元測試,是為了測試某一個類的某一個方法是否能正常工作,而寫的測試代碼。以我們登錄模塊為例,使用的單測框架有:Mockito、powermock等。使用jacoco進行代碼覆蓋率統計。

6) 有關網絡的測試(例如網絡切換、sim卡)

    保證在不同網絡類型,不同網絡環境下,SDK接口都能較好的處理。sim卡的切換,sim卡欠費,sim卡損壞等。

7) 接口測試

    接口要驗證輸入參數各種輸入情況是否能正確處理,返回響應值的正確性。見上面功能測試。

8) 安全性測試

     有的sdk還需要進行安全性測試,對隱私數據的保護,訪問權限的控制,SDK接口的安全性問題也是如此。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM