可扩展性测试
可伸缩性测试是一种非功能性测试方法,用于测量用户求数量增加或减少时系统或网络的性能。它测试了系统满足日益增长的需求的能力。
可伸缩性测试也被称为性能测试,因此,它关注的是应用程序在部署到更大的系统或在过载情况下进行测试时的行为。在软件工程中,可伸缩性测试是测量应用程序在什么时候停止伸缩,并确定其背后的原因。
为什么要进行可伸缩性测试
- 可伸缩性测试可以确定应用程序如何随着工作负载的增加而扩展。
- 确定Web应用程序的用户限制。
- 确定负载下的客户端降级和最终用户体验。
- 确定服务器端的健壮性和降级。

在可伸缩性测试中要测试什么
以下是一些可伸缩性测试属性:
- 响应时间
- 屏幕过渡
- 吞吐量
- 时间(会话时间、重启时间、打印时间、事务时间、任务执行时间)
- 对多个用户进行性能测量
- 每秒求数、每秒事务数、每秒点击数
- 对多个用户进行性能测量
- 网络使用情况
- CPU/内存使用率
- Web服务器(每秒的求和响应)
- 负载下的性能测量
可伸缩性测试的测试策略
根据正在测试的应用程序类型,可伸缩性测试的测试策略有所不同。如果应用程序访问数据库,则测试参数将测试与用户数量相关的数据库大小,等等。
可伸缩性测试的前提条件
- 负载分布能力-检查负载测试工具是否支持从多台机器生成负载并从一个中心点进行控制。
- 操作系统-检查负载生成代理和负载测试主机在哪些操作系统下运行
- 处理器-检查虚拟用户代理和负载测试主机需要哪种类型的CPU
- 内存-检查虚拟用户代理和负载测试主机需要多少内存
如何进行可伸缩性测试
- 定义在整个应用程序生命周期中执行可伸缩性测试的可重复流程
- 确定可伸缩性的标准
- 列出运行负载测试所需的软件工具
- 设置测试环境并配置执行可伸缩性测试所需的硬件
- 计划测试场景以及可伸缩性测试
- 创建并验证可视脚本
- 创建并验证负载测试方案
- 执行测试
- 评估结果
- 生成报告
可扩展性测试计划
在实际创建测试之前,制定详细的测试计划。确保测试符合应用要求是重要的一步。
以下是为可伸缩性测试创建定义明确的测试计划的属性。
- 脚本的步骤:测试脚本应该有一个确定用户将执行的确切操作的详细步骤。
- 运行时数据:测试计划应该确定与应用程序交互所需的任何运行时数据
- 数据驱动测试:如果脚本在运行时需要变化的数据,需要了解需要此数据的所有字段。
可伸缩性测试与负载测试
可扩展性测试 | 负载测试 |
---|---|
它侧重于网站、软件、硬件和应用程序在更改系统大小或容量以满足不断增长的需求时的性能。 | 负载测试侧重于在高负载下测试应用程序,以确定系统响应时间在什么时候失败。 |
总结:
- 可伸缩测试是一种软件测试,用于测试系统、网络或进程在系统大小/容量发生变化时的能力,以满足不断增长的需求。
- 可伸缩性测试背后的思想是测量应用程序在什么时候停止伸缩,并确定其背后的原因
- 根据正在测试的应用程序类型,可伸缩性测试的测试策略有所不同。