性能测试五大要点解析

作者:性能测试   发布时间:2021-09-18

任何应用程序的性能测试都有助于识别应用程序中的性能瓶颈,因此被认为对任何应用程序的成功都非常关键。

在性能测试中,我们不仅测量应用程序的响应时间,还测量其他几个质量属性,如稳定性、可靠性、健壮性、可扩展性、资源利用率等。

内容:

什么是性能测试?

性能测试是一种非功能性测试技术,其中在模拟的预期或高于预期的工作负载下评估应用程序的性能。


所以基本上在性能测试中,我们尝试使用一些性能测试工具(如 JMeter )来模拟真实世界的负载。这些工具帮助我们创建对应用程序执行不同操作的虚拟用户,从而模拟真实世界用户的操作。

性能测试的类型

负载测试

负载测试 是在预期负载下评估应用程序性能的一种性能测试。在负载测试中,我们评估不同的性能参数,例如 – 响应时间、服务器负载(即吞吐量)和负载测试执行期间观察到的错误率。

压力测试

压力测试 是一种性能测试,其中在远高于预期或预期负载的负载下评估应用程序的性能。这有助于测量应用程序的盈亏平衡点 - 应用程序无法正确响应的负载。

耐力测试

耐久性测试也称为“浸泡测试”。在耐久性测试中,被测应用需要承受 2-3 天的长时间持续负载。这有助于发现应用程序中的内存泄漏问题。

尖峰测试

尖峰测试包括使应用程序受到突然爆发的虚拟用户的影响。这有助于检查应用程序是否可以在并发用户数量突然激增后从任何问题中恢复。

体积测试

我们为应用程序提供大量数据。现在,这可以通过在数据库中插入大量数据来完成,也可以根据应用程序或功能——上传一个大文件进行处理

想要详细了解性能测试类型以及示例,请查看我们的教程 – 性能测试类型。

为什么需要性能测试?

  • 帮助检查应用程序的可靠性 进行
    不同类型的性能测试以检查应用程序是否可靠并提供正确和一致的输出。
    负载测试和耐久性测试等性能测试有助于评估在预定义时间(负载测试)或长时间(耐久性测试)预期工作负载下的系统正确性。

  • 有助于识别性能瓶颈
    性能测试有助于识别应用程序中降低系统速度的性能瓶颈。
    稍后,可以优化这些组件的性能,从而改进整个系统。

  • 帮助评估应用程序的可扩展性
    在使用不同数量的并发用户运行性能测试时,我们可以检查应用程序是否能够扩展到更多用户。
    这也有助于为系统找到足够的基础设施/服务器要求。

  • 有助于检查应用程序的健壮性
    通过压力测试,我们可以在高于预期的工作负载下检查应用程序的健壮性。
    这有助于了解应用程序可以处理并发用户而不会崩溃的上限或盈亏平衡点。

性能测试流程

性能测试的规划和执行需要一组不同的活动,这些活动对于每个性能测试都是通用的,而与我们使用的工具无关。以下是计划和执行负载测试的分步指南。

一、性能测试场景

首先,我们选择需要进行性能测试的测试场景。通常情况下,我们不会选择应用程序的所有功能测试场景,而是只选择量非常大的场景或用户数量相对较多的场景。示例测试场景可以是-

  • 启动应用程序

  • 思考时间

  • 输入有效凭据并单击登录按钮

  • 思考时间

  • 在主页上执行一些活动

  • 思考时间

  • 点击退出按钮

这里,思考时间或等待时间是用户在网页加载后浏览网页的时间;填写表单(如登录表单、用户注册表单、在搜索字段中输入数据等)所
花费的时间。该时间根据底层操作而变化,例如,提交大型表单时的思考时间可能超过 10 秒,而思考时间只需填写登录凭据即可,只需 2 到 3 秒。

2. 用户分布

一旦确定了场景,下一步就是用户分配。在这里,我们将用户分配到不同的场景。例如,在对电子邮件应用程序进行性能测试时,我们可以将用户分配到不同的场景,例如-

  • 用户阅读未读邮件场景 – 50% 的用户

  • 撰写电子邮件 – 30% 的用户

  • 删除电子邮件——18% 的用户

  • 用户注册 – 2% 的用户

3. 脚本编写

脚本是使用负载测试工具完成的,如 Load Runner、JMeter、Silk Performer 等。这些工具模拟用户执行的操作。我们编写了已识别的场景并根据用户分配完成将用户分配给它们。

4. 试运行

在使用预定义数量的用户实际开始负载测试之前,我们对应用程序进行试运行,为每个场景分配 1 或 2 个用户,并检查是否一切正常。

5. 运行测试并分析结果

在试运行并确保脚本正常工作后,我们开始进行实际的负载测试。负载测试可以执行预定义的时间或迭代。例如,可以为每个用户安排“n”分钟或“m”次迭代的负载测试。

负载测试执行后,分析其结果。一些开源工具可能没有很好的内置控制来解释测试结果。在这些情况下,可能需要使用插件或其他工具来包含更高级或图形直观的解释。

性能测试工具

在开始使用市场上可用的不同性能测试工具之前。让我们先看看选择性能测试工具时需要考虑的不同标准。

    1. 应用程序类型 ——选择工具时要考虑的基本事项之一是要测试的应用程序类型——网站、Web 服务——要测试的 REST/SOAP 或协议——HTTP、FTP、LDAP、JDBC 等。例如,对于 SOAP Web 服务的性能测试,我们可能更喜欢选择像 LoadUI 这样的工具,它是为 SOAP Web 服务的负载测试而定制的。

    2. 项目预算 ——根据分配给性能测试的预算,我们需要在不同的免费和付费工具之间进行选择。

    3. 测试特定要求 ——在选择测试工具时还要考虑性能测试的特定要求,例如可能需要对 10000 个用户进行负载测试,许多可用工具不能有效地支持这么多负载。因此,应选择能够有效执行性能测试要求的工具。

    4. 脚本编程专业 知识——任何编程语言的知识或任何类型的编程专业知识在选择工具时也很重要。虽然我们确实有一些工具可以简单地用于记录和播放原理,但其他工具确实需要相当多的编程知识。


本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.