性能测试的7个关键
可扩展性和更好的性能是开发商和运营商一直关注的话题。本文列出了关于性能测试的七个核心要点,以及每个要点需要考虑的因素。
测试环境的鉴定
我们需要确定软件应用程序的物理测试和生产环境。还需要确定测试团队用到的工具和资源。这里的环境、工具和资源指的是硬件、软件和网络的配置和设置。全面了解测试环境,可以更好的规划和设计本次测试。同时,在测试过程中也需要定期审核环境是否发生改变。
以下就是关于测试环境的重要因素:
- 硬件和机器配置
- 网络架构和用户位置
- 域名系统配置
- 软件安装
- 软件许可证
- 存储容量和数据量
- 日志级别
- 负载均衡
- 负载生成和监测工具
- 网络流量的量和类型
- 预定流程,更新和备份
- 与外部系统的交互
性能验收标准鉴定
在这里,我们需要确定或估计该应用程序的性能特性。性能稳定与否的主要因素是响应时间,资源利用率和吞吐量。
性能验收彼标准包含以下几个因素:
- 业务需求和责任
- 用户期望
- 行业标准和技术规范标准
- 服务级别协议(SLA)
- 资源利用率限制
- 负载模拟
- 预期负载条件
- 重压条件
- 性能指标
- 之前的版本
- 优化目标
- 安全性和可扩展性
- 进度,预算,资源和人员
计划和设计测试
这一步,你需要对测试的性能特点量化,并模拟真实的测试环境。
计划和设计测试应考虑如下的因素:
- 使用场景范围
- 使用场景对应的测试目标
- 最常见的使用场景
- 关键性能的使用场景
- 技术使用场景
- 涉众使用场景
- 使用场景高可见性
- 关键业务使用场景
配置测试环境
很多问题都源于网络、硬件、服务器操作系统和软件兼容性。因此,需要尽早开始配置测试环境。以防止这些问题的发生。在测试过程中需要定期更新配置。
配置测试环境考虑的关键因素如下:
- 确定达到瓶颈之前的最大载荷
- 验证系统时间与收集的数据资源同步
- 对不同的硬件组件,验证负载测试准确度
- 验证对服务器集群的负载测试准确度
- 通过检测服务器之间资源利用,验证负载分布
将测试设计实现
性能测试中最大的困难是,使用模拟数据进行测试不能与真实数据表现有差别。
执行测试需要考虑的因素如下:
- 确保提供测试数据的正确执行
- 确保事务确认的正确执行
- 确保信息隐藏字段和特殊数据的正确处理
- 验证关键性能指标
- 确保变量的请求参数在合适的数量
- 利用封装的测试脚本来测量请求的响应时间
- 与其为了匹配脚本而改变测试,不如更改脚本
- 评估结果和预期的差距
执行测试
执行测试用例需要用到工具、资源和环境。包括以下工作:
- 协调测试执行步骤
- 验证测试,配置和数据环境
- 执行测试
- 同时执行验证/监视脚本和数据
- 检查测试结果
- 对测试、测试数据、测试结果和相关的信息进行存档
- 验证日志记录活动时间
执行测试需要考虑的关键因素如下:
- 验证测试中得到的数据
- 验证使用数据的值,以模拟更逼真的业务场景
- 限制测试周期,每个周期之后进行检查
- 相同的测试执行多次,以确定造成差异的因素
- 观察执行测试中的异常行为
- 执行测试之前设置预警
- 不为负载生成执行额外的步骤
- 模拟增加和减少的时间段
分析、报告、复测
测试的目的不只是得到结果。我们需要数据分析和总结结论。
主要考虑的因素如下:
- 分析数据
- 分析和比较结果
- 修复之后,需要反复测试验证修复结果
- 分享测试结果,并提供原始数据
- 若与预期目标不符合,修改测试
- 小心保存测试数据,以防丢失
- 尽早及时的报告
- 报告的直观性和可视化
- 正确地整合数据,并有效地总结它们
- 测试中的报告包括优先级、问题和下一个测试周期
本文文字及图片出自 www.evget.com
你也许感兴趣的:
- 14 个 Python 高级功能
- 使用 Rust 真的能让软件更安全吗?
- 我是如何破解房东的锅炉的
- Python 的新 t-strings
- OpenAI 为什么要收购 Windsurf?
- 两年的 Rust 使用感悟
- 微软:Node.js 越来越多地被用于恶意软件分发和数据窃取
- 为什么没有像 BitTorrent 这样的 P2P 流媒体协议?
- Python 异步编程的 9 个级别
- Oracle:为后量子密码学做准备
你对本文的反应是: