​性能测试基础——性能测试方案

news2024/12/25 9:15:21

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

下面是一个一般的性能测试方案样例(在网页上写有排版问题,需要自行进行排版):

文档修订记录
图片

目录

1.概述…. 5
2.术语、定义和缩略语…. 5
3.性能测试依据及参考…. 5
4.性能测试计划…. 5
5.性能测试目标…. 6
6.性能测试环境…. 6
6.1. 网络拓扑图…. 6
6.2. 应用系统架构…. 7
6.3. 应用系统风险点分析…. 8
6.4. 软硬件配置…. 8
7.性能测试准备…. 8
7.1. 性能测试数据…. 8
7.2. 测试工具…. 8
8.性能测试案例…. 9
8.1. 一般性能测试…. 9
8.1.1. 单业务流程性能测试. 9
8.1.2. 混合业务流程性能测试. 9
8.2. 过载测试 (可选)…. 10
8.2.1. 单业务流程性能测试. 10
8.2.2. 混合业务流程性能测试. 10
8.3. 稳定性测试…. 11
8.3.1. 混合业务流程稳定性测试. 11
8.4. 可靠性测试 (可选)…. 12
8.4.1. 服务进程可靠性测试. 12
8.4.2. 数据库可靠性测试. 12
8.4.3. 网络设备可靠性测试. 13
8.5. 基准测试 (可选)…. 13
8.5.1. 相同场景下的性能测试. 13
9.风险分析…. 14
10.附件

 

1.概述

【被测系统简介和背景】

2.术语、定义和缩略语

【一些关键的性能指标或业务名称的定义】

图片

3.性能测试依据及参考

【有助于性能测试的相关文档】

图片

4.性能测试计划

【根据项目实际情况安排好人力、时间】

图片

5.性能测试目标

【描述测试的主要目的:

a)验证性:验证系统在具体的并发下,能否满足指定的需求指标;

b)探测性:测试接口及整个系统的稳定性及负载压力承受值;

c)调优性:发现系统的性能瓶颈。

……

【根据业务分析确定出具体的性能测试目标(以具体业务为单位,可以是单业务,也可以是混合业务)】

图片

6.性能测试环境

6.1. 网络拓扑图

【整理出被测系统的网络拓扑结构图,主要是用来说明如何把网络中的业务服务器、数据库服务器、中间件服务器、防火墙、路由器、交换机等设备连接起来。侧重于网络数据包的整体流向,方便后续定位问题。】

【具体参考如下图,该图是某某平台的网络拓扑,从整体上把握网络数据的走向。注,最好标注各个ip和映射。】

 图片

6.2. 应用系统架构

【应用系统架构主要用来描述系统的各个服务之间的逻辑交互,例如redis缓存、mysql数据库、数据路由中间件、主备服务器等等之间的关系。侧重于服务之间的关系,需要画出系统架构图】

【具体参考如下图,该图是某某平台的应用系统架构,清晰的描述了消息中间件、nosql、redis等核心服务直接的关系。】

 图片

6.3. 应用系统风险点分析

【针对被测系统的网络拓扑图和系统架构,分析可能存在性能问题的地方,如某处可能会有大量的数据库IO操作、如果没有加redis缓存可能会导致数据库的处理能力瓶颈等】

图片

6.4. 软硬件配置

【测试环境服务器的硬件具体信息】

图片

【服务器上具体软件的具体核心参数配置,如数据库的连接池配置、tomcat的链接数配置、JVM参数配置,数据库的分库分表规则等】

图片

7.性能测试准备

7.1. 性能测试数据

【根据系统目标业务量估算出每个相关业务表的数据量,并扩大一定的倍数,准备测试数据;满足1、测试数据的总量;2、各个业务数据量的比例】

7.2. 测试工具

【根据被测系统的使用协议具体选择对应的性能压测工具;根据待测对象具体选择监控特定的参数】

【1) 施压工具;

  2) 监控工具;
  3) 调优工具】

8.性能测试案例

8.1. 一般性能测试

【满足在规定的服务器资源性能指标范围内,模拟不同的用户数量的性能测试,以确定系统能够承受的最大并发数。】

8.1.1. 单业务流程性能测试

图片

8.1.2. 混合业务流程性能测试

【模板同单业务一样的模板】

8.2. 过载测试 (可选)

【加大系统负载,使服务器资源处于极限状态下,测试服务器能否稳定运行。强调的是在极端情况下的稳定性】

8.2.1. 单业务流程性能测试

【模板同上】

8.2.2. 混合业务流程性能测试

【模板同上】

8.3. 稳定性测试

【在混合业务场景下,在负载测试的并发数下,延长测试时长到至少3*24小时,考察系统的稳定性】

8.3.1. 混合业务流程稳定性测试

【模板同上】

8.4. 可靠性测试 (可选)

8.4.1. 服务进程可靠性测试

【进程可靠性测试,在进程被kill后,能够在5分钟内自动拉起,并逐步恢复原有的业务处理能力。如tomcat的进程被杀掉后,有监控脚本自动测试并重启tomcat,以及时保证系统的正常】

【模板同上】

8.4.2. 数据库可靠性测试

【高可用测试,例如主数据库出现异常时,备用数据库可以及时的成为主库,保证系统的高可用】

【模板同上】

8.4.3. 网络设备可靠性测试

【模板同上】

8.5. 基准测试 (可选)

8.5.1. 相同场景下的性能测试

【在相同业务场景,相同配置条件,相同负载压力下,新版本的性能测试和老版本的性能测试结果比对,以测试修改的或新增的功能对原有性能的影响】

9.风险分析

【列出可能存在的风险】

 

10.附件

以上就是基本的功能测试方案的样例,可以根据项目实际情况做出一些调整

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560534.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeRTOS创建静态任务教程及所遇到的问题解决方法

静态任务和动态任务的区别 相对于动态任务,静态任务不需要动态分配内存,而是手动指定一个静态内存缓冲区,并在任务生命周期中一直使用该缓冲区。这可以避免动态内存分配时可能出现的内存碎片和内存泄漏问题,提高了系统的稳定性。…

【Python lxml、BeautifulSoup和html.parser区别介绍】零基础也能轻松掌握的学习路线与参考资料

区别介绍 (1)lxml lxml是Python的一个XML解析库,它基于libxml2和libxslt库构建,可以读取、操作和输出XML文档。lxml具有很强的性能和稳定性,在处理较大的XML文件时表现尤佳,并且支持XPath、CSS选择器等高…

PHP复习资料(未完待续)

(未完待续,请持续关注此板块) 【计科三四】雪课堂PHP期末模拟题:https://ks.wjx.top/vm/tUAmjxq.aspx# 【计科一二】PHP第一章练习题 https://ks.wjx.top/vm/QnjHad4.aspx# 【计科一二】PHP第二章练习题 https://ks.wjx.top/vm/h2…

ggplot绘制带误差棒、置信区间的柱状图,并调整颜色为渐变

ggplot绘制带误差棒、置信区间的柱状图,并调整颜色为渐变 简单绘制柱状图控制柱状宽度,间距调整颜色渐变简单绘制柱状图 要在ggplot中绘制带有置信区间的柱状图,你可以使用geom_bar和geom_errorbar函数来完成。下面是一个示例代码: library(ggplot2)# 创建一个示例数据集…

【LeetCode热题100】打卡第1天:两数之和

文章目录 两数之和⛅前言🔒题目🔑题解 两数之和 ⛅前言 大家好,我是知识汲取者,欢迎来到我们的LeetCode热题100刷题专栏! 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与…

《操作系统》期末最全复习题及解释答案

文章目录 选择题填空题简答题程序题综合题1.银行家算法2.页面置换算法3.进程调度算法4.磁盘调度算法5.求物理/逻辑地址6.分页存储管理7.可变分区分配算法 选择题 若信号量S的初值为2,且有3个进程共享此信号量,则S的取值范围是(B )…

Downie 4 4.6.17 MAC上最新最好用的一款视频下载工具

Downie for Mac 简介 Downie是Mac下一个简单的下载管理器,可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们。 Downie 4 下载 Downie 4 for Mac Downie 4 for Mac软件特点 支持许多站点 -当前支持1000多个不同的…

Linux学习笔记 --- Linux基础命令

一. Linux的目录结构 目标:1. 掌握Linux系统的目录结构 2. 掌握Linux系统的路径表达形式 1.1 Linux系统的目录结构 我们知道,在操作系统中,文件系统的目录结构一般都是树形结构。Linux的目录结构是一个树型结构Windows 系统可以拥有多…

学习【菜鸟教程】【C++ 类 对象】【C++ 类的静态成员】

链接 1. 教程 可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时…

用Lua或c调用go的库

用Lua或c调用go编写的库或函数 背景思路操作golua代码汇总 参考文章 又好久没有更新了,这次肯定又是遇上了什么问题,但又解决了的,才跑过来更新的。我也是翻遍了全网都没找到lua去调go代码的,于是干脆自己写一个 背景 作为提供统…

堆结构与堆排序

二叉树的概念 满二叉树:二叉树的每一层的节点数都达到最大值 完全二叉树:满二叉树或是从左往右依次变满的树 二叉树的数组表示 01234567 堆结构(优先级队列结构) 完全二叉树 大根堆&#xff1…

图数据库评估难?一篇教你搞定图数据库产品评估

随着数字经济时代全面开启,数据作为重要的生产要素,赋能作用日渐凸显,企业逐渐开始关注自身数字化水平和数据资产价值。而当各企业数智水平提升,其业务环境和计算场景呈现数据间关系交错复杂的特点。在面对需要深度挖掘数据间复杂…

C语言——存储类型

目录 1. auto 自动型2. static 静态2.1 修饰变量要知道👇(数据在Linux内核中的分配图) 2.2 static 的特点⭐⭐⭐⭐⭐:2.2 修饰函数 3. extern4. register 寄存器类型 存储类型 存储类型有:auto static extern register…

2023最全selenium面试题及答案,测试员没有碰到算我输.....

一、前言 Selenium,是一个开源的框架,主要用于做HTML页面的UI自动化测试。不过,selenium IDE在去年官方已宣告放弃维护了。官网上放着一句话,selenium IDE is Dead。Selenium IDE是火狐浏览器的一个插件,是Selenium的…

上午面了个腾讯拿 38K 出来的,让我见识到了基础的天花板

今年的校招基本已经进入大规模的开奖季了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好…

低功耗IC后端培训 | 盘点Power Switch Cell在实际项目中应用注意事项

下面直接进入今天的技术干货分享——全面盘点power gating cell在数字IC后端实现中的各种注意事项。 什么是Power Gating? 随着工艺制程越做越小和芯片规模越来越大,芯片的leakage的比重越来越高,数字后端实现时就得考虑leakage的优化。而leakage优化…

交通标志识别系统-卷积神经网络

介绍 使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,实现用户上传一张图片识别其名…

Linux 软件包管理工具

rpm命令管理软件包 1.学会看rpm包,通过rpm包的名字来了解这个软件包的一些基础信息xfsprogs-4.19.0-2.el8.x86_64.rpm xfsprogs 软件名字 4.19.0 版本号 2 发行次数 el8 适用于哪个操作系统(rel8) x86_64 软…

Streamlit应用程序使用Streamlit-Authenticator进行用户的安全身份验证实践(解决升级问题)

在Streamlit官方文档中,没有提供提供安全身份验证组件。目前,第三方streamlit-authenticator提供此功能,详见引用我原来的博文,在《Streamlit应用程序使用Streamlit-Authenticator进行用户的安全身份验证实践》文中,原…

Vue计算属性

1,为什么Vue会设计计算属性(computed property)? 答:一定程度上,Vue的作用就是管理呈现到HTML页面上的所有数据data的,每当一个data发生变化,Vue实例就会自动的去更新模板里面使用到data的地方,…