在過去的幾年中,web服務(wù)或API的普及和使用有所增加。 web服務(wù)或API是程序或軟件組件的集合,可以幫助應(yīng)用程序進(jìn)行交互或通過形成其他應(yīng)用程序或服務(wù)器之間的連接執(zhí)行一些進(jìn)程/事務(wù)處理。基本上有兩種類型的web服務(wù)——基于互聯(lián)網(wǎng)協(xié)議,REST和SOAP推動(dòng)數(shù)據(jù)和信息的通訊。
由于這些web服務(wù)暴露于網(wǎng)絡(luò)并且分布于不同的網(wǎng)絡(luò),所以它們很容易受到風(fēng)險(xiǎn)和安全威脅,從而影響基于它們的進(jìn)程。因此,web服務(wù)或API測(cè)試非常有必要,可以確保它們執(zhí)行正確并正確地響應(yīng)查詢。
市場(chǎng)上有不少商業(yè)和開源的測(cè)試工具可用于測(cè)試它們的連通性,響應(yīng)性和性能。這些測(cè)試工具自動(dòng)地為特定場(chǎng)景如功能測(cè)試,負(fù)荷測(cè)試,性能測(cè)試等執(zhí)行測(cè)試。以下工具不按任何特定順序排列。
以下就是你必須為你的API或Web服務(wù)測(cè)試需求考慮的12個(gè)偉大的web服務(wù)測(cè)試工具:
1.SoapUI
SoapUI是一個(gè)開源的,跨平臺(tái)的測(cè)試工具。它可以自動(dòng)操作功能、回歸、合規(guī)以及SOAP和REST web服務(wù)的負(fù)載測(cè)試。它配備了一個(gè)易于使用的圖形界面,并支持行業(yè)領(lǐng)先的技術(shù)和標(biāo)準(zhǔn),以模擬和鼓勵(lì)web服務(wù)的行為。
主要特征
以一種Project、TestSuite、TestCase或LoadTest水平提供可打印,可導(dǎo)出,和基于HTML的報(bào)告。
自帶集成Hudson、Bamboo、Maven、ANT和JUnit。
允許開發(fā)自己的一套功能作為SoapUI插件。
記錄、監(jiān)視和顯示所有數(shù)據(jù)。
支持WS-Security和SSL解密。
官方網(wǎng)站:https://www.soapui.org/
2.TestingWhiz
TestingWhiz是一種無編碼測(cè)試自動(dòng)化工具,自帶API / web服務(wù)測(cè)試能力。它可以讓你執(zhí)行功能、回歸、合規(guī),以及基于HTTP和FTP通過WSDL接口的REST和SOAP?web服務(wù)的負(fù)載測(cè)試和模擬。它也允許我們進(jìn)行拒絕服務(wù)和滲透檢查,以確保web服務(wù)的整體健康。此外,它還可以讓你執(zhí)行從端到端的測(cè)試,從Web UI,業(yè)務(wù)邏輯,到數(shù)據(jù)庫和ETL,而無需編碼。
支持字符串比較來驗(yàn)證API響應(yīng)。
通過集成的bug跟蹤工具,如JIRA,Mantis和FogBugz來幫助記錄API缺陷。
用一個(gè)收發(fā)郵件設(shè)施生成可視化的日志和測(cè)試執(zhí)行報(bào)告。
允許跨越多臺(tái)機(jī)器和節(jié)點(diǎn)的分布式并行執(zhí)行。
用Jenkins、Bamboo & Hudson提供持續(xù)集成。
支持?jǐn)?shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)測(cè)試。
官方網(wǎng)站:http://www.testing-whiz.com/
3.SOAPSonar
SOAPSonar為HTML、XML、SOAP、REST和JSON提供了全面的web服務(wù)測(cè)試。它通過對(duì)OASIS和W3C標(biāo)準(zhǔn)的開箱即用提供了功能、性能、合規(guī)性、互操作性和安全測(cè)試。
用XSD-mutation支持漏洞測(cè)試。
提供全面的WSDL和Schema解析。
用行為建模和多路同時(shí)負(fù)載事務(wù)來執(zhí)行負(fù)載測(cè)試。
提供XML,DOC,XLS,PDF,RTF和RPT格式的報(bào)告。
與HP質(zhì)量中心集成。
官方網(wǎng)站:http://www.crosschecknet.com/products/soapsonar.php
4.SOAtest
SOAtest是利用Parasoft測(cè)試驗(yàn)證API和API驅(qū)動(dòng)應(yīng)用程序的一個(gè)企業(yè)級(jí)工具。它對(duì)功能單元,集成,安全性,仿真,模擬,合規(guī)以及技術(shù),如REST、JSON、MQ、JMS、TIBCO、HTTP和XML的負(fù)載測(cè)試提供了強(qiáng)健的支持。
提供端到端的測(cè)試。
支持120+協(xié)議/消息類型。
自帶一個(gè)易于使用的界面。
幫助創(chuàng)建復(fù)雜,可擴(kuò)展和可重用的測(cè)試,而無需編碼。
支持連續(xù)集成測(cè)試。
官方網(wǎng)站:https://www.parasoft.com/product/soatest/
5.TestMaker
TestMaker是一個(gè)開源工具,通過PushToTest來測(cè)試和監(jiān)測(cè)web,web服務(wù)和SOA應(yīng)用程序的性能。它運(yùn)行在Jython(用Java編寫的Python)上。TestMaker可以重用Selenium測(cè)試,SoapUI測(cè)試,Sahi公司測(cè)試或任何用Groovy,Java,Python,PHP,Ruby和Perl寫的測(cè)試到功能,負(fù)載和性能測(cè)試中。
對(duì)于功能、負(fù)載和性能測(cè)試使用命令行提示。
用標(biāo)準(zhǔn)的多窗口IDE提供一種直觀的外觀和感受。
提供一個(gè)監(jiān)測(cè)儀表板來運(yùn)行測(cè)試,并顯示實(shí)時(shí)結(jié)果。
歸功于Jython語言,因此允許訪問所有的Java庫和類。
官方網(wǎng)站:http://www.pushtotest.com/testmaker-open-source-testing
6.Postman
Postman是另一個(gè)API / web服務(wù)測(cè)試工具,它自帶功能強(qiáng)大的HTTP客戶端支持。它有一個(gè)易于使用的請(qǐng)求構(gòu)建器,允許你編寫測(cè)試用例和管理響應(yīng)數(shù)據(jù)和響應(yīng)時(shí)間,以便于API測(cè)試用例的高效測(cè)試和管理。
允許在一個(gè)叫Postman Collections的功能中收集和組織API。
促進(jìn)協(xié)作和API數(shù)據(jù)以及團(tuán)隊(duì)控制的共享。
自帶粘貼文本的功能,用于在命令行窗口創(chuàng)建無障礙測(cè)試。
允許在Postman界面內(nèi)編寫B(tài)oolean測(cè)試。
官方網(wǎng)站:https://www.getpostman.com/
7.vRest
vRest是一個(gè)專門用于測(cè)試,模擬,以及REST API和Web服務(wù)驗(yàn)證的工具。它還支持與第三方API或HTTP服務(wù)交互的web,移動(dòng)和桌面應(yīng)用程序的測(cè)試。
自帶一個(gè)模擬服務(wù)器功能,可用于在幾分鐘內(nèi)創(chuàng)建API模擬。
提供了一個(gè)Chrome擴(kuò)展來錄制和播放測(cè)試案例。
支持與用于服務(wù)器整合的Jenkins整合,以及與用于bug跟蹤的Jira整合。
有利于角色和權(quán)限管理。
允許導(dǎo)出和引入測(cè)試用例和來自于外部工具,如Postman Collections、Swagger 2等的報(bào)告。
官方網(wǎng)站:https://vrest.io/
8.HttpMaster
HttpMaster是另一個(gè)用于REST web服務(wù)測(cè)試的專用工具。它可以幫助測(cè)試人員測(cè)試REST API的行為,并驗(yàn)證以如XML、JSON和HTML格式輸出的數(shù)據(jù)。憑借其通用的HTTP工具,HttpMaster也可以幫助開發(fā)人員模擬客戶活動(dòng)和API應(yīng)用程序的響應(yīng)行為。
自帶一個(gè)易于使用和優(yōu)雅的用戶界面,不需要高級(jí)技術(shù)技能。
使用如GET,POST,DELETE等的HTTP方法。
提供不同的驗(yàn)證類型和表達(dá)式來緩解測(cè)試。
對(duì)測(cè)試創(chuàng)建和執(zhí)行使用命令行界面。
允許存儲(chǔ)所有信息——API調(diào)用和項(xiàng)目數(shù)據(jù)到一個(gè)獨(dú)立的空間。
官方網(wǎng)站:http://www.httpmaster.net/
9.Runscope
Runscope是一個(gè)簡(jiǎn)單的工具,用來測(cè)試和監(jiān)控API的性能。它可以幫助你驗(yàn)證是web服務(wù)還是API返回了正確的數(shù)據(jù),同時(shí)當(dāng)API出問題時(shí)給出提示。Runscope還支持API和移動(dòng)app的后端服務(wù)測(cè)試。
允許用動(dòng)態(tài)數(shù)據(jù)為甚至更復(fù)雜的情況創(chuàng)建測(cè)試。
顯示視覺效果豐富的指標(biāo)和分析來發(fā)現(xiàn)問題。
集成如HipChat,Webhooks,Slack和PagerDuty的工具,以便于當(dāng)API壞掉時(shí)發(fā)出通知。
允許重用和執(zhí)行跨多個(gè)地點(diǎn)的測(cè)試。
方便在中心管理測(cè)試促進(jìn)更好的團(tuán)隊(duì)協(xié)作。
官方網(wǎng)站:https://www.runscope.com/
10.Rapise
Rapise是一個(gè)健壯的自動(dòng)化工具,有著強(qiáng)大和可擴(kuò)展的功能。它基于一個(gè)開放和靈活的用于REST / SOAP網(wǎng)絡(luò)服務(wù)的快速功能測(cè)試的體系結(jié)構(gòu)。 Rapise還提供對(duì)web應(yīng)用程序的支持,web應(yīng)用程序用用Java,.NET,AJAX,Silverlight和Flash內(nèi)置。
使用HTTP標(biāo)準(zhǔn)方法,如POST,GET,PUT和DELETE。
允許存儲(chǔ)針對(duì)特定網(wǎng)絡(luò)服務(wù)的原型請(qǐng)求。
包含內(nèi)置REST定義的生成器和對(duì)象庫。
自帶強(qiáng)大的集成報(bào)告功能。
支持跨瀏覽器測(cè)試和并行執(zhí)行。
官方網(wǎng)站:https://www.inflectra.com/Rapise/
11.WebInject
WebInject是一款用于自動(dòng)化功能,驗(yàn)收和回歸web和web服務(wù)測(cè)試的免費(fèi)工具。它是一個(gè)命令行工具,基于Perl,簡(jiǎn)化了測(cè)試的執(zhí)行,因?yàn)樗恍枰诿钐崾痉匣〞r(shí)間。此外,它沒有類似用戶接口的IDE,這意味著,測(cè)試是在WebInject UI之外寫入的。它可以在有Perl解釋器的平臺(tái)上運(yùn)行。
提供實(shí)時(shí)結(jié)果顯示。
監(jiān)視系統(tǒng)響應(yīng)時(shí)間。
支持不同的用處——作為一個(gè)完整的測(cè)試框架,或作為一個(gè)獨(dú)立的測(cè)試運(yùn)行器。
生成HTML和XML格式的報(bào)告。
允許與其他系統(tǒng)集成,作為外部監(jiān)督的插件。
官方網(wǎng)站:http://www.webinject.org/
12.Storm
最后,Storm是另一個(gè)CodePlex的開源工具,用來測(cè)試用Java或.NET編寫的web服務(wù)。目前,它僅支持SOAP web服務(wù)。
允許測(cè)試來自于獨(dú)立UI的多個(gè)web服務(wù)。
幫助編輯原始的SOAP請(qǐng)求。
允許調(diào)用包含復(fù)雜數(shù)據(jù)類型的web服務(wù)方法。
支持WCF app的測(cè)試。
官方網(wǎng)站:http://storm.codeplex.com/
當(dāng)然,可用來測(cè)試web服務(wù)的工具還有很多。歡迎分享你認(rèn)為好的web服務(wù)測(cè)試工具。