软件测试:性能、自动化与敏捷实践
1. 性能、负载、压力和可扩展性测试
1.1 资源监测工具
在性能测试中,可借助一些工具来监测硬件资源。例如,使用 shell 命令(如 top)或 PerfMon 工具来监测 CPU、内存、交换空间、磁盘 I/O 等。在网络层面,也有类似工具,像 NetScout。当然,也可以使用团队最熟悉的工具。比如在一个项目里,Janet 和一位程序员紧密合作创建测试。她依据客户对性能和负载的期望,协助程序员确定所需测试,程序员则使用 JUnit 实现自动化。之后,他们共同分析结果并反馈给客户。
1.2 性能基线的重要性
建立性能基线是评估性能的关键第一步。性能调优可能是个大工程,因此提供一个基线,以便将软件新版本的性能与之对比至关重要。即便当前性能并非首要关注点,也不应忽视它。获取性能基线有助于了解响应时间的变化趋势。例如,Lisa 所在公司的网站负载较小,他们对该网站进行了负载测试基线,这样随着网站发展,就能知晓性能受影响的情况。
1.3 性能基线测试结果示例
Lisa 的同事 Mike Busse 负责为管理退休计划的 Web 应用获取性能基线。他评估了负载测试工具,选用了 JMeter 并开展测试。测试模拟了逐步增加负载直至 100 个并发用户的情况,使用了三个针对常见用户活动的测试脚本,分别单独运行和一起运行。收集的数据包括:
- 事务的最大时间
- 繁忙连接的最大数量
- 事务最大时间与用户数量的关系图
- 事务最大时间达到 8 秒时系统中的用户数量
在报告结果时,对术语(如事务和连接)进行定义很重要,这样能让结果
超级会员免费看
订阅专栏 解锁全文
899

被折叠的 条评论
为什么被折叠?



