性能测试的基础概念

性能测试的目的:发现性能瓶颈
1.性能测试概念:

性能测试是一个非常广泛的概念,包括很多发面的测试,也被称为非功能测试
具体分类:
负载测试:通过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于等于某个值,如CPU使用率小于等于80%
压力测试:通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态,简单粗暴的解释就是什么条件能把系统压崩溃
并发测试:在同一时间内,多个虚拟用户同时访问同意模块,同意功能,通常的测试方法是设置集合点
容量测试,通常是数据库层面,目标是获取数据库的最佳容量的能力
可靠性测试/稳定性测试/疲劳测试:在高压情况下,长时间运行系统是否稳定。

2.性能测试的工作流程:

性能测试的基础概念_第1张图片

1,需求分析
2,性能指标指定(什么样的标准满足我们现阶段的业务要求)
3,脚本开发
4,场景设置
5,监控部署(能够看到整个系统的运行情况)
6,测试执行,时间长的跑测试
7,性能分析(基于监控部署)
8,性能调优,手动调优查看测试工具生成的测试报告,可调优补充,—>分析—>测试执行
9,测试报告,敏捷时进行阶段性测试报告

3.常见系统应用分层架构

性能测试的基础概念_第2张图片

  1. 最外层:显示层view :web Android iOS h5
  2. 中间:逻辑控制层controller:Api
  3. 最里层:数据存储层model:mysql 、mongodb、 redis(运行速度最快)
    应用测试人员必须要了解分层架构,这样测试人员可以分块排查。时间充裕的话可以从底层到最外层的顺序排查。首先进行数据库测试,有问题就sql调优或数据库配置调优。数据库测好了,测api层,以此类推
4,性能指标的定义
  1. 事务:从客户端发起的一个或多个请求(这些请求组成一个完整的操作),到客户端接收到从服务器返回的响应。
    比如银行转账:
    从银行1发起转账请求给银行2,银行2返回转账成功,账户加上相应款项,
    银行1收到成功返回,更新数据库状态扣款。如果这个过程没有完成就断网了,这就不是一个事务
    TPS(Transaction Per Second):每秒钟系统能够处理的事务数,事务数并不等于请求数
  2. 请求响应时间:从客户端发起一个请求开始,到客户端接收到从服务器返回的响应,整个过程所耗费的时间(比如你输入用户名密码,然后等待返回登录是否成功的时间)
  3. 事务响应时间:事务可能是由一个或多个请求组成的,事务响应时间主要是针对于用户角度而言,如转账。
  4. 并发定义:没有严格意义的并发,因为总有时间差。所以讲并发讲的是一个时间范围内,比如一秒内。举例:多用户在系统进行同一操作,比如淘宝对同一商品进行秒杀。还有多用户在同一系统进行不同操作,如对不同商品进行秒杀,或者进行商品浏览。所以阐述报告时要描述清楚是什么场景。
  5. 并发用户数:同一单位时间内,对系统发起请求的用户数量。一般意义上都说的是同一秒内。
  6. 吞吐量:一次性能测试过程中网络上传输的数据量的总和。网络问题
  7. 吞吐率:单位时间内网络上创数的数据量。吞吐率=吞吐量/传输时间。
  8. 点击率:每秒钟用户向服务器提交的请求数。这个指标是web应用程序特有的,可以想象为每秒钟用户总共在页面上进行多次点击动作,但是需要注意的是,一次鼠标单击操作时,客户端有可能向服务端发送了多个请求
  9. 资源使用率:对不同资源的使用情况如cpu/内存/io
5,测能测试的需求分析:
  1. 分析目的:
  • 明确测试指标:约定好什么东西是什么意思,跟业务需求分析差不多
  • 明确测试场景:明确工作重点,哪些场景是需要发现性能问题的,比如注册,就没有啥意义,因为所有系统同一时间的注册人数变化不会很大。测试用例评审非常重要!
  1. 测试新系统怎么定指标:
  • 同行业比较
  • 了解自己产品的业务预期
    如果测试老系统怎么定指标:对比以往用户使用行为及用户量。比如分析用户增长趋势

你可能感兴趣的:(性能测试)