API和SDK是什么?有什么區別?如何測試SDK?



API: 概念:API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
SDK: 概念:軟件開發工具包(外語首字母縮寫:SDK、外語全稱:Software Development Kit)一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平台、操作系統等建立應用軟件時的開發工具的集合。  通俗地說,api可以比作房門鑰匙。在一個房子里,每間房間有其不同的用途與資源。而當要獲取到相應房間的資源時,我們需要先用鑰匙打開房門。譬如我們要從書房里拿書、要去卧室拿枕頭,我們都需要先找到相應房間鑰匙,繼而進入房間拿書、拿枕頭。調用api的過程,就是用鑰匙開門的過程。 

而sdk則是把這些鑰匙串在一塊兒,將api集成在一塊兒。擁有sdk,你便可以在該房子里暢通無阻,想要獲得哪個房間里的資源,用手中的鑰匙打開房門,進去拿取即可。
 

兩者區別:API是一個確定的功能,已經明確了它的作用(比如做加法)。而SDK就像是很多方法的集合體,是一個工具。比如你要做加法,你就調用計算機SDK的加法API實現,要做減法就調用減法API實現,無論你想完成什么計算,SDK里總有能實現的方法。

舉個例子,比如你要開車去一個地方,車就是SDK,可以讓你完成到達目的地的目的。車上的方向盤,燈,發動機,油門,剎車像一個個API實現,你在使用SDK時,就是調用一個個API功能。如果貼心一點的車,可能還帶有使用說明(SDK說明文檔)。 Api又分為 open api和私有api。Open api 顧名思義,即是向所有人公開的接口,允許任何人調用它並獲取到它背后的數據。它就好比於圖書館,你只需要進行相應的身份認證,就可以進入里面獲取到相應的圖書及資源,而身份認證便是你獲取資源的鑰匙。  現在很多公司都開放自己的open api,並為了用戶調用方便,他們大多采用sdk文檔方式打包。用戶在調用時只需要下載該sdk文檔,根據相應規范進行調用即可。這樣就省去了重寫函數去封裝http、https等請求的工作,節省更多時間去做更有價值的事情。如:

使用App登錄的時候可以選用微信、微博、QQ等第三方進行登錄,這實際上就是你的App接入了第三方的登錄sdk;

App里面支持將內容分享到微信、微博、QQ空間等第三方平台,這實際上就是你的App接入了第三方的分享sdk;

電商類App里面支持微信、支付寶、百度錢包等支付方式,這實際上就是你的App接入了第三方的支付sdk;

……

 另外,現在也有些公司 作為產品出售。如百度的ai市場,有語音識別、語音合成、人臉識別、美顏sdk等出售,研發使用現成的sdk,節省了研發時間。 


如免費資源語音識別處有開發文檔及sdk下載 

 

那么接入了第三方sdk,測試過程中需要注意什么呢

 

這個是一個第三方sdk准入測試,可供參考

https://blog.csdn.net/FlyPigYe/article/details/92800209

 

另外既然是第三方sdk,需要明確具體的第三方負責人;

bug跟蹤也應區別與指派給團隊的bug,因為當你在bug管理系統提交bug,通常第三方人員並沒有內部權限,如果沒有權限,那么就應該換個方式收集、跟蹤,如excel;

如果管理員開通分配了權限,那么第三方人員通常也不會及時關注到非自方的缺陷管理系統,這也需要你及時去反饋跟進,防止問題處理周期過長。

 

以上憑個人經驗總結,如有不足歡迎私信。

文章首發於公眾號:軟件測試er


免責聲明!

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



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