性能测试
概念
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。 中国软件评测中
心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务
器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈
的预测。
客户端:
应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并
发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
网络端:
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用
性能分析和网络预测。
1) 网络应用性能分析网络应用性能分析的目的是准确展示网络带宽、延迟、负载和 TCP 端口的
变化是如何影响用户的响应时间的。
2) 网络应用性能监控在系统试运行之后,需要及时准确地了解网络上正在发生什么事情;
3) 网络预测考虑到系统未来发展的扩展性,预测网络流量的变化、网络结构的变化对用户系统的
影响非常重要。预测网络设备迁移和网络设备升级对整个网络的影响。
目的
目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈
优化软件,最后起到优化系统的目的。
包括以下几个方面
1) 评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并
帮助作出决策。
2) 识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶
颈或薄弱的地方。
3) 系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
4) 检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中
的隐含的问题或冲突。
5) 验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估
系统稳定性和可靠性是否满足要求的唯一方法。
测试类型
性能测试中包含以下测试类型:
1) 基准测试 - 比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。
2) 争用测试:- 核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否
可以接受。
3) 性能配置 - 核实在操作条件保持不变的情况下,测试对象在使用不同配置时其性能行为的可接
受性。
4) 负载测试- 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数
等)下性能行为的可接受性。