測試移動解決方案的 API 后端
如果你正在開發一個移動的應用,非常高的可能性這個應用是需要跟后端的 Web API 進行交互的,這個 API 可能是你們團隊自己開發的,或者是第三方提供的。毫無疑問,在過去的這兩三年里,API 已經成為企業和應用的催化劑,通過 API 可瞬間讓設備和平臺更具靈活性。
在這片文章中,我們將談談關于 API 的質量以及如何通過 SmartBear 工具來確保 API 的質量
背景
一個移動應用(原生,混合或者網頁),通過標準協議與其后端API交互,大多數基于HTTP和REST協議,使用JSON或者XML格式的數據。這些API可能是你們自己的或者來自于任何一個第三方(比如說Twitter或者Google Maps),可以直接從你的應用中調用或者通過你們的API后端間接調用:
間接集成有如下幾個優勢:
你的API后端選擇返回給手機客戶端的數據,減少寬帶需求。
你可以更改第三方API,而不需更新手機應用
你可以在第三方API集中處理和隱藏錯誤和異常
你可以在不影響客戶的情況下,你可以換掉第三方API提供者(當然新的API提供者要提供一樣的功能)
你可以再API后端處理身份認證及API密鑰--向客戶隱藏邏輯
直接集成有如下優勢:
第三方提供者的響應不需要通過中介,可以減少延遲
可能使用對許多第三方API提供者開放的用戶庫
更容易使用身份認證登入機制
你還可以擴展更多優劣勢——最終根據你的需求和資源歸納。
API后端自身既可以為Node.js或者Grails應用服務,也可以用于基于J2EE或.NET的面向服務的應用。底層數據有可以用關系型數據庫操作,可以用NoSQL存儲,也可以帶有REST API。后端程序可以運行在本地服務器,也可以上傳到虛擬云服務中。
無論你選擇怎樣的解決方案,你都需要解決API的測試和性能問題。現在讓我們具體說說。
1.功能測試
最初,API測試將專注于功能測試,確保預期和非預期的輸入結果正確。您可以使用一個關鍵字驅動的測試方法,使測試者可以在更高層次上定義測試范例來進行測試。另外,可以使用數據驅動的測試,測試大的輸入和期望的輸出數據集。
2.性能測試
性能測試是必須的,以此來保證你設計的API在高并發下的響應能力,只有保證了性能,才可以使得你的API有較好的多用戶承載能力。在測試的時候你可以對你的API有個預期承受能力估值
如何對 API 進行代碼質量測試
我們都知道代碼的質量是整個項目開始時就要非常注意的一個方面。需求需要進行評審、UI 模型需要進行測試、積壓的問題需要優先處理、架構需要被評估等等。
如果你使用敏捷開發,你將在你的整個應用生命周期中進行不斷的迭代。如果你使用瀑布流模型,那么前期你需要做更多的工作。不管是什么方式,你的 API 設計都應該得到絕對的重視,包括技術選擇、數據格式、安全、認證和管理等等。
單元測試和代碼評審是在實際編碼階段中比較常用的質量手段。但你必須確保你把各個部分組合起來以正確的方式來測試 API。你可以看到 API 的測試是作為你的類、對象、腳本、數據存儲的集成測試。
3.安全測試
安全測試是額外重要的.APIs常常可以直接訪問核心數據與那些組成你商業核心價值的邏輯.你必須確保你的APIs可以避免一般的攻擊,比如SQL注入,錯誤的數據輸入,越界.
確認當系統遇到環境錯誤或者輸入錯誤時不會向那些潛在的惡意的人員發送詳細的系統信息,以防止被用來控制系統.對于性能測試.重新用"功能測試去"測試"安全測試"(即功能安全測試)是有好處的.它可以在你進行功能測試的時候掃描你的安全缺陷(比如在你的客戶端驗證完你的APIs后進行SQL漏洞掃描).
所有的這些測試(功能,性能,安全)需要被創建的盡可能的早,不斷的運行你那些還在發展與不斷成熟的APIs.包括你自己的單一獨立的測試執行單元.(我也不太懂這句,,,,-_-!!再查查)
確保每周回來看看,了解第三方APIs如何復雜化了你對質量保證的努力,而且可以幫助你監控你部署后的APIs....
posted on 2014-04-01 11:23 順其自然EVO 閱讀(225) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄