SoapUI - 性能测试



性能测试是 Web 服务测试中最常见且重要的检查点之一。性能测试定义为人工创建或模拟负载,并衡量环境如何处理该负载。

这意味着它不一定要是系统在高负载下的性能,也可以是其在基本负载或预期负载下的性能。它甚至不必是结构化的、自动化的或在 SoapUI 等测试软件中创建的;只是快速地反复刷新网页也是一种负载测试。

性能测试类型

以下是性能测试的类型:

  • 基准测试 - 检查系统在预期或正常负载下的性能,并创建一个基线,其他类型的测试可以与之进行比较。

  • 负载测试 - 包括增加负载并观察系统在更高负载下的行为。在负载测试期间,用户可以监控响应时间、吞吐量、服务器状态等等。负载测试的目标不是破坏目标环境。

  • 浸泡测试 - 测试的目标是确保在较长时间内不会出现任何意外行为。

  • 可扩展性测试 - 可扩展性测试非常类似于负载测试,但是它不是增加请求数量,而是增加发送请求的大小或复杂性。例如,发送大型请求、大型附件或嵌套深度较大的请求。

Web 服务的关键方面

Web 服务性能的独特特性突出了两个方面。

第一个方面

在服务器端,正在进行 XML/JSON 处理,包括 XML/JSON 解析和序列化。通常首先失败的是有效负载的处理。失败的原因可能是多方面的;它可能存在于平台、应用程序服务器的弱点中,或者可能是由于不必要复杂的 WSDL 导致的实现问题。它也可能意味着代码正在向响应速度较慢的数据库发出请求。

测试方面 - 解析 XML/JSON 有效负载的复杂性意味着需要额外关注可扩展性测试。这也意味着应该仔细检查 WSDL。如果请求和响应很复杂或很大,或者包含大型附件,则应重点强调复杂性,并观察其在负载下的行为。

第二个方面

另一个经常遇到的因素是安全性。HTTPS 后面的安全站点性能明显较低,在 Web 服务测试中,我们可以在 HTTP 安全性层上添加一层 WSSecurity,从而进一步降低性能。

测试方面 - 安全性问题意味着需要专注于执行安全请求的测试。如果整个 Web 服务都是安全的,则负载测试更为重要,尤其是在使用 WS-Security 和令牌处理的情况下。

广告