性能测试流程-新手须知

一 需求分析

  1. 项目背景:根据产品需求
  2. 测试范围:性能测试范围,哪些接口需要性能测试,测试需要明确
  3. 业务逻辑 & 数据流向:数据怎么流转,缓存在哪,怎么缓存
  4. 系统架构:单体,分布式,集群,主从数据库,读写分离等等,找开发,运维搞清楚架构
  5. 配置信息:环境配置,CPU,几核,缓存服务器配置,数据库服务配置
  6. 测试数据量(量级要一致):具体要测试的数据量,和生产环境保持一致
  7. 外部依赖:第三方接口,系统,需要考虑是否屏蔽,代码中做Mock(开发)
  8. 系统使用场景,业务比例:设计测试用例
  9. 日常业务量:可以推算指标
  10. 预期指标:
  11. 上线时间

二 测试计划

  1. 项目描述
  2. 业务模型及性能指标
  3. 测试环境说明
  4. 测试资源:用了多少服务器
  5. 测试方法以及场景设计原则:
    • 基准测试:用1个并发用户去测试3分钟(10000次),目的是为了拿到一个性能基线数据
    • 单交易负载测试(单接口/单业务):用多个并发用户取测试,目的是为了找到性能拐点,或找到最高支持并发
    • 混合场景测试:把多个接口、多个业务按照一定的比例同时去执行压测,如30个并发测试登录,70个测查询
    • 高可用性测试:针对集群环境下,单个节点出现异常(宕机、进程崩溃),其他节点是否能正常处理业务
    • 异常场景测试:在环境、数据出现异常的情况下,对接口、业务进行性能测试,比如网络丢包、延迟
    • 稳定性测试:用户多并发,长时间对接口、业务做性能测试,通常时间>12小时
    • 其他特殊场景
  6. 测试进度安排及测试准则

三 环境搭建

注意要点:

  1. 测试机器硬件配置尽量和线上一致
  2. 系统版本与线上一致
  3. 测试环境部署线上最小单元模块:条件局限,不能做集群
  4. 应用、中间件、数据库配置要与线上一致
  5. 其他特殊配置

四 数据构造

测试数据分为两部分:基础数据和参数化数据

  • 基础数据:数据库表中存在的数据量,最好与生产环境单表数据量保持一致
  • 参数化数据:在测试脚本中,真是使用的数据,通常会从基础数据中选用一小部分(日活用户)

通常采用以下三种方法进行构造

  • 业务接口
    • 适合数据表关系复杂
    • 优点:数据完整性比较好
  • 存储过程
    • 适合表数量少,简单
    • 优点:速度最快
  • 脚本导入
    • 适合数据逻辑复杂
    • 自由度比较高

五 脚本编写

  1. 选择工具(Loadrunner、Jmeter、Locust等)
  2. 选择协议(Http、TCP、RPC)
  3. 参数化
  4. 关联
  5. 检查点
  6. 事务判断

六 压测执行

  1. 分布式执行
  2. 监控
    • Linux
    • Jvm
    • 数据库
  3. 收集测试结果
  4. 数据分析
  5. 瓶颈定位

七 调优回归

  1. 性能调优需要整个团队完成
  2. 反复尝试
  3. 回归验证
  4. 监控工具
  5. 全链路排查
  6. 日志分析
  7. 模块隔离

八 测试报告

  1. 概述
  2. 测试环境
  3. 结果与分析
  4. 调优说明
  5. 项目时间表
  6. 结论
  7. 建议

九 性能测试工具

  1. Loadrunner(功能强大、重量级、商业软件)
  2. Jmeter(小巧灵活、轻量级、开源)
  3. Locust(Python开源框架):所有的东西都需要自己写代码
  4. Ngrinder( 开源压测平台)
  5. 阿里云压测平台、metersphere平台

十 现状和趋势

  1. 性能自动化、平台化
  2. 测试工具多样性、开源、二次开发
  3. 线上线下相结合,线上发现问题,线下调优

1.我是文本 红色red
2.我是文本 蓝色
3.我是文本 粉红
4.我是文本 紫色
5.我是文本 黑色
6.我是文本 橙色
7.我是文本 灰色
8.我是文本 绿色
8.我是文本 红色

····································一起学习鸭····································
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值