标签:mamicode 增加 选择 second 上进 发送 基础上 模拟 形式
软件性能测试流程
一、性能测试、负载测试、压力测试的概念
1.性能测试:用一定的技术,使用的工具(LR、jmeter),找出或验证某些性能指标的测试 -----模拟N多个usert同时在使用软件,软件的性能。手工是无法实现的,只 能通过工具。(性能测试 比 功能测试、自动化测试的时间长)
找出:在项目、接口从来没有做过性能测试时,要获取性能指标作为基准值
验证:在项目、接口之前的性能测试指标的基础上,进行对比,查看性能时优化了还是变得更差了。
软件性能测试:指的是通过接口,向服务器发送请求,测服务器的性能情况。
2.广义软件性能测试:
负载测试:逐步增加用户并发数,发起请求,找到系统的拐点区间。
关键字:逐步加压 (没有时间要求)
举例:系统做并发测试,60并发,ok;70并发,ok;90并发,ok;100并发的时候,系统出现异常
那么系统的拐点区间就是90-100之间。可以一个一个用户阶梯形式增加用户数,找到一个确切的值,作为拐点,就是最大并发数。
用最大并发数,就可以得出响应时间、吞吐量、、、、、
压力测试:通过一定的并发用户数,持续比较长的时间请求,查看服务器的稳定性。
关键字:比较大的压力+持续长的时间(X*24)
举例:30并发持续运行X小时(以前标准:一般都是24小时的倍数;现在企业迭代速度很快,一般是小时的倍数,晚上进行测试,12小时,当然可以依据项目情 况,进行压力时间的加长)
注意:压力测试主要是测试系统的稳定性,刚开始做压力测试,可以选取最大并发数的40%以下的并发数,运行24小时;稳定的话,可以选择最大并发数的40-50%,作为并发数,运行较长时间;验证系统的稳定性。
所以,压力测试,一般不会去选最大并发数去运行较长时间,这个并发数,系统很容易宕机。(好比:淘宝也不是天天双11,所以稳定性测试,也是根据平时用户的访问量进行压力测试,不会用双11的最大并发数)
负载测试,压力测试、跟性能测试的区别:
性能测试:找出或者验证某个值,对应的性能指标值
负载测试:找的是并发用户数的区间范围
压力测试:不是找指标,是找稳定性
测试步骤:先负载测试,找出最大并发数,再进行性能,再进行压力测试。
企业中所说的:
性能测试:负载测试+性能测试 --->测试报告
压测:负载测试(得出并发区间)+性能测试(得出性能指标),最后得出性能测试报告。
负载测试:负载测试+性能测试 -->测试报告
生产环境,服务器不稳定,宕机时有发生,让做的压力测试:是指负载测试+性能测试+压力测试--->测试报告
二、性能测试的前提
1.性能测试的必要性研究----关键项评估
2.可测性---可以量化为性能指标值
3.性能测试的基本原则:
①首先 单接口 再多接口
②然后,多接口构成业务/模块
③然后,多业务混合
④然后,再系统
⑤然后,全链路
4.独立服务器
性能测试有不稳定性,如果功能、性能都在一个服务器,性能测试出现宕机,功能测试就无法正常进行。
5.独立网络(有线)
性能测试,大量数据传输会占用带宽,如果不是独立网络,占用比较高,别人就无法正常使用网络。
如果是共享的网络,响应时间会相会影响
三、性能测试的指标
1.并发 :同时向服务器发起请求
狭义:同一时间做相同的事情
广义:同一时间做不同的事情,混合场景
并发数:单位时间内向服务器发起请求的用户数 Virtual user
并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数
--系统用户数:只要访问过系统的用户,可能含一次性访问的用户
--在线用户数:当前正访问系统的用户,不一定有压力(只在线,不操作 / 在线并操作才是并发用户数)
响应时间:从发起请求到收到请求的响应时间 = t1 + t2 + t3 + t4
---网络传输时间 t1,t4
---服务器处理时间 t2,t3
TPS (Transaction per second) :表示服务器每秒处理的事务数 ---最主要的性能指标,是服务器的一个综合能力的体现
服务器处理事务数
qps:querys per second 每秒查询率
事务 是 包含查询的(查询数据库,查询缓存等等)
吞吐量(吞吐率) 事务/s,KB/s, ------衡量网络的重要指标
吞吐量 ---事物数
吞吐率---数据量
资源利用率---靠监控
资源:cpu、内存、磁盘、i/o
标签:mamicode 增加 选择 second 上进 发送 基础上 模拟 形式
原文地址:https://www.cnblogs.com/ananmy/p/13710982.html