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