初识性能测试
Posted zhzyh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识性能测试相关的知识,希望对你有一定的参考价值。
性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。
- 负载测试:确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况。
- 压力测试:确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
都属于性能测试,两者可以结合进行。
性能测试的目的:
验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件。最后起到优化系统的目的
- 评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策。
- 识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方。s
- 系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能。
- 检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中隐含的问题及冲突。
- 验证稳定性(Resilience)、可靠性(Reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法
性能测试常见的分类:
- 负载测试:
- 通过测试系统在资源超负荷情况下的表现,来发现设计上的错误或验证系统的负载能力
- 在这种测试下,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下性能行为,以及持续正常运行能力
- 压力测试:
- 对系统不断的施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
- 容量测试:
- 确定系统可处理同时在线的最大用户数(在先最大用户数:是指不断的在和服务端进行数据的狡猾,而不是停止不动不进行任何操作的用户)
性能测试的常见指标:
对B/S架构的软件,关注Web服务器性能指标
- Avg Rps:平均每秒钟的响应次数 = 总请求次数/秒数
- Avg time to last byte per terstion(mster):平均每秒业务脚本的迭代次数
- Successful Rounds:成功的请求
- Falied Rounds:失败的请求
- Successful Hits:成功的点击次数
- Falied Hits:失败的点击次数
- Hits Per Second:每秒点击次数
- Successful Hits Per Second:每秒成功的点击次数
- Falied Hits Per Second:每秒失败的点击次数
- Attempted Connections:尝试连接数
- Throughput:吞吐量
对C/S架构的软件,由于软件后台通常为数据库,所以更注重数据库的测试指标
- User Connections:用户连接数,也就是数据库的连接数
- Number of Deadlocks:数据库死锁
- Butter Cache Hit:数据库Cache的命中数
在实际性能测试中,需要观察的性能指标并不限于以上的,需要根据实际情况做出选择和权衡,有些指标如
- CPU占用率
- 内存占用率
- 数据库连接池
- 等等
性能测试的基本流程
- 明确性能测试需求
- 制定性能测试方案
- 编写性能测试用例
- 执行性能测试用例
- 分析性能测试结果
- 生成性能测试报告
以上是关于初识性能测试的主要内容,如果未能解决你的问题,请参考以下文章