









摘" 要:接口或API測試是日常軟件測試過程中常見內容之一,接口測試工具可選性很多,文章主要針對常用的三個接口測試工具:SoapUI、JMeter、Postman,分析它們之間的不同之處以及在實際工作中的應用。具體而言,使用不同的工具來解決日常軟件測試中的不同接口類型的接口測試問題、性能測試問題、工作效率問題。在運營商運營支撐系統(Operation Support Systems, OSS)領域實際項目測試過程中,有的放矢地選擇測試工具,不僅能有效提高了軟件質量,同時有助于提高測試人員的效率。
關鍵詞:接口測試工具;SoapUI;JMeter;Postman
中圖分類號:TP206 文獻標識碼:A 文章編號:2096-4706(2025)01-0045-04
Research on the Application of Three Interface Testing Tools in the OSS Field
Abstract: Interface or API testing is one of the common contents in the daily software testing process, and there are many options for interface testing tools. This paper mainly focuses on the three commonly used interface testing tools of SoapUI, JMeter, and Postman, and analyzes their differences and practical applications in work. Specifically, using different tools to solve interface testing problems, performance testing problems, and work efficiency problems of different interface types in daily software testing. In the actual project testing process in the Operation Support Systems (OSS) field of operators, targeted selection of testing tools can not only effectively improve software quality, but also help improve the efficiency of testing personnel.
Keywords: interface testing tool; SoapUI; JMeter; Postman
0" 引" 言
隨著信息技術的飛速發展,各個領域的軟件產品交互性越來越緊密,對API的性能要求也越來越高,軟件測試人員需要了解和掌握的接口測試工具也五花八門。在接口工具出現之前,一般情況下,研發人員開發一個模擬接口頁面,提供模擬報文填寫并測試和驗證接口調用的聯通性和準確性,該模式需要消耗更多的研發成本和測試成本,而且較難模擬多組報文的情況。特別在運營商的OSS領域,資源管理系統作為橋梁,向上游業務系統提供業務開通所需要的各種資源配置、查詢、新建等API接口。那么,如何選擇接口測試工具來完成相應的測試任務,是測試人員需要研究的課題[1-4]。本研究涉及三個常用的接口測試工具:SoapUI、JMeter、Postman,從日常測試的角度去解鎖它們的功能及分析它們之間的不同之處,從而讓它們更好地在工作中被應用,有助于提高測試人員的工作效率及提高軟件產品質量,一舉多得[5-8]。
1" API接口測試工具
1.1" SoapUI介紹
SoapUI是一款通過SOAP、HTTP協議來檢查、調用、實現Web Service的功能測試、接口測試、負載測試、自動化測試、回歸測試的工具。同時,它也支持REST風格的Web服務。
SoapUI提供強大的Groovy腳本,Groovy是類似Java的輕量級腳本語言,它結合了Python、Ruby的許多強大的特性,其語法與Java語言的語法很相似,且可以應用在測試步驟中,簡化單元測試的創建和使用過程。Groovy比較適合處理大量數據或者文件操作的應用測試。為SoapUI在一些復雜的業務場景的使用奠定了強大的基礎。
其簡單易用的圖形界面,測試人員可以輕松驗證SOAP和REST服務。SoapUI比較適合復雜的測試場景。同時,項目還可以保存為XML格式,通過導出導入的方式幫助同組的其他測試人員更快的使用測試成果[9-10]。
1.2" JMeter介紹
JMeter是Apache基金會旗下的一款優秀的接口和性能測試工具。它擅長的領域集中在接口測試,也有很多開發和測試喜歡使用它來進行功能的壓力測試。
具體而言,JMeter支持REST、SOAP、HTTP、HTTPS、FTP、TCP等多種協議,除此之外,它還有豐富的插件支持,比如PerfMon Metrics Collector(監控收集器)、Graphs Generator Listener(圖形監聽器)、Throughput Shaping Timer(吞吐量定時器)。JMeter主要對應用程序做功能測試,接口測試,壓力測試,性能測試等。它還可以應用于對服務器,網絡或對象模擬大量的負載,測試強度及分析整體的性能。同時,也可以對任何數據庫進行同樣的測試(如通過JDBC)。
JMeter項目可以導出為JMX格式文件進行保存和再次打開,它的靈活性和擴展性使其在性能測試領域廣受歡迎。
1.3" Postman介紹
Postman是一款谷歌開發的在國內外極具影響力的開源的接口測試工具,可以覆蓋絕大多數類型的HTTP(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS等)接口測試場景,無論是做單個API的調試還是整套測試腳本都非常便捷,被許多開發者和測試人員所使用的,它功能強大,并且使用起來也簡單。
Postman的主要特點是界面友好,使用簡便且易用性好。無論是開發人員進行接口調試,還是測試人員做接口測試,Postman都是首選的工具之一。
2" 三類工具的共同點和差異
2.1" 共同點
1)都屬于開源工具,提供開源版本,在官網都支持免費下載,對開發和測試人員都非常友好。但有一點值得注意:SoapUI Pro是商業版本,對應的開源版本是SoapUI。
2)都支持目前常見的REST接口測試。
3)都支持添加斷言。
2.2" 測試用例結構差異
三套測試工具的使用在測試用例結構下存在一定的差異,從表1數據可以看出,Postman只有兩層測試結構,最簡潔的一款接口測試工具,同時也說明其在使用上較為簡單。JMeter擁有三層結構,多了一層測試計劃,使用上比Postman略微復雜。而SoapUI是四層結構,使用上最為復雜的一款工具,相對應的它也支持較復雜的測試場景。
2.3" 接口、腳本類型等差異
從表2數據可知,三套工具支持的腳本類型各不相同,在數據源上面JMeter和Postman支持常用的CSV文件。功能方面都支持,但在接口性能測試方面,SoapUI和JMeter更勝一籌。
3" 三類工具在實際測試中的應用
3.1" SoapUI在OSS系統家客性能測試上的應用
在某省運營商實際項目中,對OSS(Operation Support System)系統中的家庭客戶寬帶開通業務(簡稱家客)進行收單的壓力測試,借助SoapUI測試工具模擬各種場景的收單請求。根據前期的調研,家客工單需要在全省上線使用,預計高峰期1天約5.5萬張工單,需要驗證系統是否可以支持這個數據量的壓力以及家客收單的性能。通過前期研究和準備,在現有的實驗室測試環境中,運用開源的接口測試工具SoapUI對家客收單接口進行模擬真實使用環境的壓力負載,并監控服務器資源利用率,判斷系統是否可以承受大量并發收單的壓力,如圖1所示。此外,因為生產環境的配置比實驗室測試環境更高,如果測試環境性能達標,生產環境的性能將會更優。壓測結果表明,30分鐘支持3萬以上的工單數,平均響應時間為0.1秒,符合客戶高峰期1天5.5萬的開通業務量,最終達到業務開通的并發要求,具體測試結果如表3所示。
3.2" JMeter在接口測試及IPv6流量壓測上的應用
3.2.1" JMeter在接口測試上的應用
在實際項目中,OSS系統經常需要對外部系統提供接口,具體而言,例如獲取token接口、機房資源點查詢接口、設備查詢接口,等等。那么對于這些接口能力的測試,JMeter是也是值得推薦的工具之一。
通過以下的步驟,可以使用JMeter測試接口的連通性以及請求報文、返回報文的正確性:
1)添加測試計劃—線程組—HTTP請求,輸入相關請求協議、服務IP、端口、請求方式、路徑、請求體數據等參數。
2)如圖2所示,添加察看結果樹、聚合報告等,便于查看測試的結果。
3)在察看結果樹中,可以看到每個接口的返回情況及返回的接口數據,如圖3所示。
3.2.2" JMeter在IPv6流量壓測上的應用
在一次任務中,需要用工具對服務器上的IPv6流量進行壓測。使用了Badboy和JMeter這2個比較主流的工具,兩個工具配合完成了該任務:
1)使用Badboy來模擬操作錄制腳本,抓取需要的URL,導入到JMeter。
2)如圖4所示,設置JMeter的壓測參數,20個線程,1秒內啟動完成,持續1 800秒,即壓測半小時。
3)壓測完成后,通過聚合報告,可以看到每個請求的樣本次數、平均響應時間、異常情況、吞吐量等,如圖5所示。
4)使用Tcpdump抓包,用Wireshark工具分析IPv6流量,如圖6所示。
3.3" Postman在微服務接口測試上的應用
在運營商的實際項目中,資源管理系統經常需要對外部系統提供微服務接口,具體而言,例如資源覆蓋地址查詢能力、設備查詢能力、一鍵刪除設備服務接口,等等。那么對于這些接口能力的測試和回歸,Postman是值得推薦的好幫手,如圖7所示。
通過下面簡單的步驟,同樣可以驗證一個接口的連通性以及請求報文、返回報文的正確性:
1)在測試集中,新增一個測試用例,選擇請求方式如POST,輸入接口所在的地址。
2)需要在Header中添加:Content-Type=applica-tion/json。如果接口需要傳口令,可以Header在設置token傳參。
3)在Body中選擇選擇raw和選擇JSON。
4" 結" 論
本文通過在運營商OSS領域的項目中使用SoapUI來做家客業務的性能測試及回歸測試。使用JMeter來做接口測試和頁面上的性能測試,以及測試服務器上的IPv6的流量。使用Postman來測試REST的微服務API接口。在測試工作中,測試人員使用不同的測試工具,應用在不同的業務場景測試中,明顯減輕了測試的工作負擔,有效地提高了工作效率,同時還有利于提高測試人員自身的綜合技能。古人云:工欲善其事,必先利其器,測試工具對測試人員來說,是不可或缺的好幫手。希望通過本次對三類測試工具的研究,對測試人員在實際工作中有所幫助和啟發。
參考文獻:
[1] 黃鵬,高雅濛,程小賢.基于JMeter的接口撥測系統設計 [J].機電信息,2024(7):26-29.
[2] 周燕,肖玉,王智超.JMeter工具二次開發之自定義函數 [J].計算機時代,2023(4):135-138.
[3] 胡亨汶,孟祥印,李丹,等.基于RESTful Web Services的云邊數據交換設計與實現 [J].現代制造工程,2022(8):25-32.
[4] 唐承玲,王虎,李光平,等.基于JMeter 的Web性能測試研究 [J].電腦與電信,2021(6):65-68+86.
[5] 王如迅,郭冬梅.一種基于JMeter的接口自動化測試方法 [J].中國金融電腦,2024(5):83-85.
[6] 劉小玲,殷珊珊,李慧云,等.基于Postman+Newman 的接口業務自動化測試應用 [J].現代信息科技,2024,8(13):56-60.
[7] 張云,魏強,何永江,等.接口測試全流程梳理和關鍵技術 [J].電子技術與軟件工程,2020(8):22-27.
[8] 羅作民,朱燕,程明.Web服務測試工具SOAPUI及其分析 [J].計算機應用與軟件,2010,27(5):155-157.
[9] 陳志勇,馬利偉,萬龍.全棧性能測試修煉寶典JMeter實戰 [M].北京:人民郵電出版社,2016.
[10] 艾林勒.JMeter性能測試實戰:第2版 [M].黃鵬,譯.北京:人民郵電出版社,2020.