性能测试总体认知

性能测试技能树

  • 开发语言
  • 操做系统
  • 数据库
  • 测试工具
  • 网络知识
  • 业务知识

性能测试的目的

  • 发现性能瓶颈

性能测试的分类

概念

  • 性能测试时一个很是普遍的概念,包括不少方面的测试,也可称之为非功能测试。
  • 自动化测试属于功能测试的范围,因为其测试方法要求测试人员拥有必定的代码能力,因此被单独分红一个测试模块。

具体分类(测试范围)

  • 负载测试:经过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于等于某个值,如 CPU 使用率小于等于80%。
  • 压力测试:经过逐步加压的方法,使得系统某些资源达到饱和,甚至失效的状态,简单粗暴的解释就是什么条件能把系统压崩溃。
  • 并发测试:在同一时间内,多个虚拟用户同时访问同一模块、同一功能,一般的测试方法时设置集合点。
  • 容量测试:一般是指数据库层面的,目标是获取数据库的最佳容量的能力,又称之为容量预估。具体测试方法时在必定的并发用户,不一样的基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
  • 可靠性测试:又称之为稳定性测试或疲劳测试,是指系统在高压状况下,长时间的运行系统是否稳定。如 CPU 使用率在80%以上,7*24小时运行,系统是否稳定。
  • 异常测试:又称之为失败测试,是指系统架构方面的测试。如在负载均衡架构中,要测试宕机、节点挂掉等状况系统的反应。

性能测试的工做流程

需求分析 -> 性能指标制定 -> 脚本开发 -> 场景设置 -> 监控部署 -> 测试执行 -> 性能分析 -> 性能调优 -> 测试报告android

常见系统应用分层架构

  • 显示层(view):web、android、ios、H5
  • 逻辑控制层(controller):API
  • 数据存储层(model):MySQL、mongodb、redis

性能测试指标定义

  • 事务:从客户端发起一个或多个请求(这些请求组成一个完整的操做),到客户端接收到从服务器返回的响应。
  • TPS(Transaction Per Second):每秒钟系统可以处理的事务数。
  • 请求响应时间:从客户端发起的一个请求开始,到客户端接收到从服务器返回的响应,整个过程所耗费的时间。
  • 事务响应时间:事务多是由一个或多个请求组成的,事务响应时间主要是针对于用户的角度而言,好比转帐。
  • 并发定义:没有严格意义上的并发。并发总有前后,不管差距是1毫秒或者是1微秒,总有一个时间差。因此并发讲的是一个时间范围内,好比1秒内。
    • 并发举例:
      • 多用户在系统上进行同一操做,好比双十一时,你们都针对同一种商品进行秒杀;
      • 多用户在系统上进行不一样的操做,好比双十一时,你们针对不一样的商品进行秒杀,或者是你们有进行其余不一样的操做,好比商品浏览。
  • 并发用户数:同一时间内,对 系统发起请求的用户数量。
  • 吞吐量:一次性能测试过程当中给网络上传输的数据量的总和。
  • 吞吐率:单位时间内网络上传输的数据量。
    • 吞吐量 = 吞吐量/传输时间
  • 点击率:每秒钟用户像服务器提交的请求数。这个指标是web应用程序特有的一个指标,能够想象为每秒钟用户总共在页面上进行多少次点击动做,可是须要注意的是一次鼠标单击的操做后,客户端有可能像服务器发送了屡次请求。
  • 资源使用率:对不一样的系统资源的使用状况,如CPU、IO、内存。

性能测试的需求分析

分析的目的

  • 明确测试指标
  • 明确测试场景

分析场景

  • 新系统
    • 同行业比较
    • 业务预期
  • 老系统
    • 对比以往的用户使用行为以及用户量

性能测试工具对比

经常使用工具

  • LoadRunner
  • JMeter

对比

相关文章
相关标签/搜索