如何编写性能测试用例?

news2024/11/23 9:25:46

前言

写测试用例,是测试绕不开的工作内容,不管是功能、自动化,还是性能。先来回顾一下功能测试用例主要包含的要素:测试用例编号、测试标题、所属模块、测试需求项编号、案例状态、预置条件、优先级、测试输入、操作步骤、预期输出、实际结果、案例设计者、设计日期、案例性质等。性能测试用例(有的称为场景用例)的设计,有别于功能测试用例、自动化测试用例的设计,毕竟,考虑的点不一样。对于性能测试来说,一般要考虑这4种场景:单场景、混合场景、稳定性场景、异常场景。

下面,结合笔者实际工作,分享下单场景的用例是如何设计的。

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

2023最新版性能测试保姆级实战教程全套完整版,48小时从小白到大神【项目实战、jmeter压力测试】

单场景的定义

有的称为接口基准(Benchmark)、或者单交易的容量,总之,这个不是真实的业务原型(可以简单理解为不同业务的使用情况)。

单场景压测的目的

既然单场景不是真实的业务原型,为什么不直接做混合场景的压测呢?其实,做单场景压测的目的是测试出这个单业务的最大tps,方便判断瓶颈,比如,业务部门给的混合场景的tps(假设这个tps值是合理有效的),根据业务原型比例计算后,业务A的目标tps都比你单场景的最大tps还要大,那是不是应该让开发提前优化了?如果在混合场景压测中,发现业务A的tps已经到达或者接近其单场景最大tps,但是混合场景还没有达标,那说明瓶颈在业务A。

单场景的来源

有人可能要问,单场景从哪里来?如果你们业务部门或者其它部门能给,那最好,如果不能给,你作为性能测试人员,要引导相关人员给,总之,我觉得这个不能性能测试单独定,否则后期出问题可能你独自背锅哦,要尽最大努力保证不出问题,哪怕出问题,也要一起背锅。单场景是来自于业务原型,但是不是每个业务接口都需要做压测,所以,我们这里说的业务原型,是混合场景的业务原型,混合场景里面,每个业务接口都需要做单场景压测。至于业务原型如何获取,这是一个大话题,本次分享暂不讨论,如果想交流,欢迎微信留言。

项目架构及服务器清单

我们用个简单的架构来举例:nginx + tomcat*2 + mysql

图片

图片

单场景用例

除了基于压测工具的设计(假设用的压测工具是jmeter),还包含监控的设计、预期结果、实际结果

图片

 部分预期结果(根据项目实际情况写)

图片

 部分实际结果 

图片如果你的架构很复杂,写重点即可,无需把过多的时间耗费在文档上,况且后期你也可以慢慢完善。 

补充:jmeter脚本

连续阶梯加压,看线程、tps、rt的趋势

图片

 另外,混合场景、稳定性场景、异常场景的用例设计,需要的可以关注公众号(互联网杂货铺),后台回复1

图片

总结

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

智慧茶园:茶厂茶园监管可视化视频管理系统解决方案

一、方案背景 我国是茶叶生产大国,茶叶销量全世界第一。随着经济社会的发展和人民生活水平的提高,对健康、天然的茶叶产品的消费需求量也在逐步提高。茶叶的种植、生产和制作过程工序复杂,伴随着人力成本的上升,传统茶厂的运营及…

Scala第十九章节

Scala第十九章节 scala总目录 文档资料下载 章节目标 了解Actor的相关概述掌握Actor发送和接收消息掌握WordCount案例 1. Actor介绍 Scala中的Actor并发编程模型可以用来开发比Java线程效率更高的并发程序。我们学习Scala Actor的目的主要是为后续学习Akka做准备。 1.1 Ja…

递归和分治算法(2)--合并排序和快速排序

目录 一、合并排序相关题 1、合并排序 2、逆序对 二、快速排序相关题 1、快速排序 目录 一、合并排序相关题 1、合并排序 2、逆序对 二、快速排序相关题 1、快速排序 2、中位数选取 三、循环赛日程表 一、合并排序相关题 1、合并排序 合并排序的原理:…

一文读懂|zRAM 内存压缩机制

内存是计算机系统最重要的资源之一,当操作系统内存不足时,进程申请内存将会失败,从而导致其运行异常或者崩溃。 Linux 内核提供 swap 机制来解决内存不足的情况,其原理是: 当系统内存不足时,内核会将进程不…

线性数据—栈、队列、链表

一、栈 Stack(存取O(1)) 先进后出,进去123,出来321。 基于数组:最后一位为栈尾,用于取操作。 基于链表:第一位为栈尾,用于取操作。 1.1、数组栈 /*** 基于数组实现的顺序栈&#…

记录:Unity脚本的编写2.0

目录 前言控制方法键盘控制鼠标控制虚拟控制器控制 平移和旋转 前言 前面记录了一些简单的unity脚本用来控制unity中对象模型的移动(或者不能叫控制,毕竟它是开启之后自己在跑的),那么让模型可以根据用户的操作来进行变化的方法自…

SQL监控工具

什么是 SQL 监控 SQL 监视是跟踪和分析整个 MSSQL 生态系统的过程,以识别性能问题并防止依赖数据库的应用程序变慢和/或遇到中断,它有助于获取有关 SQL 服务器的数据库会话、查询、作业、CPU 和内存资源、群集、配置和可用性组的信息。 为什么 MSSQL 监…

JavaScript 笔记: 函数

1 函数声明 2 函数表达式 2.1 函数表达式作为property的value 3 箭头函数 4 构造函数创建函数(不推荐) 5 function 与object 5.1 typeof 5.2 object的操作也适用于function 5.3 区别于⼀般object的⼀个核⼼特征 6 回调函数 callback 7 利用function的pr…

TensorFlow入门(十、共享变量)

使用tf.Variable方法创建变量 使用tf.Variable方法创建变量时有两点需要注意: ①一般情况下,使用tf.Variable方法创建的变量都有作用域,也可叫做变量的可用性范围,即在变量所属的模型内,变量的名字是有效可用的。 ②使用tf.Variable方法创建变量时,会生成一个新的变量。如果在一…

激活函数与loss的梯度

激活函数: 最开始由生物学家对青蛙的神经元机制进行研究发现,青蛙的神经元有多个输入x0、x1、x2,响应值是他们加权后的结果,但响应值如果小于阈值,则不会响应,而只有大于阈值时,才会有固定的响应…

LeetCode 1277. 统计全为 1 的正方形子矩阵【动态规划】1613

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

紫光 DDR3 IP核调试

1. IP核简介 直接编写DDR2/DDR3的逻辑工作量不太大,但是涉及到双边延、高速率的读取,时序很复杂。因此一般抖采用IP核实现。紫光的SDRAM IP核为HMIC_H IP。 HMIC_H IP 包括了 DDR Controller、DDR PHY 和 PLL,用户通过 AXI4 接口实现数据的读…

十三、MySQL 主从复制

一、MySQL 主从复制 1. 主从复制原理 主库 有一个 工作线程 I/O dump thread(转储线程)。从库 有两个工作线程 I/O thread 和 SQL thread。主库 通过 I/O dump thread 给 从库 I/O thread 传送 binlog 日志。 主从同步过程中: 主库 把接收的…

大厂笔试真题【栈】美团2023春招-火车迷【欧弟算法】全网最全大厂秋招题解

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出 示例二输入输出 解题思路代码pythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 小美是一个火车迷。最近她在观察家附近火车站的火车驶入和驶出情况,发现…

C/C++学习 -- Base64算法

Base64算法概述 Base64是一种用于将二进制数据表示为ASCII字符集中的可打印字符的编码方法。它由64个不同的字符组成,通常包括26个大写字母、26个小写字母、10个数字以及两个特殊字符(通常是""和"/")。Base64编码的目的…

【Vue基础-数字大屏】地图标记涟漪效果设置

一、需求说明 将地图中北京市、陕西市、南宁市分别以实心圆、涟漪圆、涟漪圆标记出来 二、代码实践 涉及三个文件 1、App.vue: <template><Screen1/> </template> <script> import Screen1 from "./components/Screen1.vue"; export def…

如何应对数据安全四大挑战?亚马逊云科技打出“组合拳”

数字经济时代&#xff0c;数据被公认为继土地、劳动力、资本、 技术之后的又一重要生产要素。对于企业而言&#xff0c;数据则是一切创新与关键决策的根源。 然而&#xff0c;企业在发挥数据资产的商业价值方面&#xff0c;却面临诸多挑战&#xff0c;比如敏感数据识别、跨组织…

【高阶数据结构】图详解第一篇:图的基本概念及其存储结构(邻接矩阵和邻接表)

文章目录 1. 图的基本概念1.1 什么是图1.2 有向图和无向图1.3 完全图1.4 邻接顶点1.5 顶点的度1.6 路径1.7 路径长度1.8 简单路径与回路1.9 子图1.10 连通图1.11 强连通图1.12 生成树 2. 图的存储结构2.1 邻接矩阵2.2 邻接矩阵代码实现结构定义构造函数添加边打印图测试 2.3 邻…

leetCode 718.最长重复子数组 动态规划 + 优化(滚动数组)

718. 最长重复子数组 - 力扣&#xff08;LeetCode&#xff09; 给两个整数数组 nums1 和 nums2 &#xff0c;返回 两个数组中 公共的 、长度最长的子数组的长度 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,3,2,1], nums2 [3,2,1,4,7] 输出&#xff1a;3 解释&…

2023年台州市第三届网络安全技能大赛(MISC)这是神马

这是神马 考点&#xff1a;冰蝎流量特征数据包&#xff0c;需要解密 emoj解密 冰蝎之前做过 特征就是先base64编码在AES编码 我们在数据包里面找到了密钥&#xff1a;144a6b2296333602 这里我们知道了密钥我们就去解密 先筛选HTTP协议 导出HTTP数据流可以看到传了shell.php 随…