自动化实战以及自动化性能测试

news2025/8/6 13:01:57

web自动化测试实战

  1. 编写web自动化测试用例;

  1. 创建自动化项目,根据用例来实现脚本

无头模式

使用selenium4自动化测试工具和junit5单元测试框架结合,如何实现的,以及有什么两点

  1. 使用了junit5中提供的注解;避免生成过多的对象,造成资源和实践的浪费,提高了自动化的执行效率;

  1. 只创建一次驱动对象,避免每个用例重复创建驱动对象造成时间和资源的浪费;

  1. 使用参数化:保持用例的简洁,提高代码的可读性;

  1. 测试套件:降低了测试人员的工作量,通过套件一次执行所有要执行所有要运行的测试用例;

  1. 使用了等待:提高了自动化运行效率,提高了自动化的稳定;

  1. 屏幕截图:方便问题的追溯以及问题的解决。

自动化测试性能

  1. 性能测试概述

性能测试的好坏最终都需要通过数据来展示,通过性能指标对应的数据来判定性能的好坏

  1. 常见的性能指标

2.1、并发

并不是只要发出请求,服务器一定会造成压力。并发强调大量用户和同时性的操作,该情况才会对服务造成压力

2.2、响应时间

2.3、事务

事务是衡量系统处理能力的指标。事务通过数越高,性能越好

每秒事务通过数(TPS):每秒系统能够处理的事务数

2.4、点击率

代表用户每秒向服务器提交的请求数,点击量率越大,服务器的压力越大

注:不是鼠标的一次点击,一次点击可能有多个请求

2.5、吞吐量

单位时间内系统处理的请求数量,体现软件系统的性能承受能力。吞吐量受服务器性能和网络性能的影响。

单位:bytes/s

2.6、资源利用率

不同系统资源的使用情况。包含CPU,内存,硬盘,网络等

  1. 性能测试的分类

3.1、一般性能测试

正常情况下和系统条件下是否满足性能指标

3.2、负载测试

验证系统在一定压力下延长系统的运行时间,直到系统出现“拐点”

3.3、压力测试

验证系统在已经处于极限负载下或者某指标已经处于饱和状态下性能的表现(一定要使系统崩溃),从而了解系统的承受极限

3.4、稳定性测试

验证系统在连续运行情况下,查看系统的各项性能指标(内存泄漏)

  1. loadrunner工具的介绍

4.1、Virtual User Generator(VUG)

主要用来生成性能测试脚本

VUG的使用

  1. 创建一个新的测试性能脚本
  1. 打开LR自带的web系统

启动WebTours服务:D:\LoadRunner\WebTours\StartServer.bat

浏览器访问:http://127.0.0.1:1080/WebTours/

查看WebTours系统登录账号:D:\LoadRunner\WebTours\sgi-bin\users

  1. 编写性能测试脚本

打开WebTours提供的函数工具库

  1. 性能脚本的增强
事务

开始事务:lr_start_transaction

结束事务:lr_end_transaction

集合点

lr_rendezvous

当我们创建更多的虚拟用户去执行编写好的性能测试脚本,不能保证所有的虚拟用户都同时的去执行每一步报错,为了能够真正意义的实现并发,让虚拟用户执行到集合点的地方短暂的集合,在满足条件后一起执行下一个步骤

检查点

web_reg_find

检查点一般要放在请求之前

参数化
脚本录制

使用录制功能可以自动的生成性能测试脚本

4.2、Controller

创建测试场景,运行和监控场景

  1. 针对已经编好的脚本打开controller工具,创建测试场景
2.在脚本运行之前初始化虚拟用户的策略
3.开始走虚拟用户的运行
4.虚拟用户运行的时间
5.结束虚拟用户

区域一:每个虚拟用户的执行状态

区域二:控制场景的运行

区域三:显示当前可查看的监控数据

区域四:查看各项性能指标的曲线变化,通过这里的曲线变化能够大概分析出性能问题

区域五:主要显示各个图标的曲线说明

如果想要查看在性能测试执行期间,系统资源消耗的情况,需要打开相关的系统设置,来允许LR来获取对应的数据

4.3、Analysis

分析性能测试结果,出测试报告

  1. 测试报告

一般情况下,不太关注最大值和最小值,主要看平均值和标准偏差,标准偏差值越大,服务越不稳定

2.测试报表
运行的虚拟用户图

根据显示的运行虚拟用户数量可以判断出现在哪个时间段内给定服务器的负载

点击率(每秒点击数)

通过点击率也可以判断出某段时间内服务器的负载

吞吐量图

吞吐量表示的是响应返回的资源数量,其相比较点击率图像曲线稍微有些滞后的原因就是先有请求再有返回

如果请求变多但是吞吐量没变化,其原因可能是:
1、服务器响应慢了,来不及响应;
2、压力没有到服务器;
3、服务器设计一定的阈值,超过多少个请求之后就不返回响应
平均事务响应时间图
windows资源图

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

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

相关文章

轻量简单的团队协作工具有哪些?远程办公必备软件排行榜

前段时间的疫情不断反复,让不少企业和团队都开启了居家办公,无论是线上协作还是团队会议,都要使用大量的办公远程软件,因为突如其来的场景大转变,所以无形中也给大家增加了不少烦恼。 经历过了就有经验了,…

Docker安装Jenkins练习纪录一

Docker安装Jenkins练习记录参考博客准备资源centos7下载vmware下载jdk8下载Maven 下载FinalShell下载开始练习一些小问题参考博客 https://blog.csdn.net/lzc2644481789/article/details/124888223 https://blog.csdn.net/qq_52423918/article/details/125169577 准备资源 cen…

2023年天津体育学院专升本专业课考试考生考前防疫及入场须知

天津体育学院2023年高职升本科专业考试考生考前须知 一、防疫要求 1.考生要强化自我健康“第一责任人”的意识和责任,自觉履行考前每日健康监测义务。须于考前7天(3月8日前)下载《天津体育学院2023年高职升本科专业考试考生健康安全承诺书》&…

【微信小程序开发全流程】篇章0:基于JavaScript开发的校园综合类微信小程序的概览

基于JavaScript开发的校园综合类微信小程序的概览 本文仅供学习,未经同意请勿转载 一些说明:上述项目来源于笔者我本科大三阶段2019年电子设计课程项目,在这个项目中,我主要是负责的部分有前端,前后端的对接&#xf…

深入理解机器学习——偏差(Bias)与方差(Variance)

分类目录:《深入理解机器学习》总目录 偏差(Bias)与方差(Variance)是解释学习算法泛化性能的一种重要工具。偏差方差分解试图对学习算法的期望泛化错误率进行拆解,我们知道,算法在不同训练集上学…

兴达易控Modbus转Profinet网关连接1200Profinet转modbus接三菱A800变频器案例

下面介绍A800 变频器通过兴达易控modbus转profinet网关,使1200plc无需编程实现Profinet转modbus协议转换,把modbus变频器轻松组网 网络拓扑如下图 打开博图组态加载GSD文件,modbus转profinet网关从站接口接入到1200PLC上 配置modbus转profine…

【MyBatis】篇二.MyBatis查询与特殊SQL

文章目录1、MyBatis获取参数值case1-单个字面量类型的参数case2-多个字面量类型的参数case3-map集合类型的参数case4-实体类类型的参数case5-使用Param注解命名参数总结2、MyBatis的各种查询功能case1-查询结果是一个实体类对象case2-查询结果是一个List集合case3-查询单个数据…

杂记——16.idea中导入maven项目

这篇文章我们来讲一下如何从Gitee上拉取项目,并将该项目导入到idea中 目录 1.拉取项目 2.idea导入项目 3.更改相关的配置 3.1更改maven仓库 3.2更改数据库的连接池 1.拉取项目 第一步:找到相关的项目地址 如图所示,在Gitee上找到相关的…

FPGA时序约束(二)利用Quartus18对Altera进行时序约束

系列文章目录 FPGA时序约束(一)基本概念入门及简单语法 文章目录系列文章目录前言Quartus时序约束不进行时序约束的后果时序约束方法TimeQuest Timing Analyzer 工具来对工程添加约束。创建网表读取SDC文件创建时钟(Create Clock&#xff09…

八股总结(三)操作系统内存管理、进程线程、进程同步与通信、中断与异常、常用命令

layout: post title: 八股总结(三)操作系统内存管理、进程线程、进程同步与通信、中断与异常、常用命令 description: 八股总结(三)操作系统内存管理、进程线程、进程同步与通信、中断与异常、常用命令 tag: 八股总结 文章目录操作…

基础SQL语法及使用案例

通用SQL语法 SQL语句可以单行或多行书写,以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySOL数据库的SQL语句不区分大小写,关键字建议使用大写。注释: 单行注释:--注释内容 或 #注释内容(MySQL特有) 多行注释&#…

英伟达驱动爆雷?CPU占用率过高怎么办?

又有一新驱动导致CPU占用率过高? 上周英伟达发布531.18显卡驱动,为大家带来了视频超分辨率技术,并为新发布的热门游戏《原子之心》提供支持。 但在安装新驱动后没过不久就有玩家反映,在游戏结束后会出现CPU占用率突然飙升到10%以…

YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

前言 前面简单介绍了YOLOv5的项目目录结构(直通车:YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析),对项目整体有了大致了解。 今天要学习的是detect.py。通常这个文件是用来预测一张图片或者一…

TCL 拥抱云原生,实现 IT 成本治理优化

作者:行疾 TCL 工程师团队基于阿里云企业云原生 IT 成本治理方案沉淀了一套成熟的 IT 企业成本治理流程与系统,通过阿里云容器服务提供的开箱即用的成本洞察、资源智能画像等功能,进行业务成本拆分、闲置资源可视化发现,并制定弹性…

【开源库学习】从OkHttp到Retrofit(其二 Retrofit)

从OkHttp到Retrofit简单使用实现原理loadServiceMethodConverter简单使用 class RetrofitActivity : AppCompatActivity() {companion object {const val SERVER "https://www.xxx.com/"}var disposable:Disposable? null;override fun onCreate(savedInstanceSt…

Lesson 8.2 CART 分类树的建模流程与 sklearn 评估器参数详解

文章目录一、CART 决策树的分类流程1. CART 树的基本生长过程1.1 规则评估指标选取与设置1.2 决策树备选规则创建方法1.3 挑选最佳分类规则划分数据集1.4 决策树的生长过程2. CART 树的剪枝二、CART 分类树的 Scikit-Learn 快速实现方法与评估器参数详解1. CART 分类树的 sklea…

Linux线程概念

重新认识一下进程 在之前写过的与进程相关的博文中,都把进程看作是只有一个PCB的进程。如图: 而实际上,在Linux中,进程不止一个执行流,而是可能会有几个或很多个。同一个进程中,每一个执行流都指向同一个虚…

【C语言】3天速刷C语言(初识)

【声明】本篇博客只用于对与刚学习C语言的同学的一个初始了解,具体内容请继续关注本专栏后续内容。什么是C语言C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及…

模仿评论样式

主要用到了padding-left把左侧的空白给留出来,然后把头像定位到留出的空白位置。行内对齐样式,使用了display:inline-flex;align-items:center;图标本来要用字体比较方便,暂时用的从icon font下载的svg样式写的一塌糊涂,一点也没考…

说说转义字符 “\”

转义字符-escape character character 表示字符,包含两层含义, 1.字母 2.符号 转义: 改变含义 字符: 字母、符号 转义字符: 把 字母、符号 的含义改变了注意:这里有 2 个常常被忽视、忽略、轻视的转义规则&…