- 論壇徽章:
- 0
|
Open API測試暢想
淘寶網(wǎng)新近開放了TOP平臺,阿里軟件的同事們根據(jù)平臺測試的實(shí)踐編寫了《互聯(lián)網(wǎng)單元測試及實(shí)踐》,阿里巴巴技術(shù)部也在實(shí)現(xiàn)Open API給第三方開發(fā)商的項(xiàng)目,國內(nèi)互聯(lián)網(wǎng)公司Open API開放狀況參考http://fairyfish.net/2008/07/16/chinese- open-api/。本月程序員雜志Open API大篇幅占據(jù)版面。chinaunix專門開辟openapi專欄 http://www.72891.cn/forum-137-1.html。
這些信息都表明,OPEN API是增強(qiáng)網(wǎng)站個(gè)性化、定制化的方式之一,將成為主流網(wǎng)站的一個(gè)趨勢。
一種新的研發(fā)模式也必然對測試帶來一定的影響。對于開放API的平臺商而言,Open API本身的測試也會有自己個(gè)性化的特征。
(1) 安全測試要求更高。由于涉及關(guān)鍵數(shù)據(jù)眾多,在用戶輸入驗(yàn)證、輸出展現(xiàn)、安全交互、權(quán)限系統(tǒng)設(shè)計(jì)方面的要求更高。防止SQL注入、命令注入、XSS、緩沖區(qū)溢出、整數(shù)溢出等主要安全問題圍繞整個(gè)軟件生命周期。
(2) 流量、資源消耗、計(jì)費(fèi)等監(jiān)控粒度更加細(xì)致。
從第三方開發(fā)商過來的請求流量設(shè)計(jì)方面必須足夠聰明,做到有效控制DOS攻擊。
需要評估審核第三方開發(fā)商研發(fā)能力,加強(qiáng)對其管理。
API調(diào)用需要大量計(jì)算資源,有效監(jiān)控資源變化包括系統(tǒng)級別的資源(如CPU\IO\網(wǎng)路\內(nèi)存\進(jìn)程間通信\打開文件描述符、數(shù)據(jù)庫的CRUD等)以及業(yè)務(wù)級別資源(頁面響應(yīng)時(shí)間、資源下載時(shí)間等),全方位的監(jiān)控體系保證網(wǎng)站安全。
(3) 性能測試的需求更加迫切。
大規(guī)模的應(yīng)用訪問會讓系統(tǒng)感受到PV的強(qiáng)烈沖刺。
一般應(yīng)用程序關(guān)注用戶訪問模式,Open API更為關(guān)注API自身的調(diào)用頻率。各種性能profile工具將發(fā)揮極致威力
(4)非常適合應(yīng)用單元測試、應(yīng)用代碼覆蓋以及做到daily build/test。
由于提供給第三方開發(fā)商使用,其接口必然比較穩(wěn)定,以及復(fù)用程度較高。從成本效益角度衡量,適合單元測試。同時(shí)借助代碼覆蓋率度量工具,增加測試用例。
由于存在良好的單元測試代碼,daily build/test體系建立將讓BUG主動跳出來。
(5)demo應(yīng)用程序以及API函數(shù)說明書。
demo程序以及API函數(shù)說明書同樣需要測試。第三方開發(fā)商借助這些demo應(yīng)用程序以及API函數(shù)說明書才能有效發(fā)揮開放API的威力,由于分處兩地,為了減少溝通成本,demo程序以及說明書應(yīng)該相當(dāng)詳備。
(6) 部署模式測試。
API部署范圍不應(yīng)局限于在PC/PC Serer上, Open API也應(yīng)該部署在流行的google application engine平臺以及Amazon AWS上進(jìn)行測試,以滿足不同層次的開發(fā)商需求。
(7)支持的開發(fā)語言調(diào)用測試
針對Open API聲稱支持的各種開發(fā)語言對應(yīng)的API都做測試。每種語言的數(shù)據(jù)類型都有差異,這個(gè)微小差異有時(shí)會導(dǎo)致致命的問題。
( 架構(gòu)設(shè)計(jì)文檔本身的測試,核心代碼盡早執(zhí)行性能測試
應(yīng)該有資深的架構(gòu)師盡早介入,評審關(guān)鍵應(yīng)用的設(shè)計(jì)文檔,在早期介入減少設(shè)計(jì)失誤。
核心代碼盡早執(zhí)行性能測試,避免后期大規(guī)模修改。
歡迎各位朋友拍磚。 |
|