千鋒教育(yu)-做有(you)(you)情懷、有(you)(you)良心、有(you)(you)品質的職業教育(yu)機構
一.什么是SDK
SDK,全(quan)稱:software development kit, 軟件開發工具包。
軟(ruan)(ruan)件(jian)開發工具包(bao)一般都是(shi)一些軟(ruan)(ruan)件(jian)工程師為(wei)特定的軟(ruan)(ruan)件(jian)包(bao)、軟(ruan)(ruan)件(jian)框架(jia)、硬件(jian)平臺、操作系統等建立應用軟(ruan)(ruan)件(jian)時(shi)的開發工具的集合(he)。
軟件開(kai)發工具廣(guang)義上指輔助開(kai)發某一類軟件的(de)相關文檔、范例和工具的(de)集合。
軟件(jian)(jian)開(kai)發(fa)工(gong)具包是一(yi)些被軟件(jian)(jian)工(gong)程師用(yong)于為特(te)定的(de)軟件(jian)(jian)包、軟件(jian)(jian)框架、硬件(jian)(jian)平(ping)臺、操(cao)作系(xi)統等(deng)創建應用(yong)軟件(jian)(jian)的(de)開(kai)發(fa)工(gong)具的(de)集合,一(yi)般而言SDK即(ji)開(kai)發(fa)Windows平(ping)臺下的(de)應用(yong)程序(xu)所(suo)使用(yong)的(de)SDK。它可以簡單的(de)為某(mou)(mou)個程序(xu)設計語言提供應用(yong)程序(xu)接口(kou)API的(de)一(yi)些文(wen)件(jian)(jian),但也可能(neng)包括能(neng)與某(mou)(mou)種嵌入式系(xi)統通訊(xun)的(de)復(fu)雜的(de)硬件(jian)(jian)。一(yi)般的(de)工(gong)具包括用(yong)于調試和其他用(yong)途的(de)實用(yong)工(gong)具。SDK還經(jing)常包括示(shi)例代碼(ma)、支(zhi)持性的(de)技術注解或(huo)者其他的(de)為基本參考資料澄清(qing)疑(yi)點(dian)的(de)支(zhi)持文(wen)檔。
客(ke)戶端SDK是為第三方開(kai)發者提供的軟件開(kai)發工(gong)具包,包括SDK接(jie)口、接(jie)入(ru)文檔、以及demo等。
可以在任何(he)第三(san)方(fang)應用(yong)中集成,使用(yong)方(fang)便。
二:SDK和API的區別
sdk和api的區別有以下幾點:
1、組成不同:
sdk軟件開(kai)發工具包括廣義(yi)上(shang)指輔助開(kai)發某一類(lei)軟件的(de)(de)(de)相(xiang)關文檔(dang)、范例和(he)工具的(de)(de)(de)集(ji)合。API(應(ying)用程序(xu)接口)是一些(xie)預先定義(yi)的(de)(de)(de)函數,或指軟件系統不同(tong)組(zu)成部分銜接的(de)(de)(de)約定。
2、用途不同:
api目(mu)的是提供應用(yong)程(cheng)(cheng)序與開發人員基于某軟(ruan)件(jian)(jian)或硬件(jian)(jian)得以訪(fang)問一組例程(cheng)(cheng)的能力,而又無需訪(fang)問源碼(ma),或理(li)解內部工(gong)(gong)(gong)作機制的細節。軟(ruan)件(jian)(jian)開發工(gong)(gong)(gong)具包一般都是一些軟(ruan)件(jian)(jian)工(gong)(gong)(gong)程(cheng)(cheng)師為特(te)定的軟(ruan)件(jian)(jian)包、軟(ruan)件(jian)(jian)框架(jia)、硬件(jian)(jian)平臺、操(cao)作系統等建立應用(yong)軟(ruan)件(jian)(jian)時的開發工(gong)(gong)(gong)具。
3、內容不同:
為了使用(yong)API函數,就(jiu)要(yao)有(you)跟API所對(dui)應的(de)(de) .h和 .lib文件,而SDK正是(shi)提供了一整套開(kai)(kai)發Windows應用(yong)程(cheng)序所需的(de)(de)相關(guan)文件、范例和工(gong)具(ju)的(de)(de)“工(gong)具(ju)包(bao)”。SDK包(bao)含了使用(yong)API的(de)(de)必(bi)需資(zi)料,所以也常把僅使用(yong)API來(lai)編寫Windows應用(yong)程(cheng)序的(de)(de)開(kai)(kai)發方式叫作“SDK編程(cheng)”。
三、SDK要測什么
1、客(ke)戶端(duan)SDK測試(shi)的對象
客(ke)戶端SDK測試,就是對提(ti)供給開(kai)發(fa)者工具包里面的內(nei)容(rong)進行測試,因此測試的主要內(nei)容(rong)有:
1) SDK接(jie)口(kou)和(he)文檔
SDK接(jie)口是測試的主要(yao)對象,也是核(he)心(xin)的內容(rong)。
2)SDK日(ri)志(zhi)打印(yin)
對(dui)開發(fa)者來說(shuo),SDK接口里面的(de)具體實現是透明的(de),當上層調(diao)用時遇(yu)到問題,可以(yi)依(yi)賴(lai)SDK打(da)印的(de)日志來定位分析(xi)。所(suo)以(yi)SDK日志是否(fou)完備,有助于(yu)問題的(de)順利解決,對(dui)應用開發(fa)者、測試人員、SDK提(ti)供方來說(shuo)都很重要(yao)。
3) 程序示例:demo
demo是SDK提供(gong)方用來展(zhan)示如何(he)調用接口實(shi)現具體的功(gong)能,也可以作為開發(fa)者直觀感受SDK接入的效果(guo)
四、SDK測試類型
根(gen)據需求和開(kai)發平(ping)臺不同(tong),會(hui)有以下常見的測試類型:
功能的測試
主要是場景覆蓋(gai)和接口(kou)參數覆蓋(gai)。主要測試各種參數下組合下的返回值(zhi)。
考(kao)慮數據緩存(cun)和(he)存(cun)儲
考慮是否有回調
考慮對請求成功、或(huo)失敗(bai)的(de)處(chu)理結果與預期一致
兼容性的測試
根據產品需求是市(shi)場排行,確保兼容選(xuan)取的設備機型、版本、分辨率等(deng),并兼容其他(ta)軟件(jian)
考慮(lv)模(mo)擬器的支(zhi)持
覆蓋多平臺的,還(huan)要考慮(lv)多端消(xiao)息數(shu)據包(bao)互通
性能方面的測試
滿足(zu)特定的性(xing)能指標(biao)(CPU、內(nei)存(cun)、耗電量(liang)、流量(liang)等)
特(te)定(ding)場(chang)景性(xing)能:比如登(deng)錄需(xu)要(yao)同步大量的數據包和離線消息,需(xu)要(yao)考(kao)慮對這些數據包的解析和本地儲存的性(xing)能
穩定性方(fang)面的(de)測試
業務(wu)場景在一定壓力下,持續運行一段時間,接(jie)口功能和設(she)備資源占有無異常(chang)。
弱網環境測試
對弱(ruo)網(wang),及其他不同類型網(wang)絡和(he)不同網(wang)絡環(huan)境,SDK接口均(jun)應有較好的處理
對比依據是新老版本、競品效(xiao)果
安全性方面的測試
隱私(si)數(shu)據的(de)保護、訪問權(quan)(quan)限控制(zhi)、用戶服務鑒權(quan)(quan)等
五:如何測試
1、了解業務(wu)流程,確定開放給(gei)開發者都有哪些(xie)接口
2、了解SDK用(yong)到的所(suo)有協議(yi),每個協議(yi)中字段的意義和作用(yong)以及server端處理邏(luo)輯
3、接口(kou)要校驗輸入參數各種輸入情況是否能正(zheng)確處理(li),返(fan)回(hui)值(zhi)的正(zheng)確性,是否有數據緩存到本地,檢查是否有回(hui)調,如果有對于(yu)請求成功、請求失(shi)敗(包括無網絡、服務器返(fan)回(hui)非(fei)200錯誤代碼)是否都有調用(yong)
4、測試中對每個請求(qiu)(qiu)都應(ying)該抓包測試,查看(kan)請求(qiu)(qiu)的(de)字段、參(can)數值、返回值是否正確
5、對于協(xie)議中必(bi)傳字段,SDK中是否校(xiao)驗為空的情況
6、查看是否存在(zai)多(duo)發、少發請求的情況(kuang)
7、對于(yu)異(yi)步請求的(de)結果(guo)在其(qi)他(ta)地方(A類(lei)中)會用到(dao)的(de)情況(kuang)(kuang),檢(jian)查是否(fou)存在網絡較慢情況(kuang)(kuang)下,未完成請求數據為空時A類(lei)就用到(dao)數據
上一篇
手機app出現問題如何定位下一篇
性能測試流程相關推薦