技术主题

什么是负载测试?

以问号为重点的信息技术项目图示

概述

当您的软件开发项目接近尾声时,有一项测试对了解其部署准备情况至关重要:负载测试。通过这种性能测试,您可以确定网络应用程序在正常和峰值负载条件下的表现,以及它的崩溃点(如果发生低于峰值负载条件的情况)。负载测试的核心是确认网络应用程序是否达到预期的性能目标或目的,这些目标或目的通常在服务水平协议(SLA)中确定。

依赖网络应用程序访问产品或服务的用户比以往任何时候都多,因此负载测试对于验证应用程序在实际负载情况下能否正常运行至关重要。负载测试不仅能降低软件失效的风险,还能降低用户因应用程序宕机而产生挫败感并完全放弃应用程序的风险--这可能会影响公司的底线。

如果您不熟悉负载测试,或者准备执行第一次负载测试,本指南将为您提供帮助。下面,我们将详细介绍负载测试的工作原理、成功执行负载测试的方法以及需要考虑的不同负载测试工具。

负载测试

负载测试如何进行?

通过专门的测试软件,负载测试会对网络应用程序施加模拟 "负载 "或需求,以确保其在运行期间保持稳定。在负载测试期间,测试软件将通过事务响应时间来测量网络应用程序的容量。如果您的应用程序的响应时间延长,或者在模拟流量达到一定水平时变得不稳定,那么您的软件很可能已经达到其运行能力的峰值--这意味着需要解决和实施这一软件瓶颈的解决方案。

通过负载测试,开发团队可以轻松地测量和分析以下内容:

  • 全程费率,尤其是支持高峰负荷条件所需的费率。
  • 资源利用水平。
  • 硬件环境性能,如 CPU 和 RAM。
  • 负载平衡器性能。
  • 并发问题。
  • 不同负载水平下的软件功能错误。
  • 软件设计缺陷。
  • 应用程序在崩溃前可处理的用户数量。

负载测试可帮助开发人员识别系统滞后、页面加载时间缓慢或在生产期间而非启动后访问应用程序时出现不同流量水平的崩溃等问题。负载测试的一个例子是,一家报税公司在所得税申报高峰期之前评估其网络应用程序的负载性能,以及由此导致的流量激增。


如何进行负载测试?

进行负载测试首先要确定网络应用目标,并选择最适合您需求的负载测试工具。下面,我们将介绍将负载测试成功纳入性能测试计划应遵循的步骤:

  1. 确定网络应用目标:作为负载测试流程的第一步,确定网络应用程序的预期范围和数量非常重要。问问自己在生产过程中应测试哪些关键功能,如响应时间、资源利用水平和最大用户负载。这将帮助您制定明确的指导原则,为测试流程提供依据。
  2. 概述用户旅程:在这一步中,重要的是概述用户如何与网络应用进行交互或如何浏览网络应用。如果适用,请利用企业可能使用的任何应用程序性能监控工具 (APM) 中的监控数据。这将帮助您在测试过程中关注关键应用程序流程和性能指标。
  3. 选择负载测试工具:一定要选择易于使用和扩展、能提供准确结果并能与企业使用的其他工具无缝集成的负载测试工具。虽然市场上有多种负载测试工具,但OpenText™ Performance Engineering支持对最广泛的协议、技术和应用环境进行负载测试,并允许使用最少的硬件运行大规模测试。

负载测试最佳实践

选定负载测试工具后,就可以开始实际测试过程了。需要考虑的几个最重要的负载测试最佳实践包括

  • 每一步都要考虑最终用户的体验:这意味着您应根据不同的部署、浏览器和设备创建现实的测试用例或场景(包括正面和负面)。此外,请记住真实的最终用户往往是不可预测的,因此在设置负载测试时应尽量考虑到可变性。
  • 制定切合实际的基准:运行初始测试以建立准确的性能基准。您还可以利用 APM 中已有的数据来建立基准,例如浏览器和设备等用户驱动数据,或第一个字节所需时间 (TTFB) 等系统数据。如果某些应用程序功能偏离了基准,您就能更好地了解开发人员需要关注代码的哪些方面。
  • 尽早定期运行负载测试:尽早并定期运行负载测试--而不是等到软件开发项目接近完成时--可以帮助开发人员在整个网络应用程序生产生命周期中快速查找并修复编码问题。

负载测试与压力测试

负载测试和压力测试都是软件性能测试流程的一部分--不过,它们分别侧重于网络应用程序性能的不同方面。负载测试用于确定应用程序在正常和峰值负载条件下的表现,而压力测试则用于确定应用程序在超出正常或峰值负载条件下的表现,以及恢复到正常状态后的响应。


利用LoadRunner 系列轻松部署负载测试

对于同地测试团队,请使用OpenText™ LoadRunner™ Professional。它简化了负载测试,有助于更快地发现异常。对于大规模负载测试,我们提供OpenText™ LoadRunner™ Enterprise,它允许分布在全球各地的开发团队从一个集中的仪表板上协作进行负载性能测试。此外,我们还提供OpenText™ LoadRunner™ Cloud(可高度扩展的基于云的负载测试平台,无需部署和管理物理基础设施)和OpenText™ LoadRunner™ Developer(允许开发人员和开发测试人员进行左移性能测试)。

立即了解高性能工程产品如何让您的性能测试流程受益。


我们能提供什么帮助?

脚注