SoapUI、Jmeter、Postman三種接口測試工具的比較分析

1.  用例組織方式

首先是用例組織方式的不一樣,不一樣的目錄結構與組織方式表明不一樣工具的測試思想,學習一個測試工具應該首先了解其組織方式。

SoapUI的組織方式以下圖,最上層是WorkSpace,每一個窗口只能夠打開一個WorkSpace(這是一個xml文件),每一個Project也是一個單獨的xml文件(爲了協同工做,也能夠經過設置將其轉化爲一堆文件集合),因此每一個WorkSpace中能夠打開多個Project,一個Project也能夠在不一樣的WorkSpace中。

Project對應咱們的測試項目,其中可添加WSDL、WADL資源、TestSuite以及MockService。

TestSuite對應咱們的測試模塊,好比商戶中心,其中能夠添加TestCase,TestCase對應咱們對某個模塊的不一樣接口,好比訂單管理接口。而一個接口能夠能須要多個Step完成,變量、數據源、請求等都是一個Step。

<ignore_js_op> 
Jmeter的組織方式相對比較扁平,它首先沒有WorkSpace的概念,直接是TestPlan,等價於SoapUI中的Project,TestPlan下建立的Threads Group就至關於TestCase,並無TestSuite的層級。

TheadsGroup中的Sampler、管理器等均至關於SoapUI中的一個Step,以下圖:

<ignore_js_op> 
Postman功能上更簡單,組織方式也更輕量級,它主要針對的就是單個的HTTP請求。Collection就至關因而Project,而Collection中能夠建立不定層級的Folders,能夠本身組織TestSuite。每一個Request能夠當作是一個TestCase或者Step:

<ignore_js_op> 

2.  支持的接口類型與測試類型

從功能上Jmeter最爲強大,能夠測試各類類型的接口,不支持的也能夠經過網上或本身編寫的插件進行擴展。SoapUI專門針對HTTP類型的兩種接口,其初衷更是專門測試Soap類型接口,對於其餘協議的接口不支持。Postman更是輕量級,定位也不一樣,可用來測試Rest接口。

<ignore_js_op> 

3.  配置不一樣接口類型

SoapUI能夠建立Soap Project或者Rest Project(但Project中添加什麼類型的Step則不受影響),可添加wsdl、wadl資源,並能在TestCase裏添加Rest或Soap的Step。

Jmeter能夠在線程組裏添加HTTP、TCP或WebSocket的Sampler。

Postman僅支持Rest接口。



4.  自定義變量以及變量的做用域

除如下表格中所列的變量以外,每一個工具都有系統變量,未列在內。

<ignore_js_op> 

5.  數據源、生成器,進行參數化
<ignore_js_op> 


6.  流程控制

SoapUI:由Conditioinal Goto控制流程,以及Groovy腳本

Jmeter:由Switch控制器、If控制器、隨機控制器等一系列控制器實現流程控制,以及Beanshell腳本

Postman:經過JavaScript腳本控制



7.  結果解析、展現

<ignore_js_op> 

8.  斷言

SoapUI:每一個Request可添加Assertion

Jmeter:TestPlan、Threads Group、Sampler都可添加斷言

Postman:請求的Tests中可添加斷言



9.  腳本擴展能力

SoapUI:Groovy腳本

Jmeter:Bean shell(Java)

Postman:JavaScript



10. 團隊協做

SoapUI:自己一個project是一個xml文件,可是能夠經過配置變成一系列文件夾,每一個Case、每一個Suite均是獨立的文件,這樣可經過svn/git進行團隊協做。支持性較好。

Jmeter:一個TestPlan也是一個jmx(xml)文件,沒法分割,但Jmeter有一個合併的功能,容許將多個文件合併在一塊兒。只能每一個團隊成員本身創建一個TestPlan,分功能塊進行測試。最後整理合並。

Postman:有團隊協做的功能,須要付費。php

 

注:http://bbs.51testing.com/forum.php?mod=viewthread&tid=1203710&fromuid=15291329git

(出處: 51Testing軟件測試論壇 )shell

相關文章
相關標籤/搜索