在过去的几年中,web服务或API的普及和使用有所增加。 web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理。基本上有两种类型的web服务——基于互联网协议,REST和SOAP推动数据和信息的通讯。
由于这些web服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程。因此,web服务或API测试非常有必要,可以确保它们执行正确并正确地响应查询。
市场上有不少商业和开源的测试工具可用于测试它们的连通性,响应性和性能。这些测试工具自动地为特定场景如功能测试,负荷测试,性能测试等执行测试。以下工具不按任何特定顺序排列。
下就是你必须为你的API或Web服务测试需求考虑的12个伟大的web服务测试工具:
1.SoapUI
SoapUI是一个开源的,跨平台的测试工具。它可以自动操作功能、回归、合规以及SOAP和REST web服务的负载测试。它配备了一个易于使用的图形界面,并支持行业领先的技术和标准,以模拟和鼓励web服务的行为。
主要特征
以一种Project、TestSuite、TestCase或LoadTest水平提供可打印,可导出,和基于HTML的报告。
自带集成Hudson、Bamboo、Maven、ANT和JUnit。
允许开发自己的一套功能作为SoapUI插件。
记录、监视和显示所有数据。
支持WS-Security和SSL解密。
2.TestingWhiz
TestingWhiz是一种无编码测试自动化工具,自带API / web服务测试能力。它可以让你执行功能、回归、合规,以及基于HTTP和FTP通过WSDL接口的REST和SOAP web服务的负载测试和模拟。它也允许我们进行拒绝服务和渗透检查,以确保web服务的整体健康。此外,它还可以让你执行从端到端的测试,从Web UI,业务逻辑,到数据库和ETL,而无需编码。
支持字符串比较来验证API响应。
通过集成的bug跟踪工具,如JIRA,Mantis和FogBugz来帮助记录API缺陷。
用一个收发邮件设施生成可视化的日志和测试执行报告。
允许跨越多台机器和节点的分布式并行执行。
用Jenkins、Bamboo & Hudson提供持续集成。
支持数据驱动和关键字驱动测试。
官方网站:http://www.testing-whiz.com/
3.SOAPSonar
SOAPSonar为HTML、XML、SOAP、REST和JSON提供了全面的web服务测试。它通过对OASIS和W3C标准的开箱即用提供了功能、性能、合规性、互操作性和安全测试。
用XSD-mutation支持漏洞测试。
提供全面的WSDL和Schema解析。
用行为建模和多路同时负载事务来执行负载测试。
提供XML,DOC,XLS,PDF,RTF和RPT格式的报告。
与HP质量中心集成。
官方网站:http://www.crosschecknet.com/products/soapsonar.php
4.SOAtest
SOAtest是利用Parasoft测试验证API和API驱动应用程序的一个企业级工具。它对功能单元,集成,安全性,仿真,模拟,合规以及技术,如REST、JSON、MQ、JMS、TIBCO、HTTP和XML的负载测试提供了强健的支持。
提供端到端的测试。
支持120+协议/消息类型。
自带一个易于使用的界面。
帮助创建复杂,可扩展和可重用的测试,而无需编码。
支持连续集成测试。
官方网站:https://www.parasoft.com/product/soatest/
5.TestMaker
TestMaker是一个开源工具,通过PushToTest来测试和监测web,web服务和SOA应用程序的性能。它运行在Jython(用Java编写的Python)上。TestMaker可以重用Selenium测试,SoapUI测试,Sahi公司测试或任何用Groovy,Java,Python,PHP,Ruby和Perl写的测试到功能,负载和性能测试中。
对于功能、负载和性能测试使用命令行提示。
用标准的多窗口IDE提供一种直观的外观和感受。
提供一个监测仪表板来运行测试,并显示实时结果。
归功于Jython语言,因此允许访问所有的Java库和类。
官方网站:http://www.pushtotest.com/testmaker-open-source-testing
6.Postman
Postman是另一个API / web服务测试工具,它自带功能强大的HTTP客户端支持。它有一个易于使用的请求构建器,允许你编写测试用例和管理响应数据和响应时间,以便于API测试用例的高效测试和管理。
允许在一个叫Postman Collections的功能中收集和组织API。
促进协作和API数据以及团队控制的共享。
自带粘贴文本的功能,用于在命令行窗口创建无障碍测试。
允许在Postman界面内编写Boolean测试。
官方网站:https://www.getpostman.com/
7.vRest
vRest是一个专门用于测试,模拟,以及REST API和Web服务验证的工具。它还支持与第三方API或HTTP服务交互的web,移动和桌面应用程序的测试。
自带一个模拟服务器功能,可用于在几分钟内创建API模拟。
提供了一个Chrome扩展来录制和播放测试案例。
支持与用于服务器整合的Jenkins整合,以及与用于bug跟踪的Jira整合。
有利于角色和权限管理。
允许导出和引入测试用例和来自于外部工具,如Postman Collections、Swagger 2等的报告。
官方网站:https://vrest.io/
8.HttpMaster
HttpMaster是另一个用于REST web服务测试的专用工具。它可以帮助测试人员测试REST API的行为,并验证以如XML、JSON和HTML格式输出的数据。凭借其通用的HTTP工具,HttpMaster也可以帮助开发人员模拟客户活动和API应用程序的响应行为。
自带一个易于使用和优雅的用户界面,不需要高级技术技能。
使用如GET,POST,DELETE等的HTTP方法。
提供不同的验证类型和表达式来缓解测试。
对测试创建和执行使用命令行界面。
允许存储所有信息——API调用和项目数据到一个独立的空间。
官方网站:http://www.httpmaster.net/
9.Runscope
Runscope是一个简单的工具,用来测试和监控API的性能。它可以帮助你验证是web服务还是API返回了正确的数据,同时当API出问题时给出提示。Runscope还支持API和移动app的后端服务测试。
允许用动态数据为甚至更复杂的情况创建测试。
显示视觉效果丰富的指标和分析来发现问题。
集成如HipChat,Webhooks,Slack和PagerDuty的工具,以便于当API坏掉时发出通知。
允许重用和执行跨多个地点的测试。
方便在中心管理测试促进更好的团队协作。
官方网站:https://www.runscope.com/
10.Rapise
Rapise是一个健壮的自动化工具,有着强大和可扩展的功能。它基于一个开放和灵活的用于REST / SOAP网络服务的快速功能测试的体系结构。 Rapise还提供对web应用程序的支持,web应用程序用用Java,.NET,AJAX,Silverlight和Flash内置。
使用HTTP标准方法,如POST,GET,PUT和DELETE。
允许存储针对特定网络服务的原型请求。
包含内置REST定义的生成器和对象库。
自带强大的集成报告功能。
支持跨浏览器测试和并行执行。
官方网站:https://www.inflectra.com/Rapise/
11.WebInject
WebInject是一款用于自动化功能,验收和回归web和web服务测试的免费工具。它是一个命令行工具,基于Perl,简化了测试的执行,因为它不需要在命令提示符上花时间。此外,它没有类似用户接口的IDE,这意味着,测试是在WebInject UI之外写入的。它可以在有Perl解释器的平台上运行。
提供实时结果显示。
监视系统响应时间。
支持不同的用处——作为一个完整的测试框架,或作为一个独立的测试运行器。
生成HTML和XML格式的报告。
允许与其他系统集成,作为外部监督的插件。
官方网站:http://www.webinject.org/
12.Storm
最后,Storm是另一个CodePlex的开源工具,用来测试用Java或.NET编写的web服务。目前,它仅支持SOAP web服务。
允许测试来自于独立UI的多个web服务。
帮助编辑原始的SOAP请求。
允许调用包含复杂数据类型的web服务方法。
支持WCF app的测试。
官方网站:http://storm.codeplex.com/
当然,可用来测试web服务的工具还有很多。