Jmeter性能测试流程

作者: 西瓜加糖 | 来源:发表于2018-10-11 14:31 被阅读5次

    1.性能测试必要性评估

    常见关键评估项

    监管单位要求性能报告

    涉及财产、生命安全的系统

    首次投产的大型系统

    核心数据库、软硬件升级

    用户量、业务量增长30%以上

    单版本单业务评估权重

    是否平台核心位置

    是否存在部署方式调整或优化

    是否增加了性能风险较高的调整

    是否存在客户要求必须测试的业务流程

    是否涉及多个功能缺陷的修复且流程发生较大变化


    2. 性能测试需求分析

    业务层面

    用户大量使用的功能

    日常占比80%以上的业务

    特殊交易日或峰值80%的业务

    核心业务发生流程重大调整的业务

    项目层面

    曾经测试过性能调整了架构的业务

    逻辑复杂、关键的业务

    可能消耗大量资源的业务

    与外部系统存在接口调用、大量交互的业务

    调用第三方业务组件且逻辑复杂的业务

    性能测试需求评审

    可测性

    可搭建相对真实的环境

    一致性

    用户需求、生产需求(真实性)、运营需求(规划未来发展要求)

    正确性


    3.性能测试用例设计

    测试模型建模

    举例:登陆业务操作流程(思维导图)

    打开首页

    输入用户名、密码登陆

    退出系统

    场景用例设计

    分类

    单业务基准测试:是否满足系统设计和用户期望的性能指标

    单业务压力测试:最大负载下,持续服务的时长

    单业务负载测试:系统能够承受的最大负载

    综合业务压力测试

    综合业务负载测试

    综合业务稳定性:核心业务基准负载下长时间运行系统稳定服务的能力

    线程数计算

    场景用例

    脚本用例设计


    4.测试数据构造

    BadBoy创建用户注册脚本

    录制脚本导出为jmx

    Jmeter迭代生成账号

    ${username}变量要导入CSV


    5. 测试脚本开发

    BadBoy录制登陆与购买脚本

    Jmeter配置

    添加->定时器->固定定时器:设置间隔时间

    添加->断言->响应断言:检查登陆成功

    添加->监听器->查看结果树/聚合报告

    Fiddler的使用

    若BadBoy未录制到商品添加到购物的请求,需要用Fiddler抓包手动添加

    添加->Sample->HTTP请求


    6.场景设计与实现

    并发线程数与调度器配置

    如果是Badboy录制的脚本,循环设置在Step1设置 永远

    监听结果

    资源监听器gc-perfMon Metrice Collector

    下载:

    地址https://jmeter-plugins.org/downloads/all/,下载plugins-manager.jar                   

    把给文件放到apache-jmeter/lib/ext目录下

    增加插件:

    选择,重启

    添加监听器:

    重启后可以 添加-监听器-@gc-perfMon Metrice Collector

    增加CPU、内存等指标后保存


    7. 用例执行

    环境

    注意客户端性能

    注意服务器最好能够独占测试

    注意时间的选择,测试环境/生产环境最好是少人使用的时候

    记录服务器配置

    测试服务端配置:

    应用服务器-机型-台数-CPU-内存-IP

    数据库服务器-机型-台数-CPU-内存-IP

    测试客户端配置:

    客户端-机型-台数-CPU-内存-IP

    运行任务


    8.结果分析

    响应时间

    Apdex


    业务成功率(看断言)

    测试脚本中设置了断言,判断用户登录后是否出现“登录成功”字样,并设定“断言结果”查看器,通过查看断言结果,全部通过表示业务成功率100%

    并发数

    CPU与内存

    数据库

    结果统计


    9.性能调优

    性能问题表现特征

    响应时间平稳但较长

    响应时间逐步变长

    响应时间随着负载变化而变化

    数据积累导致锁定

    稳定性差

    响应时间长,系统越来越慢,出现业务错误,通常原因

    物理内存资源不足;内存泄露;资源争用;外部系统交互;业务失败频繁重启,无终止状态;中间件配置不合理,数据库连接设置不合理;进程/线程设计错误

    相关文章

      网友评论

      本文标题:Jmeter性能测试流程

      本文链接:https://www.haomeiwen.com/subject/hcdbaftx.html