首页 > 我的课程 > 软件性能测试课程方案

课程适合人群:

  • 软件性能测试工程师
  • 本课程重点解答&解决:
  • 介绍性能测试的基本概念
  • 介绍高级性能测试技术
  • 介绍性能测试工具LoadRunner
  • 介绍性能测试工具JMeter
  • 介绍操作系统、JMV、数据库等层面的监控
  • 简单介绍性能的优化
  • 本课程亮点+核心价值介绍:
  • 从各个层面分析性能测试
  • 详细介绍JMeter的使用
  • 详细介绍操作系统、JMV、数据库等层面的监控
  • 课长:
  • 5天
  •   
  • 大纲内容

    1 软件性能测试知识
        1.1 软件性能测试基本知识
            1.1.1 身边的性能
            1.1.2 由于性能测试不足带来的Bug
            1.1.3 什么是性能
            1.1.4 性能在ISO25010 2016软件质量模型中的位置
            1.1.5 性能在敏捷测试的位置
            1.1.6 软件性能问题的定位
            1.1.7 衡量软件性能的四个维度
            1.1.8 参加性能需求分析的干系人
            1.1.9 性能测试工具
            1.1.10 性能测试的作用
        1.2 软件性能测试类型及测试方法
            1.2.1 性能测试类型
            1.2.2 普通性能测试
            1.2.3 前端性能测试
            1.2.4 负载测试(Load Testing)
                并发测试( Concurrency Testing)
                容量测试(Volume Testing)
            1.2.5 负载测试寻找拐点的方法
                逐步递增法
                二分法
                黄金分割法
            1.2.6 疲劳性测试(Stress Testing)
            1.2.7 强度测试(Strength Testing)
            1.2.8 配置测试(Configuration Testing)
            1.2.9 基准测试(Benchmark Testing)
        1.3 软件性能测试指标
            1.3.1 性能指标
            1.3.2 响应时间(Response Time)
            1.3.3 前端响应时间
            1.3.4 吞吐率
            1.3.5 资源利用率
            1.3.6 思考时间(Think Time)
            1.3.7 在线用户数与并发用户数
            1.3.8 性能计数器
            1.3.9 理发师模型
            1.3.10 响应时间、吞吐率、资源利用率关系
        1.4 软件性能测试需求分析
            1.4.1 分析用户行为
            1.4.2 性能测试的难点
            1.4.3 需求层面
            1.4.4 技术层面
            1.4.5 解决思路
            1.4.6 需求分析典型案例
            1.4.7 需求的来源
            1.4.8 性能测试通过标准
        1.5 性能测试用例设计及分析
            1.5.1 性能测试场景设计完整过程
            1.5.2 测试环境、工具、数据准备
            1.5.3 测试脚本录制、编写与调试
            1.5.4 场景制定
            1.5.5 测试执行
            1.5.6 结果分析与定位问题
            1.5.7 测试报告与测试评估
            1.5.8 性能测试方案
        1.6 构建性能测试方案
            1.6.1 软件结构演进
            1.6.2 性能测试数据的创建方法
            1.6.3 性能测试数据的创建时机
            1.6.4 线下性能测试环境
            1.6.5 性能测试场景设计
        1.7 高级性能测试
            1.7.1 全链路压测
            1.7.2 蓝绿联盟
            1.7.3 金丝雀发布
            1.7.4 数据回放技术
            1.7.5 DevperfOps
    2 HTTP协议及其抓包工具使用
        2.1 HTTP消息包
        2.2 请求包
        2.3 响应包
        2.4 HTTP协议特性
        2.5 Fiddler4使用
    3 LoadRunner
        3.1虚拟用户
            3.1.1Vuser Script录制流程
            3.1.2认识VuGen的录制原理
            3.1.3录制选项设置
            3.1.4Run-time Setting
        3.2参数化
            3.2.1参数化目的
            3.2.2参数类型(Parmeter type)
            3.2.3参数列表的配置
            3.2.4参数取值方式
            3.2.5如何打印参数化变量
            3.2.6参数化步骤
        3.3事务、集合点和思考时间
            3.3.1响应时间
            3.3.2响应时间组成
            3.2.3添加事务
        3.4 检查点
            3.4.1 web_find()函数
            3.4.2 web_reg_find()函数
            3.4.3 界面操作
            3.4.4 图片检查点
        3.5集合点
            3.2.1集合点
            3.2.1集合点策略
        3.6 关联
            3.6.1为什么要设置关联
            3.6.2录制中建立关联
            3.6.3用户自定义关联
            3.6.4录制后建立关联
            3.6.5手动建立关联
        3.7 场景
            3.7.1场景用途
            3.7.2设计场景流程
            3.7.3启动场景流程
            3.7.4两种场景模式
            3.7.5设计场景
            3.7.6场景控制
            3.7.7查看场景
        3.8 IP欺骗
            3.8.1为什么要使用IP欺骗
            3.8.2IP欺骗技术设置
            3.8.3查看设置是否正确
        3.9 负载均衡
            3.9.1负载均衡原理
            3.9.2主机器配置
            3.9.3副机器配置
            3.9.4Controller中配置
        3.10 场景运行时间设置
            3.10.1为每个场景设置运行时间
            3.10.2为所有场景设置一个运行时间
        3.11 测试报告分析
            3.11.1基本分析方法
            3.11.2默认报告
                总体报告
                运行的虚拟用户变化
                每秒点击率
                吞吐量
                交易概述
                平均交易反馈时间
            3.11.3生成标准各种格式的报告
            3.11.4分析图合并
             设置
             叠加
             平铺
            3.11.5关联
                分析图关联技术
                分析图钻取技术
    4 JMeter
        4.1 安装与环境变量配置
        4.2 JMeter 简介
        4.3 录制
            4.3.1 BadBoy录制
            4.3.2 用JMeter录制
        4.4 JMeter基本元件介绍
            4.4.1 测试计划
            4.4.2 线程组
            4.4.3 HTTP Cookie 管理
            4.4.4 HTTP头信息管理
            4.4.5 HTTP Request
            4.4.6 查看结果树
            4.4.7 Debug Sample
            4.4.8 参数化方法
                CSV参数化
                函数助手
                JDBC参数化
        4.5 断言
            4.5.1 响应断言
            4.5.2 BeanShell断言
            4.5.3 Size Assertion断言
            4.5.4 断言持续时间
        4.6 其他元件
            4.6.1 正则表达式提取器
            4.6.2 边界提取器
            4.6.3 设置Cookies
            4.6.4 网速模拟
            4.6.5 Throughput Controller
            4.6.6 事务控制器
        4.7 报告
            4.7.1 Summary Report
            4.7.2 Aggregate Graph
            4.7.3 Response Time Graph
            4.7.4 时间响应图
        4.8 非GUI下的运行方式
            4.8.1 基本命令行运行
            4.8.2 通过Python Taurus运行
            4.8.3 通过Java ant运行
        4.9 监控
            4.9.1 JMeter集群+Influxdb存储+Grafana实时数据
                Influxdb安装及使用
                Grafana安装及使用
            4.9.1 性能监控与分析
            4.9.1 资源信息分析图
            4.9.1 性能监控
                Exporter + Prometheus + Grafana进行监控
                    Exporter安装及使用
                    Prometheus安装及使用
                    Grafana使用
                    对MYSQL的监控
               全链路监控
                   微服务架构
                   全链路监控选择依据
                   APM
               Skywalking安装及使用
               Nmon性能监控
                   用于实时监控
                   用于测试过程中监控
               Windows性能监控
                    监控搭建
                    启动监控
                    监控报告
               Tomcat监控工具Probe
                    线程池
                    正在运行的线程
                    内存监控
               MySQL监控工具Monyog
    5 性能分析
        5.1 性能瓶颈分析方法
        5.2 基于Windows的性能分析
            5.2.1 Process
            5.2.2 Memory
            5.2.3 DISK
            5.2.4 Processor
            5.2.5 网络
        5.3 基于Linux的性能分析(简约版)
            5.3.1 CPU
                top
                top -Hp 进程号
                jstack
                useful-scripts
            5.3.2 Memory
                free -m
            5.3.3 Disk
                iostat -x
                iotop
            5.3.4 Network
                netstat
        5.3 基于Linux的性能分析(详细版)
            5.3.1 Linux架构
            5.3.2 CPU
                常用命令-uptime
                常用命令-top
                CPU使用率
                平均负载
                不可中断的睡眠态进程
                僵尸进程
                CPU状态转换
                中断
                节拍率
                上下文切换
                显示10个消耗CPU最多的进程
                常用命令-perf top、 perf record
                常用命令- execsnoop
                在多CPU的系统里,可以查看所有CPU的信息
            5.3.3 内存
                内核空间、用户空间
                内核映射
                虚拟内存空间分布
                内存的分配与回收
                查看剩余内存
                cache和buffer
                获得系统内存摘要信息
                详细显示某个进程所用的内存情况
            5.3.4 文件和磁盘
                文件与磁盘概念
                虚拟文件系统 VFS(Virtual File System)
                文件系统分类
                通用块
                Linux存储堆栈图
                性能指标
                常用命令- /proc/slabinfo
                查看所有目录项和各种文件系统索引节点的缓存情况
                查看I/O状态
            5.3.5 网络
                基本概念
                TCP 协议通信的网络包
                Linux 网络栈
                接收、发送流程
                性能指标
                常用命令-ifcong
                常用命令-ip
                网络吞吐和 PPS
                连通性和延时
                网络性能测试
                分析工具
        5.4 JVM监控与调优
            5.4.1 JVM调优与监控
            5.4.2 JVM的六种状态
            5.4.3 JVM结构
            5.4.4 垃圾回收机制
                为什么要区分新生代和老年代?
                如何回收
                垃圾回收算法
                垃圾收集器类别
                通用的GC算法百分比
                垃圾收集器组合
                命令
                Tomcat调优与监控
        5.5 MYSQL监控与调优
            5.5.1 一次 SQL 的查询过程
            5.5.2 影响性能的关键点
            5.5.3 MYSQL计数器
            5.5.4 最大连接数
            5.5.5 实际连接数
            5.5.6 innodb_buffer_pool_size
            5.5.7 慢SQL定位技术
            5.5.8 SQL语句的执行计划
            5.5.9 show full processlist
            5.5.10 索引覆盖
            5.5.11 联合索引
            5.5.12 索引失效的场景
    6性能调优
        6.1 性能调优
            6.1.1 性能调优方法
            6.1.2 性能分析流程
            6.1.3 系统性能关注点
        6.2 性能调优内容
            6.2.1 前端优化
            6.2.2 CPU调优
            6.2.3 程序优化
            6.2.4 配置优化
            6.2.5 线程优化
            6.2.6 DB优化
            6.2.7 业务流程优化
            6.2.8 结构优化
    7 实战
          7.1 负载测试
          7.2 疲劳性测试
      

    软件测试咨询

      

               

    投稿关闭窗口打印