💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 什么是可伸缩性测试? 通过示例学习 > 原文: [https://www.guru99.com/scalability-testing.html](https://www.guru99.com/scalability-testing.html) ## 什么是可伸缩性测试? **可伸缩性测试**是一项非功能性测试,用于在按比例放大或缩小用户请求时测量网络或系统的性能。 可伸缩性测试的目的是确保应用程序可以处理预计的用户流量,数据量,事务计数频率等方面的增长。它测试系统,流程和数据库的能力以满足不断增长的需求。 它也称为性能测试,因此,它专注于应用程序在部署到较大系统上或在超负荷下进行测试时的行为。 在软件工程中,可伸缩性测试用于测量应用程序在什么时候停止扩展并确定其背后的原因。 ## 为什么要进行可伸缩性测试 * 可伸缩性测试使您可以确定应用程序如何随着工作量的增加而扩展。 * 确定 Web 应用程序的用户限制。 * 确定负载下降时的客户端降级和最终用户体验。 * 确定服务器端的健壮性和降级。 ![Scalability Testing image](https://img.kancloud.cn/e7/32/e732fd7b1c9b5a47b44420754160390e_256x256.png) ## 可伸缩性测试中要测试的内容 以下是一些可伸缩性测试属性: * 响应时间 * 屏幕过渡 * 通量 * 时间(会话时间,重新启动时间,打印时间,事务处理时间,任务执行时间) * 与许多用户进行绩效评估 * 每秒请求,每秒事务,每秒点击 * 与许多用户进行绩效评估 * 网络使用 * CPU /内存使用率 * Web 服务器(每秒的请求和响应) * 负载下的性能测量 ## 可伸缩性测试的测试策略 可伸缩性测试的测试策略在要测试的应用程序类型方面有所不同。 如果应用程序访问数据库,则测试参数将测试与用户数量有关的数据库大小,等等。 ### 可伸缩性测试的前提条件 * **负载分配功能**-检查负载测试工具是否允许从多台机器生成负载并从一个中心点进行控制。 * **操作系统-**检查负载生成代理和负载测试主机在哪些操作系统下运行 * **处理器**-检查虚拟用户代理和负载测试主机需要哪种类型的 CPU * **内存**-检查虚拟用户代理和负载测试主机的内存量是否足够 ### 如何进行可伸缩性测试 1. 定义一个在整个应用程序生命周期中执行可伸缩性测试可重复的过程 2. 确定可伸缩性标准 3. 入围运行负载测试所需的软件工具 4. 设置测试环境并配置执行可伸缩性测试所需的硬件 5. 计划测试方案以及可伸缩性测试 6. 创建并验证可视脚本 7. 创建并验证负载测试方案 8. 执行测试 9. 评估结果 10. 生成所需的报告 ### 可扩展性测试计划 在实际创建测试之前,请制定详细的测试计划。 确保测试符合应用程序要求是重要的一步。 以下是为可伸缩性测试创建定义明确的[测试计划](/what-everybody-ought-to-know-about-test-planing.html)的属性。 * **脚本步骤**:测试脚本应具有详细的步骤,以确定用户将执行的确切操作。 * **运行时数据**:测试计划应确定与应用程序交互所需的任何运行时数据 * **数据驱动测试**:如果脚本在运行时需要不同的数据,则需要了解所有需要此数据的字段。 ## 可伸缩性测试与负载测试 | <center>可扩展性测试</center> | <center>负载测试</center> | | * 当系统的大小或容量进行了更改以满足不断增长的需求时,它专注于网站,软件,硬件和应用程序的性能。 | * [负载测试](/load-testing-tutorial.html) 专注于在重负载下测试应用程序,以确定系统响应时间在什么时候失败。 | **摘要:** * 这是一种软件测试,用于在更改系统大小/容量以满足不断增长的需求时测试系统,网络或进程的能力。 * 可伸缩性测试的思想是衡量应用程序在什么时候停止扩展并确定其背后的原因 * 可伸缩性测试的测试策略在要测试的应用程序类型方面有所不同。