什么是可伸缩性测试?通过示例学习

可扩展性测试

可扩展性测试是一种非功能性测试方法,用于衡量系统或网络在用户请求数量增加或减少时的性能。可扩展性测试的目的是确保系统能够处理预计的用户流量、数据量、事务计数频率等增加。它测试系统满足不断增长需求的能力。

它也被称为性能测试,因此,它侧重于应用程序部署到更大系统或在过载下测试时的行为。在软件工程中,可扩展性测试旨在衡量应用程序何时停止扩展并找出其背后的原因。

为什么要进行可扩展性测试

  • 可扩展性测试让您确定您的应用程序如何随着工作负载的增加而扩展。
  • 确定Web应用程序的用户限制。
  • 确定负载下的客户端性能下降和最终用户体验。
  • 确定服务器端鲁棒性和性能下降。

Scalability Testing image

可扩展性测试要测试什么

以下是一些可扩展性测试属性

  • 响应时间
  • 屏幕切换
  • 吞吐量
  • 时间(会话时间、重启时间、打印时间、事务时间、任务执行时间)
  • 多用户下的性能测量
  • 每秒请求数、每秒事务数、每秒点击数
  • 多用户下的性能测量
  • 网络使用情况
  • CPU/内存使用情况
  • Web 服务器(每秒请求和响应)
  • 负载下的性能测量

可扩展性测试的测试策略

可扩展性测试的测试策略因所测试应用程序的类型而异。如果应用程序访问数据库,则测试参数将测试数据库大小与用户数量等之间的关系。

可扩展性测试的先决条件

  • 负载分布能力——检查负载测试工具是否能够从多台机器生成负载并从一个中心点进行控制。
  • 操作系统——检查负载生成代理和负载测试主站运行在什么操作系统
  • 处理器——检查虚拟用户代理和负载测试主站需要哪种类型的CPU
  • 内存——检查虚拟用户代理和负载测试主站需要多少内存

如何进行可扩展性测试

  1. 定义一个可重复的流程,用于在应用程序生命周期中执行可扩展性测试
  2. 确定可扩展性标准
  3. 列出运行负载测试所需的软件工具
  4. 设置测试环境并配置执行可扩展性测试所需的硬件
  5. 规划测试场景和可扩展性测试
  6. 创建并验证可视化脚本
  7. 创建并验证负载测试场景
  8. 执行测试
  9. 评估结果
  10. 生成所需报告

可扩展性测试计划

在实际创建测试之前,请制定详细的测试计划。这是确保测试符合应用程序要求的重要一步。

以下是为可扩展性测试创建明确测试计划的属性。

  • 脚本步骤:测试脚本应包含详细步骤,以确定用户将执行的确切操作。
  • 运行时数据:测试计划应确定与应用程序交互所需的任何运行时数据
  • 数据驱动测试:如果脚本在运行时需要不同的数据,您需要了解所有需要此数据的字段。

可扩展性测试与负载测试

可扩展性测试 负载测试
  • 它侧重于您的网站、软件、硬件和应用程序在系统规模或容量发生变化以满足不断增长的需求时的性能。
  • 负载测试侧重于在重负载下测试应用程序,以确定系统响应时间何时失效。

摘要

  • 它是一种软件测试类型,用于测试系统、网络或流程在系统规模/容量发生变化以满足不断增长的需求时的能力。
  • 可扩展性测试的目的是衡量应用程序何时停止扩展并找出其背后的原因
  • 可扩展性测试的测试策略因所测试应用程序的类型而异。