JMeter记录篇1——性能测试基础(1)
性能测试的概念
性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试与压力测试都属于性能测试,两者可结合进行。
性能测试的目的
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件,最后起到优化系统的目的。性能测试包括以下几个方面:
• 评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策。
• 识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方。
• 系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能。
• 检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄漏引发的失败,揭示程序中隐含的问题或冲突。
• 验证稳定性、可靠性:在一个生产负荷下执行测试一定时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
性能测试的分类
性能测试包括负载测试、强度测试和容量测试等
• 负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发贴。
• 性能测试(Performance Testing): 模拟用户负载来测试系统在负载的情况下,系统的响应时间、吞吐率等指标是否满足性能要求
• 负载测试(Load Testing):在一定软硬件环境下,通过不断加大负载(不同虚拟用户数)来确定在满足性能指标情况下能够承受的最大用户数。可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。
• 压力/强度测试(Stress Testing):在一定的软硬件环境下,通过高负载的手段来使服务器资源处于极限状态,测试系统在极限状态下长时间运行是否稳定
• 容量测试(Volume Testing):容量测试确定系统可处理同时在线的最大用户数。
注:此文章参见《零成本实现web性能测试》+ 《全栈性能测试修炼宝典》