一、性能测试有几种类型,它们之间什么关系?
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,常见的几种性能测试如下:
1、负载测试(可置性测试)
定义:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和状态。可以找到系统的处理极限,为系统调优提供数据
特点:
1):该方法主要目的是找到系统处理能力的极限
2):该方法在给定的测试环境下进行,通常需要考虑被测系统的业务压力量和典型场景
3):该方法一般用来了解系统的性能容量,或者是配合性能调优来使用
性能容量:系统在保证一定响应时间的情况下能够允许多少并发用户的访问
2、压力测试
定义:系统在一定饱和状态下,例如CPU、内存等饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
1)该方法的主要目的是检查系统处于压力情况下是应用的性能表现
该方法通过增加访问压力,是系统资源使用保持在一定水平,检验此时应用的表现,重点在于有误出错信息产生,系统对应用的响应时间等
2)该方法一般通过模拟负载等方法,使得系统的资源使用达到较高的水平
3、验收性能测试
定义:特定条件下验证系统的能力状况
特点:
1)该方法主要目的是验证系统是否具有系统宣称的能力。
方法包括:确定用户场景,给出需要关注的性能指标,测试执行,测试分析几个步骤
2)该方法需要事先了解被测系统的典型场景,并具有确定的性能目标
3)这种方法要求在已确定的环境下进行
4、配置测试
定义:通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则
特点:
1)该方法主要目的是了解各种不同因素对系统系能影响的程度,从而判断出最值得进行的调优操作
2)该方法一般在对系统性能状况有初步了解后进行
需要在确定的环境、操作步骤和压力条件下进行
3)该方法一般用于性能调优和规划能力
5、并发测试
定义:模拟多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题
特点:
1)该方法主要目的是发现系统中可能存在的并发访问时的问题
2)该方法主要关注系统中可能存在的并发问题。比如:内存泄漏、线程锁和资源争用等问题
3)该方法可以在开发的各个阶段使用,需要相关的测试工具的配合和支持
常用工具:商业软件loadrunner:功能完整强大,内存占用大,需要收费
开源工具jmeter:开源免费,自由,操作较简单,能辅助完成日常的一些测试工作
6、可靠性测试
定义:给系统施加一定的业务压力,让其持续运行一段时间,测试在这种条件下能否稳定运行
特点:
1)该方法的主要目的是验证系统是否支持长期稳定的运行
2)该方法需要在压力下持续一段时间的运行
3)测试过程中需要关注系统的运行情况
比如:内存使用或者其他资源的使用以及响应时间有无明显变化
7、失效恢复测试
针对有多余备份和负载均衡的系统设计
定义:检测如果系统局部发生故障,系统能否继续使用
特点:
1)该方法主要目的是验证局部故障下系统能否继续使用
2)该方法需要指出:问题发生时“能支持多少用户访问”和“采取何种应急措施”
一般只有对系统持续运行能力有明确指标的系统才需要该类型测试
二、使用 JMeter开展性能测试
1、下载安装jmeter
2、打开jmeter
3、添加http
4、添加监听器
5、多组负载测试
线程为100
线程为500
线程为1000
三、小结
测试结果与网络状况有一定的关系
参考资料:互联网