性能测试流程-性能测试2

article/2025/10/5 16:44:00

性能测试流程

1. 性能测试需求分析
2. 性能测试计划及方案
3. 性能测试用例
4. 搭建测试环境
5. 测试数据准备
6. 测试脚本编写
7. 执行测试脚本
8. 性能测试监控
9. 性能分析和调优
10. 性能测试回归
11. 性能测试报告总结

1、性能测试需求分析

熟悉被测系统

        熟悉系统的业务功能以及数据流向
        熟悉系统的技术架构

明确性能测试范围

        从业务角度,挑选核心业务进行测试以及生产环境访问量多的业务
        从技术角度,挑选逻辑复杂度高、数据量大的业务进行测试

明确配置信息

        明确性能测试环境的CPU、内存、网络、磁盘、实例等配置详情,以及与生产环境的资源配置的差异性;

确定测试策略

基准测试
单交易负载测试
混合场景测试
高可用性测试
异常场景测试
稳定性测试
其他特殊场景

确定性能测试指标

        有需求:按照需求来测试                     
                例如:
                        新建线索业务并发20个用户
                        平均响应时间要小于等于3s
                        事务成功率为100%
                        CPU、内存使用率小于等于80%
        没有需求:同类型软件对比,对未来数据进行预估;如果公司有运营数据统计,可以根据运营数据对性能测试的指标进行估算;

明确上线时间

需要明确上线的时间,编写性能测试方案,合理安排性能测试的人员与执行计划,确保能按时上线;

2.性能测试计划及方案

每个公司都有自己的模板,大体上的性能测试方案的内容上出入不到,包含以下内容;

1 、项目背景 —— 主要介绍下项目的背景
2、测试目的 —— 验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。
3 、测试范围 —— 对于需求分析中的性能测试内容
4 、测试策略 —— 对应于需求分析中的测试策略
5 、风险控制 —— 技术风险、人力风险
6 、环境信息  ——压测的环境与生产环境的资源情况
7 、进度和分工 —— 谁在什么时候做什么事

3. 性能测试用例

4. 搭建测试环境

  • 测试机器硬件配置尽量和线上一致
  • 系统版本与线上一致
  • 测试环境部署线上最小单元模块
  • 应用、中间件、数据库配置要与线上一致
  • 其他特殊配置

测试环境的搭建,需要了解首先了解项目的架构,是使用LNMP,还是JAVA、C#等,不同的架构方式的部署,后面有时间出一些文章进行项目部署的内容;

通常,我们在搭建集成测试环境之时,会使用Jenkins与docker搭建流水线,开发只需要在gitlab上发起合并请求给测试,测试合并之后,jenkins就会就行编译、打包、部署;

5. 测试数据准备

方式(造数的详细方法,后面会出教程)

1、通过使用Jmeter,调用实际业务接口进行造数;

例如:我们可以模拟实际用户操作页面的操作,调用相应的接口;

2、通过使用Jmeter,进行对表进行增删改查操作,达到造数;

3、使用存储过程造数

使用存储过程造数,一般都是适合表数据量比较少,简单,优点就是快;

4、使用脚本造数,可以使用python/java等语言,编写造数脚本;

python,封装mysql

import pymysqlclass MysqlUtil:# 初始化__conn = None__cursor = None# 创建连接@classmethoddef __get_conn(cls):if cls.__conn is None:cls.__conn = pymysql.connect(host="数据库",port=端口,user="用户名",password="密码",database="数据库")return cls.__conn# 获取游标@classmethoddef __get_cursor(cls):if cls.__cursor is None:cls.__cursor = cls.__get_conn().cursor()return cls.__cursor# 执行sql@classmethoddef exe_sql(cls, sql):try:# 获取游标对象cursor = cls.__get_cursor()# 调用游标对象的execute方法,执行sqlcursor.execute(sql)#  如果是查询if sql.split()[0].lower() == "select":# 返回所有数据return cursor.fetchall()#  否则:else:# 提交事务cls.__conn.commit()# 返回受影响的行数return cursor.rowcountexcept Exception as e:# 事务回滚cls.__conn.rollback()# 打印异常信息print(e)finally:# 关闭游标cls.__close_cursor()# 关闭连接cls.__close_conn()# 关闭游标@classmethoddef __close_cursor(cls):if cls.__cursor:cls.__cursor.close()cls.__cursor = None# 关闭连接@classmethoddef __close_conn(cls):if cls.__conn:cls.__conn.close()cls.__conn = None

封装后,只需要引用上封装好的包,编辑SQL即可; 

from tools.mysql_util import MysqlUtila=MysqlUtil.exe_sql("select * from tb_board")
print(a)

 

 6. 测试脚本编写

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

7. 执行测试脚本

说明:先保证脚本调试通过之后,才能进入正式压测阶段
执行测试脚本时,要先进行性能运行场景的设置,再运行脚本

8.性能测试监控

性能监控就是监控服务器的各项性能指标。例如:监控CPU、内存、网络、TPS、磁盘IO

9. 性能分析和调优

说明:性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。
提示:
  调优人员 ( 开发人员、数据库管理员、系统管理员、网络管理员、性能测试分析人员 ) 相关人员对系统进行调整;

10. 性能测试回归 

验证 - 性能测试人员继续进行回归 测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升,资源使用情况是否正常;
注意 :
系统调优由易到难的先后顺序如下:
1. 硬件问题
2. 网络问题
3. 应用服务器、数据库等配置问题
4. 源代码、数据库脚本问题
5. 系统构架问题

11.性能测试报告总结

  • 概述
  • 测试环境
  • 结果与分析
  • 调优说明
  • 项目时间表
  • 结论
  • 建议

http://chatgpt.dhexx.cn/article/LsG4kC4d.shtml

相关文章

【测试方案】性能方案设计

什么是性能测试? 压力测试:强调极端暴力 稳定性测试:在一定压力下,长时间运行的情况 基准测试:在特定条件下的性能测试 负载测试:不同负载下的表现 容量测试:最优容量 性能测试方案设计流程 需…

性能测试—性能测试方案设计思路总结

一、需求分析 1.测试目的 为什么测?目的在于测试系统相关性能能否满足业务需求。通常分以下两种情况: 1)新项目上线 2)老项目优化 如果是老项目优化,可考虑是否存有历史测试方案,如果有可以参考&#…

性能测试计划及方案

说明:性能测试实施第一份文档,也是最重要的一份文档。 主要内容: 1、项目背景 项目是用来做什么的 2、测试目标 确定此次性能测试的目标,决定测试策略(下文) 3、人员安排 明确性能测试的时间&#xff0c…

性能测试详细测试方案

性能测试详细测试方案 前言 平台XX项目系统已经成功发布,依据项目的规划,未来势必会出现业务系统中信息大量增长的态势。 随着业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:每天大数据量的“…

性能测试设计方案

前言 最近比较多的时间是在做压力测试,也就是常说的压测,而且压力测试也属于性能测试中的其中一个,所以今天总结下性能测试的测试方案。 性能测试分类 常见的性能测试分类一般分为:负载测试、压力测试、稳定性测试 ①负载测试&…

​性能测试基础——性能测试方案(示例)

前面所说的测试分析等准备工作实际上最终目的是制定测试方案,测试方案一般包括: 项目的简要说明、项目系统结构、项目的业务结构、以及项目的性能需求、测试环境数据以及测试策略方法、测试案例、测试人员进度安排以及测试风险预估等等。 下面是一个一般…

性能测试~性能测试方案

1. 背景 1.1. 项目背景 明确该性能测试的项目背景 1.2. 性能目标 性能目标都会影响项目的整个过程,对目标的把握将决定一个性能项目的走向 测试测目标必须明确 取生产峰值流量作为基线(目标一般是峰值的xxx倍)业务的流量预期 2. 测试范围 明确需要测试的特性…

干货|一次完整的性能测试,测试人员需要做什么?

作者:Kiki Deng 一、 规范性能测试实施流程的意义 规范的性能测试实施流程能够加强测试工作流程控制,明确性能测试各阶段应完成的工作,指导测试人员正确、有序的开展性能测试工作,提高各角色在性能能测试中的工作效率。本次分享的性能测试实施流程是性能测试开展的”指导方…

让外网访问内网

让外网访问内网 假如我的电脑的ip是192.168.0.100 我在这个ip下开放了一个3000端口 同一wifi下的设备可以访问192.168.0.100:3000 但是只要访问的设备和被访问的设备不在同一wifi下就不能访问了 现在来解决 需要用到一个叫花生壳的软件 打开花生壳 点击右下角的加号 根据需要…

内网接入外网的几种方式

背景:Pc1pingAR2是ping不通的,因为两者不在同一个网段,pc1虽然知道AR2的地址,但是AR2不知道pc1的地址,所以要将pc1转为公网的ip地址 一.静态地址转换 (1)全局模式下配置 将内网主机的私有地址…

如何同时使用内网和外网

场景: 最近在对接医保专线的时候,发现在连接互联网的同时,是无法同时使用专线的。要使用的时候只能一下连wifi一下连专线,相当的不方便。 方法: 第一步,以管理员权限打开cmd,不然可能会出现用…

【网络】内网访问外网和外网访问内网的原理

原文地址 公有 IP 和私有 IP 的区别 首先,我们需要了解一下什么是公有 IP 和私有 IP ? 公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。…

三阶魔方快速公式

三阶魔方快速公式: 白色做底面。 (二)做第二层棱块。 黄面为顶层,找顶层中不带黄面的棱块,将棱块面对你的颜色转到与中点色块相同处,这两块面对自己,做公式: 远,侧面上…

【玩】三阶魔方公式

每次忘记公式,找到当时记忆的公示都得查很费劲。索性记录一下。 一、基本 1、标注: 一般来说,你可能需要整体地转动魔方来找到合适的是用公式的位置,但是为了简单起见,在使用一条具体公式时,只需要转动魔…

三阶魔方公式速记

最近在玩魔方的过程中,发现魔方真正需要死记硬背的公式只有三个,分别是棱块互换、棱块上翻、角块互换。 本文不是魔方复原教程,只是总结常用的几个公式,不适合新手。 先贴上一个非常强大的网页版魔方 Cuber 1.一层 观察法 2.二层 …

三阶魔方入门级学习

文章目录 起因:认识魔方:复原步骤:任务一:拼好底层(设底层为白)目标1:在顶层(黄)中心块周围安排四个白色棱块目标2:将目前在顶层的四个白色棱块分别对准侧面中…

php编程三阶魔方,三阶魔方还原教程

大家好,或许在你们会感觉魔方的还原很难,其实不然。今天我来为大家带来三阶魔方的简单还原公式,让你能够快速上手,并且能够理解学会。 话不多说,首先我来介绍一下魔方的六个面:白,黄,红,橙,绿,蓝(白-黄,红-橙,绿-蓝)图如下: 打开搜狗搜索APP,查看更多精彩资讯 我…

四阶魔方用三阶魔方公式时,两个特殊情况处理方式(顶面十字、最后一步)

四阶魔方的玩法比较简单的,就是把他变成三阶魔方,然后用三阶魔方公式还原: (三阶魔方还原,一共只记6个公式即可,https://blog.csdn.net/Bob__yuan/article/details/86546920) 1、先按照面与面…

三阶魔方还原步骤图_七步玩转三阶魔方还原公式及步骤图解教程

魔方Rubiks Cube 又叫魔术方块,也称鲁比克方块,是匈牙利布达佩斯建筑学院厄尔诺鲁比克教授在1974年发明的。三阶魔方系由富有弹性的硬塑料制成6面正方体,共有26块小立方体。魔方与中国人发明的“华容道”,法国人发明的“独立钻石”一块被称为智力游戏界的三大不可思议。 完…

三阶魔方公式记录

第一步: 详见魔方小站视频教程:https://imofang.taobao.com/p/jiaocheng31.htm?spma1z10.4-c-s.w5003-14960603961.1.6d4723276NiLJM&scenetaobao_shop 第二步: 完成底面白色作为底层。 视频教程:https://imofang.taobao.com/p/jiaocheng32.htm?…