什么是 SoapUI?SoapUI 测试介绍
什么是 SOAP UI?
- SOAP UI 是一款领先的开源跨平台 API 测试 工具
- SOAPUI 允许测试人员对不同的 Web API 执行自动化功能、回归、合规性和负载测试。
- SOAPUI 支持所有标准协议和技术来测试各种 API。
- SOAPUI 界面简单,使技术和非技术用户都能无缝使用。
为什么使用 SOAPUI?
SOAPUI 不仅仅是一个功能性 Api 测试工具,它还允许我们执行性能和安全测试等非功能性测试。
让我们讨论 SOAPUI 的 5 个重要功能
1) 功能测试
- 一个强大的工具,允许测试人员在 SoapUI 中编写功能性 API 测试
- 支持拖放功能,加快脚本开发
- 支持测试调试,并允许测试人员开发数据驱动测试。
- 支持多环境 – 轻松切换 QA、开发和生产环境
- 允许高级脚本编写(测试人员可以根据场景开发自己的自定义代码)
2) 安全测试
- 能够执行全套漏洞扫描。
- 防止 SQL 注入以保护数据库
- 扫描由超大文档引起的堆栈溢出
- 扫描跨站脚本,这通常发生在消息中暴露服务参数时。
- 执行模糊测试扫描和边界扫描以避免服务出现异常行为。
3) 负载测试
- 将负载测试分发到任意数量的 loadUI 代理上。
- 轻松模拟高并发和真实世界的负载测试。
- 允许高级自定义报告以捕获性能参数。
- 允许端到端系统性能监控
4) 支持的协议/技术
SoapUI 具有最全面的协议支持
5) SOAP-与其他自动化工具集成
SoapUI 与流行工具集成良好
1) Maven
Apache Maven 是一款软件项目管理工具,可以从中央存储库管理项目的构建、报告和文档。Maven 还可以使用简单命令在 Maven Build 中执行 SOAPUI 测试。
2) HUDSON
HUDSON,一个基于 Java 的持续集成工具,并与 CVS、Subversion、Git、Perforce、Clearcase 和 RTC 等工具集成。SOAPUI 也与 HUDSON 集成,这有助于我们快速发现开发人员每次提交的错误。
3) JUnit
JUnit 是一个用 Java 构建的单元测试框架,它也可以控制 SOAPUI 的测试流程。
4) Apache – Ant
Apache Ant 是一个 Java 库,它是一个命令行工具,有助于构建软件。使用 SOAP UI 的命令行,我们可以在 ANT 自动化构建中执行测试。
SOAP UI 与 Selenium
让我们将 SoapUI 与 Selenium 进行比较
SOAP UI | Selenium |
---|---|
SOAP UI 不用于用户界面测试。它仅用于 WebAPI 或 WebService 测试 | Selenium 用于用户界面测试。 |
能够测试 Web 浏览器和 Web 服务器之间发送和接收的数据。可以测试 REST、SOAP 等协议/技术。 | Selenium 无法测试协议,但可以测试 UI 行为。 |
能够对上述技术执行功能、负载和安全测试。 | Selenium 只能执行功能测试。性能测试在一定程度上可行,因为我们可以跟踪与性能相关的执行时间,但无法测试多用户和多租户。 Selenium 当然不能用于安全测试。 |
它是协议依赖的,而不是浏览器依赖的。 | Selenium 依赖于浏览器功能。 |
SOAP UI 与 SOAP UI PRO
我们知道 SOAP UI 测试有两种版本,一种是 SOAP UI(开源版本),另一种是 SOAP UI PRO。让我们了解这两种版本之间的区别,我们还将讨论何时使用哪个版本。
功能 | SOAP UI(开源版本) | SOAP UI PRO |
支持的技术 | ||
SOAP/WSDL | ||
REST | ||
JMS | ||
AMF | ||
JDBC | ||
HTTP | ||
自动化 | ||
功能测试 | ||
负载测试 | ||
模拟服务 | ||
代码生成 | ||
命令行 | ||
Maven | ||
CI 和构建集成 | ||
一般功能 | ||
独立应用程序 | ||
Groovy 代码模板 | ||
多环境支持 | ||
浮动许可证 | ||
功能测试特性 | ||
WSDL 覆盖率 | ||
请求/响应覆盖率 | ||
消息断言 | ||
测试重构 | ||
运行多个测试 | ||
数据源驱动测试 | ||
脚本库 | ||
单元报告 | ||
手动测试步骤 | ||
安全测试特性 | ||
边界扫描 | ||
无效类型 | ||
SQL 注入 | ||
XPath 注入 | ||
XML 炸弹 | ||
模糊测试扫描 | ||
跨站脚本 | ||
可配置扫描 | ||
报表 | ||
负载测试特性 | ||
从功能测试快速创建负载测试 | ||
可配置的负载策略 | ||
负载测试断言 | ||
实时统计 | ||
性能监控 | ||
统计导出 | ||
使用 Groovy 脚本进行设置/拆卸 | ||
loadUI 集成 | ||
报表 | ||
报告 | ||
JUnit 报告 | ||
报告数据导出 | ||
WSDL HTML 报告 | ||
WSDL 覆盖率 | ||
测试套件覆盖率 | ||
测试用例覆盖率 | ||
断言覆盖率 | ||
消息记录覆盖率 |
何时使用 SoapUI PRO 版本?
- 数据驱动:PRO 版本,帮助我们使用外部数据源,如文本文件、XML、Groovy、Excel 文件和数据库。这有助于我们通过上述来源驱动的各种输入来扩展我们的测试。
- 测试覆盖率:PRO 版本允许测试人员获取统计报告,显示哪些功能得到了充分测试,以及哪些区域未得到彻底测试。详细报告甚至能精确指出哪些部分未测试以及哪些部分未断言。
- 测试调试:您可以运行测试到该断点并查看 SoapUI 属性的当前值。测试调试界面简化了测试流程、变量、属性、请求、上下文等方面的跟踪,使测试创建和改进更加流畅。
- 多环境支持:使用开发、质量保证、预生产环境等多个环境,对于开源版本来说可能是一项艰巨的任务,因为测试人员需要更改端点才能在不同环境中执行。PRO 版本帮助我们无缝切换环境。
- 报告:PRO 版本加载了许多自定义报告的选项,可以生成项目、测试套件、测试用例或负载测试级别的详细报告。它还可以生成各种格式的报告,如 PDF、HTML、Word 或 Excel。
- 安全测试:SOAPUI 的两个版本都具备测试 XML 炸弹、SQL 注入、模糊测试、跨站脚本等安全漏洞的能力。然而,只有 SOAP UI PRO 能够通过安全测试生成器,只需点击鼠标即可执行漏洞扫描。
- SQL Builder:对于非技术测试人员来说,编写复杂的 SQL 查询可能很麻烦。SOAP UI PRO 的 SQL Builder 可以帮助他们使用 SQL Builder 的图形界面创建 SQL 查询。此功能有助于我们加快数据驱动测试的实施。
- 支持:作为许可协议的一部分,SOAP UI Pro 除了在线论坛支持外,还提供独家支持。
我们将使用 SoapUI 的开源版本进行培训。
SOAP UI 工具 – 版本时间线
主要版本 | 发布说明 | 发布日期 |
---|---|---|
V1.0 | 初始版本 | 16-10-2005 |
v1.5 | 负载测试版本 | 06-04-2006 |
v1.6 | 工具版本 | 12-11-2006 |
V1.7 | 专业版发布 | 10-04-2007 |
v2.0 | 覆盖率发布 | 12-12-2007 |
v2.5 | REST 发布 | 18-11-2008 |
v3.0 | 报告发布 | 09-07-2009 |
v3.5 | 协议发布 | 01-03-2010 |
v3.6 | LoadUI 发布 | 14-09-2010 |
v4.0 | 安全发布 | 14-06-2011 |
v4.5 | Big Ears 发布 | 28-03-2012 |
v5.1 | 插入式版本 | 05-09-2014 |
v.5.2 | 主要新功能发布 | 02-07-2015 |
v.5.3 | 捆绑插件发布 | 05-12-2016 |