Skip to content

Day3-性能测试

性能测试

简介

  • 性能测试

知识模块

  • 性能测试体系 L1
  • 性能测试工具-JMeter 常用组件 L1
  • 性能测试工具-JMeter 参数化与并发 L2

知识点

  • 掌握性能测试基本概念。
  • 掌握 JMeter 的安装配置。
  • 掌握 JMeter 常用组件。

受众

  • 中级测试开发工程师

相关知识点

性能测试简介与 JMeter 准备

教程地址 视频地址
性能测试介绍 性能测试介绍 18:12
性能测试概念 性能测试概念 7:35
JMeter 介绍与安装 JMeter 介绍与安装 5:34
JMeter 的运行 JMeter 的运行 6:38
课堂练习

JMeter 脚本编写

教程地址 视频地址
测试计划 测试计划 6:13
线程组 线程组 11:37
JMeter 采样器/取样器 JMeter 采样器/取样器 13:14
HTTP 请求属性设置 HTTP 请求属性设置 7:22
JMeter 监听器 JMeter 监听器 11:41
监听器与测试结果 监听器与测试结果 3:24
解决中文乱码问题
  1. 进入 JMeter 解压目录的 bin 目录中
  2. 打开 jmeter.properties 文件
  3. 搜索 encoding=
  4. 修改编码设置为 UTF-8
sampleresult.default.encoding=UTF-8
课堂练习

头信息管理与断言

教程地址 视频地址
HTTP 信息头管理器 HTTP 信息头管理器 4:23
JMeter 断言元件的使用 JMeter 断言元件的使用 15:22
课堂练习

接口压力测试

教程地址 视频地址
JMeter 虚拟用户管理 JMeter 虚拟用户管理 34:36
JMeter 监听器 JMeter 监听器 11:41
JMeter 变量与引用 JMeter 变量与引用 2:27
JMeter 后置处理器 JMeter 后置处理器 10:55
JMeter 定时器 JMeter 定时器 14:13
控制器 控制器 12:35
使用变量进行参数化测试 使用变量进行参数化测试 5:38
解决Unicode 显示成可读中文的问题

添加 BeanShell 后置处理器

unicode2utf8/unicode2utf8.js 内容复制粘贴到 BeanShell PostProcessor 中

String s2 = new String(prev.getResponseData(), "UTF-8");
//---------------一下步骤为转码过程---------------
char aChar;
int len = s2.length();
StringBuffer outBuffer = new StringBuffer(len);
for (int x = 0; x < len;)
{
    aChar = s2.charAt(x++);
    if (aChar == '\\') {
        aChar = s2.charAt(x++);
        if (aChar == 'u') {
            int
            value = 0;
            for (int i = 0;
            i < 4;
            i++
        )
            {
                aChar = s2.charAt(x++);
                switch (aChar) {
                    case'0':
                    case'1':
                    case'2':
                    case'3':
                    case'4':
                    case'5':
                    case'6':
                    case'7':
                    case'8':
                    case'9':
                        value = (value << 4) + aChar - '0';
                        break;
                    case'a':
                    case'b':
                    case'c':
                    case'd':
                    case'e':
                    case'f':
                        value = (value << 4) + 10 + aChar - 'a';
                        break;
                    case'A':
                    case'B':
                    case'C':
                    case'D':
                    case'E':
                    case'F':
                        value = (value << 4) + 10 + aChar - 'A';
                        break;
                    default:
                        throw new IllegalArgumentException(
                            "Malformed   \\uxxxx  encoding.");
                }
            }
            outBuffer.append((char)
            value
        )
            ;
        } else {
            if (aChar == 't')
                aChar = '\t';
            else if (aChar == 'r')
                aChar = '\r';
            else if (aChar == 'n')
                aChar = '\n';
            else if (aChar == 'f')
                aChar = '\f';
            outBuffer.append(aChar);
        }
    } else
        outBuffer.append(aChar);
}
//-----------------以上内容为转码过程---------------------------
//将转成中文的响应结果在查看结果树中显示

prev.setResponseData(outBuffer.toString());
课堂练习

面试题

总结

  • 掌握服务端性能测试工具与方法。