性能:就是软件质量属性中的“效率"特性
效率特性:
●时间特性:指系统处理用户请求的响应时间
●资源特性:指系统在运行过程中,系统资源的消耗情况
概念:
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程就是性能测试。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
2.3.1焦点不一样
●功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向) ;
●性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足(时间、资源);
2.3.2关系
●功能测试和性能测试是相辅相成的,对于- -款优秀的软件产品来讲,它们是不可减少的2个重要测试环节;
●注意:一般新项目中,先功能测试通过后,再进行性能测试。
基准测试: .
●狭义上讲;也是单度户测试,测试环境确定以后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。(进行基础的数据采集)
●广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立- 一个己知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行- -次基准测试以确定那些变化对性能的影响。
基准测试数据的用途:
说明:
负载:指向服务器发送的请求数量,请求越多,负载越高
注意:负载测试关注的重点是逐步增加压力
说明:
性能测试中,测试策略其实有很多种,但是掌握基础的用法后,其他不同名称的测试策略只是基础用法的一个变形用法。
●并发测试:并发测试是指在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。如;抢红包、抢购、秒杀活动
●压力测试:压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
●容量测试:关注软件的极限压力下的各个极限参数值,例如:最大TPS, 最大连接数,最大并发数,最多数据条数等。
说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。
组成:响应时间=网络时间+应用程序处理时间
客户端发送请求,到服务器收到响应,过程中所经历的全部时间,都是响应时间。
响应时间=应用程序处理时间(A1+A2+A3) + 网络传输时间(N1+N2+N3+N4)
说明:并发测试的用户数
●系统用户数:系统注册的总用户数据
●在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
●并发用户数:某一物理时刻同时向系统提交请求的用户数
说明:吞吐量(Throughput) 指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力
注意:
吞吐量英文为Throughput,单位时间内,系统处理客户端请求的数量。
衡量服务器性能好坏的直接指标,从不同维度来描述:
●业务维度:业务数/秒,业务数/小时,业务数/天
●网络维度:字节数秒,字节数1小时,字节数/天
●技术维度:TPS (每秒事务数)、QPS (每秒请求数)
TPS
说明:TransactionsPerSecond,每秒事务数(单位时间内系统处理的客户端请求的事务次数)
计算:TPS =并发数/平均响应时间
事务:就是业务请求,对应一个或者多个操作。
一个事务通常指的是界面上的一个操作。一个事务可以包含一个或者多个接口请求。
QPS
说明:QPS(Query Per Second)每秒查询数
应用:控制服务器每秒处理指定请求数(如:控制服务器达到每秒B0QPS,服务器的性能各项性能指标是否正常。(服务器处理能力一个重要指标)
对于登录事务而言,当TPS为10时,服务器的QPS也是10
对于支付事务而言,当TPS为10时,服务器的QPS就是30
说明:点击数是衡量Web服务器处理能力的-一个重要指标。
提示:
注意:只有web项目才有此指标。
说明:错误率指系统在负载情况下,失败业务的概率。错误率= (失败业务数/业务总数)* 100%。
提示:
错误率木是功能有错误或者bug,指的是在系统高负载的情况下,业务失败的次数/业务的总次数* 100%
说明:是指系统各种资源的使用情况,–般用“资源的使用量/总的资源可用量x100%"形成资源利用率的数据。
提示:通常,没有特殊需求的话