輕量級介面測試工具JMeter使用
前言
無論是Web互聯網還是移動互聯網公司,後台都有大量的介面提供的服務,有很多的業務上的邏輯是放在後台來實現,前端針對後台介面返回的數據,選擇性的進行正確的展示。同樣越來越多的公司也越來越關注介面測試,有的自己搭建了介面測試平台(Django、flask等等好多)或者針對很多開源庫,自己整了一套適合自己的介面測試框架(httpclient、requests等),但在有些測試團隊,通常自動化方面開展會遇到各種各樣的問題:
· 版本迭代過快。由於互聯網版本節奏非常快,有的公司甚至一個月迭代一個大版本(比如我司,應用一個月更新一次,其中還有各種小版本、小補丁上線)。團隊成員精力有限,公司出於成本的考慮,可能不會留給測試人員太多搭建介面測試平台或者介面測試用例框架的時間。
· 自身能力有限吧,對於大型的項目,後台邏輯的理解可能會發揮很長時間,對於構建自動化用例來說有一定的技術門檻,不是所有的測試人員都能達到這個水準。
· 成本問題,之前我司招了一個專門搞自動化的,半年後還是友好分手了,投入和產出不成正比。需要有專門的人員長時間花精力和時間去維護,可能也會超出公司的預期。
Jemter用於介面的優點
最初了解Jemter,它是一款用於性能測試的一款工具,目前也是主要功能之一,後來才逐漸豐富完善,逐漸不少公司用於介面測試。
主要有如下幾個優點:
1.支持多種類型的協議
Jmeter自帶支持的介面協議有多種,可以省去介面協議的數據收發方面的開發。
2.對HTTP協議支持的比較全面
HTTP目前還是互聯網公司常用的協議,Jmeter對HTTP的支持比較全面,對於協議方法、請求參數和值、代理等方面都提供了支持。
同時還提供了cookie管理器、cache管理器、請求默認值等輔助功能:
3.斷言方式較全面
如果僅是簡單的請求、相應,不對相應內容進行斷言,測試結果檢查起來是很困難的。
Jmeter提供了相應斷言,可以看出還是較全面的,支持相應代碼、響應頭、響應內容等,同時支持包括、等於、否等多種判斷規則。
4.可以連接資料庫檢查數據
在實際介面測試中,有時候需要連接資料庫查詢數據進行校驗,Jmeter中可以通過JDBC Request這個sampler實現,如下:
5.工具非常穩定
作為一款開源工具,Jmeter的用戶可以達到千萬級,其穩定性已經得到了比較充分的驗證。而自動化是一個比較頻繁執行的行為,所以Jmeter的穩定正好滿足這一點。
Jmeter用於介面測試實踐
僅僅是簡單使用吧,介紹的比較淺,用例分層、報告輸出、郵件發送、持續集成等暫都不做介紹。
整體框架如下:
HTTP請求默認值,主要方便下面,不用每次請求都輸入相同的url。
HTTPcookie管理器,主要用於管理cookie。
下面是一個HTTP介面請求,每個介面有一個斷言。
查看結果樹,顯示最終的結果。
以上只是一個簡單的框架,如果用到實戰中,需要進一步的進行優化,僅僅做入門學習參考。
更多關於性能測試方面的文章,請前往51Testing軟體測試網。
TAG:51軟體測試網 |