一、用戶多租戶的測試用例
1.功能用例設計
用戶多租戶的接口與客戶端的功能是對應的,那么這個接口是否能提供給客戶端某個特定功能所需要的數據自然是我們需要驗證的地方,功能性用例的主要目的是幫助我們驗證該接口最初設計的功能是否被實現以及該功能是否按照規定的接口文檔進行實現等等。
2.業務邏輯用例設計
業務邏輯方面的測試用例主要是針對用戶多租戶接口的處理邏輯進行的用例設計,這種用例設計不是針對某個功能點是否實現,而是對接口的處理邏輯以及一些相互依賴的業務進行驗證,通常依照接口的邏輯流程圖來進行。舉一個例子,購物系統中的兩個動作:登錄和下單操作,這兩個業務是相互依賴的,下單操作必須在登錄完成后(登錄狀態下),否則無法完成下單,這個時候我們就可以設計這樣一條case:沒有登錄的狀態下進行下單操作,看用戶多租戶如何處理。
3.異常處理的情況
用戶多租戶接口和客戶端之間通常是通過HTTP請求來傳遞數據,在發送請求的時候,客戶端會攜帶各種不同的參數,此時用戶多租戶會根據不同的參數進行不同的處理,所以異常處理主要是針對請求中的參數情況:比如參數增加和缺省、參數的數據類型錯誤,參數攜帶錯誤的值、參數為空等等,這需要我們根據接口文檔中各種不同的參數去構造不同的參數異常,檢查用戶多租戶的響應情況。
4.性能和安全性方面
服務器的性能往往是個非常重要的關注點,在實際的測試中我們主要關注的是接口的QPS數值,以及CPU和內存占用等性能指標,通常借助于其他工具比如LoadRunner進行性能測試。安全性方面,主要考慮一些常見的安全策略比如請求加密、sql注入等等。
延伸閱讀:
二、接口測試常用工具
說到接口測試,最常見的一種測試方式就是檢查服務端返回的數據正確性了。實際項目中,服務端在收到客戶端的請求之后,對請求進行處理并將處理的結果返回給客戶端,這種結果比較常見的是Json、XML等數據格式,所以測試的時候一個主要工作就是檢查這些數據的正確性。比如,服務端以Json的格式返回客戶端需要的數據,那么在測試中我們就需要關注返回的Json中是否包含我們期望的字段、字段的內容是否正確等等。這個時候自動化腳本就顯得非常重要了。
在測試過程中發現好多接口都是以Json格式返回數據的,在實際執行中,我們用到了Python的一個開源框架Requests,該框架保留了所有urllib2的優點,比起urllib2更加簡潔明了,更像是純粹的“Python”,該框架在平時接口測試中幾乎所有的自動化腳本中都在使用,關于該框架,小編之前在一次公開課中做過一次分享,有興趣的話大家可以關注搜狗測試粉絲群(459645679)進行查看哦。
還有一些工具在實際的操作中用的比較多,比如Postman。Postman是谷歌Chrome的一個插件,使用起來非常簡單,可以支持我們以get/post等各種方式發送請求,當然也可以自己構造請求,服務器返回的數據會全部展示出來,便于檢查,這和Fiddler比較相似。此外Postman還支持用戶自行構造環境,設置檢查點等,不考慮時間的情況下基本能滿足接口數據驗證的需求。關于Postman的安裝和使用教程,網上資源比較多,此處就不再贅述了。