全网最火爆,性能测试-测试用例与测试方法总结(超详细)

news2024/11/24 10:30:15

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

性能测试用例

无论是功能测试还是性能测试,执行用例时候都有优先级之分,对于性能测试来说,优先级可以这样划分:
①重要的(业务场景中的核心)
②重复的(用户使用频率最高的)
③重量级的(消耗大量系统资源的)

设计性能测试用例
具体的性能指标分为以下几类:
①系统容量(数据容量、用户量、用户并发量)
②系统并发度指标(注册用户、在线用户、并发用户)
③响应度指标(正常压力下响应能力、峰值压力下响应能力、异常压力下的响应能力)

熟悉并且理解整个系统的业务逻辑、实现原理,然后进行需求拆分,得到性能测试需求点;
多个渠道得到具体性能要求,分析评估风险,优先级,是否进行测试等;
编写性能测试方案和用例,并进行评审通过,然后执行;

PS:一些性能测试的测试点
查询;保存;统计;刷新;显示;传输;响应;下载…

举个例子:打开网络上其他媒介的文件,在网络拥堵的情况下打开执行相关操作,主要测试点如下:
①数据量小的时候主要执行查询统计刷新等功能点
②数据量累计到一定程度时的查询统计刷新时间(一定程度:根据实际情况与需求来确定范围)

常见的基础性能测试

1、安全可靠性测试

①用户权限限制:对不同用户权限的限制情况;
②用户和密码封闭性:对相应用户和密码进行次数限制;
③屏蔽用户操作错误:对用户常见操作错误的提示和屏蔽情况;
④错误提示的准确性:对用户的错误提示的准确度;
⑤错误是否导致系统异常退出:有无操作错误引起系统异常退出的情况;
⑥数据备份和恢复手段:系统是否提供备份及恢复功能,备份手段具体如何,是否对备份数据进行加密、压缩等;
⑦输入数据有效性检查:对录入系统的数据进行有效性检查;
⑧留痕功能:系统是否有操作日志,日志记录的操作情况的全面性和准确性,是否含有主要要素;
⑨异常情况的影响:程序运行过程中进行掉电掉网等测试,考察数据和系统的受影响程度,若受损,是否有补救措施等;
⑩数据传输安全性:对有特殊要求的数据传输,对其进行必要的加密处理,使用的算法等;

2、资源占用率测试
①软件安装所占用的硬盘空间:检查软件安装所占用的硬盘空间
②模块装载后内存占用量:检查模块装载后内存占用量(包括虚拟内存)
③模块卸载后内存释放量:检查模块卸载后内存释放率(包括虚拟内存)

3、兼容性测试
①软件兼容:测试软件安装运行的适用平台
②硬件兼容:硬件平台的配置要求

4、易用性测试
①易安装性:安装难易程度,是否符合当前流行的,易被接受的安装模式
②用户界面友好性:界面的简洁程度等
③易学性:相对用户使用者而言,学习使用的难度,对操作人员的要求等
④易操作性:操作的难易程度
⑤联机帮助丰富性:检查联机操作的准确性、全面性,以及关键操作时使用联机帮助的方便性

5、用户文档测试
①用户手册的完整程度:用户手册内容的全面性、完整性
②用户手册描述与软件实际功能的一致性:手册与软件实际功能的一直程度
③用户手册的易理解程度:用户手册对重要操作
④用户手册提供的学习操作示例:对主要功能和关键操作提供的应用实例有多少,实例的详细程度

6、效率测试
①通信效率:网络负载、吞吐率、利用率、响应时间、延迟等
②设备效率:CPU占用率、内存占用率、磁盘占用率、输入输出效率等,包括软件不工作状态下对硬件资源的占用情况和进行业务处理过程中对硬件资源的占用情况
③执行效率:典型业务场景的执行效率,例如关键的查询、统计等响应时间等

7、可扩展性测试
①与异种数据接口:有无与其他数据的接口
②是否能扩展功能模块:能否根据用户要求扩展功能模块

常见的进阶性能测试

1、并发性能测试
并发测试的过程,是一个负载测试和压力测试的过程。即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析执行指标和资源监控指标来确定系统并发性能的过程

测试案例:
例如:中间件应能满足一定数量的客户端同时办公的需要
测试内容与监控指标:(负载压力测试;模拟不同数量并发用户测试)
模拟不同数量并发用户执行关键业务,测试至系统能够承受的最大并发用户数。

主要监控指标如下:
每分钟事务处理数(Transaction Rate):不同负载下每分钟成功完成的事务处理数;
响应时间(Response Time):服务器对每个应用请求;
Mean:平均的服务器响应时间;
Max:最大的服务器响应时间;
StdDev:事务处理服务器响应的偏差,值越大,偏差越大;
Median:中值响应时间;
90%:90%事务处理的服务器响应时间;
虚拟并发用户数(Total Virtual Users):测试工具模拟的用户并发数量。

2、系统资源监控
在进行负载压力测试的同时,用测试工具对数据库服务器、Web服务器、应用服务器、认证及授权服务器上的操作系统、数据库以及中间件等资源进行监控。

监控系统资源指标,在测试中,根据测试需求以及测试环境的变化,选取有意义的数据进行分析。

3、大数据量
例如:考虑系统未来发展需要的存储空间,添加大数据量测试。
主要包括两方面内容:
①单独的数据量测试;
②与并发性能测试相结合的综合测试。

测试数据的准备借助于测试数据管理与生成工具,例如FileAid。

4、速度
例如:磁盘访问速度、备份速度以及网络办公系统运行速度等(人工测试)

5、疲劳测试
通常是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。

性能测试指标

一般有2种形式描述:产品需求指标和系统的性能指标。

1、产品需求指标
①给出产品性能的主要指标,如在100000记录中查询一个特定数据的时间为0.5秒;
②以某个已发布的版本为基线,如比上一个版本的性能提高30-50%;
③和竞争对手的同类产品比较。

2、系统的性能指标
①CPU利用率;
②内存占用率;
③磁盘I/O;
④响应时间;

性能测试的方法

性能测试方法主要有:能力验证、规划性能、性能调优、压力加载、性能下降曲线分析。

1、能力验证
能力验证强调:系统具备的硬件设备、软件环境、网络条件、基础数据。能力验证使用到可靠性测试、压力测试、失效恢复测试 。

2、规划性能
规划性能关心的是要求系统具有的性能,强调系统配置,使系统能够满足增长的用户数的需要等问题。规划性能使用到负载测试、配置测试、压力测试。

3、性能调优
性能调优关心的是要求系统确定基准环境、基准负载和基准性能指标;调整系统运行环境和实现方法;记录测试结果、进行测试分析。

4、压力加载
压力加载强调:
①稳定压力加载。一次性将负载加到某个水平,持续一段时间;
②逐渐加载或交替加载到某个负载水平;
③峰谷测试。确定从系统高峰时间的负载转为几乎空闲、再攀升到高负载这样峰值交替情况下的系统性能状态/指标。

5. 性能下降曲线分析
性能下降曲线分析关心的是性能随着用户数的增加而出现下降趋势的曲线分析、查看性能下降的环境点与上下文。确定性能阀值。性能曲线通过单用户区域、性能平坦区域、压力区域、性能拐点进行监控和分析。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次的汗水,都是成功的一步;每一次的努力,都是失败的铺路石。只有坚持不懈地追求梦想,才能达到自己的目标。记得向前看,脚踏实地,为了自己的梦想而奋斗!

每一个成功者都曾历经失败和挫折,但他们没有放弃。只要你坚持不懈地追求自己的梦想,努力奋斗,就一定能够实现自己的目标。无论前路有多少艰难险阻,都要勇往直前,相信自己的能力和潜力。

每一次的努力都会积累成为成功的基石,不要放弃自己,坚持奋斗,相信自己的能力和潜力,你一定可以创造属于你自己的人生辉煌!

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

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

相关文章

视频截取动图怎么做?分享在线视频转gif小窍门

如何将一段视频制作成gif动图表情包呢?Gif表情包常见的制作方法就是将电影、电视剧中的某个画面截取出来做成gif表情包。那么,如何从视频中截取GIF呢? 一、怎样才能完成视频转gif制作? 通过使用GIF中文网的视频转gif&#xff08…

C语言算法--冒泡排序

C语言算法–冒泡排序 1-什么是冒泡排序 冒泡排序是一种简单的排序算法,它通过比较相邻元素的大小,并根据需要交换它们的位置来排序数据。它的名称来自于越小的元素会慢慢“冒泡”到数组的开头。 冒泡排序的基本思想是从数组的第一个元素开始&#xff…

【黑马笔记】web app项目初始化

文章目录 0. 工程介绍1. 使用模版初始化1.1 选择模版1.2 补充文件 2. 使用空项目初始化2.1 新建maven项目&#xff0c;直接新建2.2 补充文件2.2.1 补充packaging形式&#xff1a;war2.2.2 借助Facets自动补齐 0. 工程介绍 打包方式 新建maven项目&#xff0c;使用<packing&…

数据结构总结1:了解数据结构、时间复杂度、空间复杂度

后续可能会有补充和更改 目录 一、数据结构 1.算法介绍 二、时间复杂度、空间复杂度 三、练习 1.时间复杂度 2.空间复杂度 一、数据结构 数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。 数据结构和数据库的区…

Jmeter测试POST请求

Jmeter测试POST请求 1、添加http请求 线程组->取样器->http请求 参数说明&#xff1a; 协议&#xff1a;http 服务器&#xff1a;10.1.1.26&#xff08;也就是ip地址&#xff09; 端口&#xff1a;8081 方法&#xff1a;POST 路径&#xff1a;例如&#xff…

滴滴 Java 一面面经

目录 1.了解Java集合嘛&#xff0c;详细说一下Map&#xff1f;2.为什么HashTable线程安全却不常用&#xff1f;3.HashMap不是线程安全&#xff0c;多线程下会出现什么问题&#xff1f;4.什么办法能解决HashMap线程不安全的问题呢5.ConcurrentHashmap是怎么实现的&#xff1f;6.…

ALOHA 开源机械臂(Viper 300 Widow X 250 6DOF机械臂 操作系统)第三部分

详情链接&#xff1a;https://tonyzhaozh.github.io/aloha/ Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware 用低成本硬件学习细粒度双手操作 Tony Zhao Vikash Kumar Sergey Levine Chelsea Finn Stanford University UC Berkeley Meta 斯坦福大学…

分布式锁解决方案_Zookeeper分布式锁原理

通过召zk实现分布式锁可靠性时最高的 公平锁和可重入锁的原理 取水秩序&#xff1a; &#xff08;1&#xff09;取水之前&#xff0c;先取号&#xff1b; &#xff08;2&#xff09;号排在前面的&#xff0c;就可以先取水&#xff1b; &#xff08;3&#xff09;先到的排在…

Go语言的学习【1】基础语法之前的准备事项

目录 什么是云原生学习方法go语言的IDE配置之VScode写go代码要注意的事情一些基本命令基础语法Go 语言原生自带测试Go vetPrint-format 错误&#xff0c;检查类型不匹配的printBoolean 错误&#xff0c;检查一直为 true、false 或者冗余的表达式Range 循环&#xff0c;比如如下…

ThingsBoard部署tb-gateway并配置OPCUA

1、安装 我实在自己的虚拟机上安装,使用官方Docker的安装方式 docker run -it -v ~/.tb-gateway/logs:/thingsboard_gateway/logs -v ~/.tb-gateway/extensions:/thingsboard_gateway/extensions -v ~/.tb-gateway/config:/thingsboard_gateway/config --name tb-gateway --…

《安富莱嵌入式周报》第312期:开源磁场照相机,仿生神经元PCB,开源无线耳机,手机系统PalmOS移植到各种单片机,开放系统组装协议OSAP

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; BSP视频教程第26期&#xff1a;CAN/CANFD/CANopen专题&#xff0c;CANFD整个运行机制精…

PyTorch RNN的原理及其手写复现。

PyTorch RNN的原理及其手写复现。 记忆单元(考虑过去的信息)分类包括&#xff1a;1.RNN 2.GRU 3.LSTM模型类别&#xff1a;1.单向循环(左到右) 2.双向循环&#xff08;考虑未来信息&#xff09; 3.多层单向或双向循环优缺点应用场景具体公式 代码实现 记忆单元(考虑过去的信息)…

网络安全合规-数据安全评估

目前&#xff0c;我国在数据管理领域&#xff0c;已经正式出台的国家标准有《数据管理能力成熟度评估模型&#xff08;GB/T 36073-2018&#xff09;》&#xff08;DCMM&#xff09;&#xff0c;在数据安全检测评估、认证领域的标准有《数据安全能力成熟度模型&#xff08;GB/T …

实现取关和关注功能

将关注过的用户id存如数据库中 //关注或者取关 Override public Result follow(Long id, Boolean flag) { //1.获取当前登录用户的id UserDTO user UserHolder.getUser(); if(usernull){ return Result.fail("请先登录"); } Long userId user.getId(); //2.判断是关…

vue3+antDesignVue前端纯导出

效果 <a-buttonsize"default"style"margin-left: 10px"click"exportData">导出</a-button>1.下载所需依赖 npm install xlsx --save npm install file-saver --save<script setup> import { reactive, ref } from "vue…

SpringBoot——多环境开发

简单介绍&#xff1a; 在我们的开发过程中&#xff0c;我们的程序开发分为几个基本的阶段&#xff0c;比如开发阶段&#xff0c;调试阶段&#xff0c;运行阶段&#xff0c;在不同的阶段可能需要有不同的配置文件去对我们的项目做配置&#xff0c;那么要如何在不同的环境中配置…

C语言:数组定义方式

一、数组简介 <1>前言 大家首先来思考一个问题&#xff0c;若是我们想要定义两个变量&#xff0c;求这两个数的平均数&#xff0c;该怎么求呢&#xff1f; 例如&#xff1a;int a 10,b 20 int average (a b) / 2; 上面的公式&#xff0c;我相信大家应该很快就能够求出…

牛奶蛋白过敏VS乳糖不耐受,看完这篇终于分清了

乳糖不耐受 乳糖不耐症的主要表现为一些胃肠道症状&#xff0c;有腹部紧张、肠鸣、腹痛、排气和腹泻等症状。如出现这些症状都是乳糖不耐受症的表现之一&#xff0c;但患有乳糖不耐的个体症状差异很大&#xff0c;而严重的乳糖不耐受多于摄入一定量乳糖后30min至数小时内发生。…

Python安装教程2023(小白专用)已验证

第一次接触Python&#xff1f;下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录&#xff0c;并且遇到的问题也会写出&#xff0c;让完全不懂的小白也可上手安装&#xff0c;并且完成第一个Hello world代码。 [Python 安装] 目前&#xff0c;Python有两个版本…

【手机建站】Android Termux+cpolar内网穿透,搭建外网可以访问的网站

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 概述 Termux是一个Android终端仿真应用程序&#xff0c;用于在 Android 手机上搭建一个完整的Linux 环境&#xff0c;能够实现Linux下的许多基本操作&#xff0c;不需要root权限Termux就…