全网最火,Web自动化测试驱动模型详全,一语点通超实用...
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
自动化测试模型:可以理解为自动化测试框架+工具设计的一种思想产物。
Web自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/
库、框架、工具之间的区别:
库:由代码集成的一个产品,供用户调用。面向对象的库叫做类库,面向过程的库叫做函数库,webdriver就属于库的范畴。
框架:为解决一个或一类问题而开发的产品,一般只需要使用框架提供的类或函数,即可实现全部功能。前面的博客中提到的unittest框架,
主要用于实现测试用例的组织和执行,以及测试结果的生成,因此通常称它为单元测试框架。
工具:相对框架来说更抽象,屏蔽底层代码,一般提供单独的操作界面供用户使用,像QTP、selenium IDE就是自动化测试工具。
1、线性测试
早期的自动化测试,就是通过录制或者编写应用程序的操作步骤产生响应的线性脚本,来模拟用户完整的操作场景。
优点:单个脚本相对完整,且独立,可拿出来单独执行;
缺点:开发成本很高,测试用例之间可能存在重复操作,每次都要录制或编写重复的操作,比如用户登录;
维护成本很高,因为存在重复操作,因此如重复操作发生变更,就需要包含重复操作的用例都需要进行修改;
2、模块驱动化测试
将重复的操作独立封装为公共模块,用例执行过程中需要用到时调用该公共模块,最大限度的消除重复操作;
优点:提高开发效率,不用重复编写相同的脚本;
简化了维护的复杂性,如果某个地方发生变化,只需要修改变更内容即可;
3、数据驱动测试
即根据数据的改变去驱动自动化测试的执行,最终引起测试结果的改变,简单来说,数据驱动就是数据的参数化,因为输入的不同而引起输出的不同。
数据驱动的方式很多,无论读取的是定义的数组、字典,或是外部文件(excel、yaml、csv、txt、xml等),都可以看做数据驱动,目的都是实现数据与脚本分离。
优点:增强脚本的复用性,比如用户登录模块,使用不同的数据进行登录,这样可以很好的适用于相同操作不同数据的情况。
4、关键字驱动测试
关键字驱动和数据驱动很相似,通过关键字的改变引起测试结果的改变,也称之为表格驱动测试或基于动作字的测试。
关键字驱动基本上将测试用例分为4个不同的部分。
分别是:
测试步骤(Test Step)、测试步骤中的对象(Test Object)、测试对象执行的动作(Action)、测试对象需要的数据(Test Data)。
目前典型的关键字驱动工具以QTP(最新版本叫做UTF)和Robot Framework为主,前者为商业工具,后者开源。
这类工具皆封装了底层代码,提供独立的图形界面,只需使用工具所提供的关键字,以“填表格”的方式来编写用例即可。
缺点:个人认为,这种傻瓜式的测试模型对个人的技术和经验提升,没有太大帮助,本人还是比较倾向于写代码去实现自动化测试,毕竟,“代码改变世界!”
不过话说回来,无论是工具还是测试模型,都是辅助我们更好的工作,提升效率;这一点,仁者见仁智者见智,观点不同而已。
5、综合自动化测试
上面的几种自动化测试模型,有各自的适用场景和优缺点,但实际来说,真实的场景往往比我们预估的更复杂,所以,根据实际情况选择合适的测试模型,综合使用不失为一种比较合理的做法。
个人认为,成功的自动化测试模型,通常都融合了“模块驱动”+“数据驱动/关键字驱动”,优点如下:
1)即拥有脚本与测试数据相互分离的优点,又结合了模块驱动的架构,这样会使得测试脚本更加简洁,并减少运行时意外失败的可能性;
2)该架构可以实现一些纯粹的“数据/关键字驱动测试”难以实现的自动化测试任务;
3)大大减少了测试用例的维护复杂性,提升了脚本开发效率,测试脚本的可复用性、移植性较强;
下面列举一下现企业常用做的自动化测试框架:
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
每个人都有自己的梦想,但只有付出行动和努力,才能让它们成真。不要被困难吓倒,相信自己的能力,坚持不懈地追求,成功必将属于你!
生活总会有各种不如意,但只要你始终保持着奋斗的心态,勇敢面对,积极进取,就一定能够克服困难,迎接成功的曙光!
只有肯坚持、不怕失败的人,才能最终迎来胜利的曙光。做自己该做的事,让梦想变得更加美好。与其后悔错过每一个机会,不如努力拼搏,创造属于自己的奇迹!
相关文章:
全网最火,Web自动化测试驱动模型详全,一语点通超实用...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化测试模型&a…...
如何写软件测试简历项目经验,靠这个面试都要赶场
一、前言:浅谈面试 面试是我们进入一个公司的门槛,通过了面试才能进入公司,你的面试结果和你的薪资是息息相关的。那如何才能顺利的通过面试,得到公司的认可呢?面试软件测试要注意哪些问题呢?下面和笔者一起来看看吧。这里分享一…...
【Linux】Linux下安装Mysql(图文解说详细版)
文章目录 前言第一步,进到opt文件夹下面,为什么?因为opt文件夹相当于Windows下的D://software第二步,用yum安装第三步,设置mysql的相关配置第四步,设置远程连接。第五步,更改mysql的语言第六步&…...
Cookie和Session的API、登录页面
目录 一、Cookie 和 Session 1、HttpServletRequest 类中的相关方法 2、HttpServletResponse 类中的相关方法 3、HttpSession 类中的相关方法 4、Cookie 类中的相关方法 二、网页登录 1、约定前后端交互接口 2、编写一个简单的登录页面 3、编写一个Servlet 来处理这个…...
C++数据结构:手撕红黑树
目录 一. 红黑树的概念及结构 二. 红黑树节点的定义 三. 红黑树节点的插入 3.1 初步查找插入节点的位置并插入节点 3.2 红黑树结构的调整 3.3 红黑树节点插入完整版代码 四. 红黑树的结构检查 4.1 检查是否为搜索树 4.2 检查节点颜色是否满足要求 附录:红黑…...
Spring IoC 深度学习
Io回顾 IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容器来管理所有 Jav…...
C语言从入门到精通第17天(指针和数组联用)
指针和数组联用 不同类型指针变量之间的区别数组的指针指针数组 不同类型指针变量之间的区别 在了解数组和指针联用之前,我们先对指针变量进行补充。我们对比一下int *p1和char *p2的区别? 相同点: 都是指针变量都是用来保存一个内存地址编…...
Android9.0 原生系统SystemUI下拉状态栏和通知栏视图之锁屏通知布局
1.前言 在9.0的系统rom定制化开发中,对于系统原生systemui的锁屏界面的功能也是非常重要的,所以在锁屏页面布局中,也是有通知栏布局的,所以接下来对于息屏亮屏 通知栏布局的相关流程分析,看下亮屏后锁屏页面做了哪些功能 2.原生系统SystemUI下拉状态栏和通知栏视图之锁…...
音视频八股文(10)-- mp4结构
介绍 mp4⽂件格式⼜被称为MPEG-4 Part 14,出⾃MPEG-4标准第14部分 。它是⼀种多媒体格式容器,⼴泛⽤于包装视频和⾳频数据流、海报、字幕和元数据等。(顺便⼀提,⽬前流⾏的视频编码格式AVC/H264 定义在MPEG-4 Part 10)…...
python算法中的深度学习算法之深度信念网络(详解)
目录 学习目标: 学习内容: 深度信念网络 Ⅰ. 预训练 Ⅱ. 微调 学习目标: 一分钟掌握 python算法中的深度学习算法之深度信念网络 入门知识...
SPSS如何绘制常用统计图之案例实训?
文章目录 0.引言1.绘制简单条形图2.绘制分类条形图3.绘制分段条形图4.绘制简单线图5.绘制多重线图6.绘制垂直线图7.绘制简单面积图8.绘制堆积面积图9.绘制饼图10.绘制直方图11.绘制简单散点图12.绘制重叠散点图13.绘制矩阵散点图14.绘制三维散点图15.绘制简单箱图16.绘制分类箱…...
打动人心的故事 | 如何利用文案在Facebook上塑造品牌形象
在当今的数字营销时代,文案已经成为各大平台上不可或缺的元素之一。在Facebook上,一个好的文案能够为品牌带来巨大的曝光率和用户黏性,甚至可以改变用户对品牌的看法。那么,如何利用文案在Facebook上打动人心,塑造品牌…...
什么是模糊控制?
模糊控制设计原理 1、传统控制系统和模糊控制系统 传统控制系统结构: 控制目的:通过控制器调节控制信号u,使输出信号y达到要求 模糊控制系统结构: 与传统控制系统的差异:用模糊控制器FC(Fuzzy Controller&…...
仿抖音开发需要注意的问题
一、版权问题 仿抖音开发需要注意版权问题,包括内容的版权和软件的版权。在开发的过程中,不要直接抄袭他人的作品,应该注重保护知识产权。 二、安全性问题 仿抖音开发需要重视应用的安全性问题,避免应用在使用过程中发生安全漏…...
如何根据期刊缩写查找期刊?
英文论文写作中,经常会插入参考文献。参考文献中的期刊名称,时常需要使用缩写。或者是手头有期刊缩写后的名称,但是有时候,查了半天也查不到期刊期刊全称,费时费力让人崩溃。今天就给各位学者老师总结一些查询期刊缩写…...
数据发送流程
在发送模式下,UART 的串行数据发送电路主要包括一个发送移位寄存器(TSR),TSR 功能是将数据 逐个移位送出。待发数据必须先写到发送缓冲区中。 TXIFx 是发送中断标志位,可配置为发送缓冲区空或TSR 空。 数据的发送支持7bit 、8bit 或9bit 数据…...
堆及其应用
堆是一种基于树结构的数据结构,通常用于实现优先队列。堆分为最大堆和最小堆两种类型,最大堆的每个节点的值都大于等于其子节点的值,最小堆则相反,每个节点的值都小于等于其子节点的值。 基础算法操作包括: 1. 插入元…...
MySQL数据库备份脚本
PS:此脚本简单易懂,根据实际情况修改个别参数测试后即可使用,如有错误请指出! 1.MySQL数据库备份脚本 #!/bin/bashuser pw ip dateYdate "%Y" date2date "%Y%m%d" date3date "%Y%m%d %H:%M" date…...
【2023 · CANN训练营第一季】应用开发深入讲解——第三章应用调试
学习资源 日志参考文档 应用开发FAQ 日志主要用于记录系统的运行过程及异常信息,帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。 日志分为如下两大类: 系统类日志:系统运行产生的日志。主要包括: Contro…...
黎曼几何与黎曼流形
目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记,做了解,不深入。 0.黎曼几何 黎曼几何是一种基于欧几…...
lua | 运算符与字符串
目录 一、运算符 算数运算符 关系运算符 逻辑运算符 其他运算符 运算符优先级 二、字符串 转义字符 方法与用途 字符串截取 字符串大小转换 字符串查找与反转 字符串格式化 字符与整数的转换 匹配模式 本文章为笔者学习分享 学习网站:Lua 基本语法 | …...
NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成
NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成 原文来自:VERITAS 中文社区 2023-04-27 在执行恢复任务时,手动提取、更新数据库和实例并将其附加到 PostgreSQL 和 MySQL 是常规操作。而在最新的 NetBackup 10.2 版本中&am…...
ADRV9002官方例程开发过程中遇到的问题
开发环境:Vivado2021.2 HDL版本:hdl_2021_r2 GitHub - analogdevicesinc/hdl at hdl_2021_r2 no-OS版本:no_OS-2021_R2 GitHub - analogdevicesinc/no-OS at 2021_R2 (PS:也可以用Vivado2019.1开发,…...
Figma转换为sketch,分享这3款工具
在我们的设计工作中,我们经常会遇到各种各样的设计文件相互转换的问题。 你经常为此头疼吗?当你遇到Figma转换Sketch文件的问题时,你是如何解决的?Figma转换Sketch文件有工具吗? 根据众多设计师的经验,本…...
淘宝天猫1688京东商品详情API接口,封装接口可高并发
要提供商品详情数据需要知道具体的商品信息,但通常商品详情数据应包括以下内容: 商品名称:商品的名称,以方便顾客对其进行识别和区分。 商品描述:一段让顾客能够全面认识商品的描述。应能够有效地展示商品的特性、功能…...
虹科荣誉 | 虹科工业物联网产品荣获中国自动化产业年会用户信赖产品奖!
2023 虹科荣获2021年度中国自动化产业年会用户信赖产品奖 近日,2023中国自动化产业年会于北京隆重举行。虹科工业物联网的产品“OPC UA Tunneller软件”凭借其产品优势和市场美誉度,通过层层选拔,在本次大会中荣获2021年度用户信赖产品奖。…...
SwiftUI 如何让文本自动支持查找和替换功能?
概览 有些情况下,我们需要为文本编辑器实现文本的查找和替换功能(find & replace),如果完全靠自已撸码还是比较棘手的。 所幸的是,从 SwiftUI 4.0 (iOS 16)开始,Apple 已经将查…...
SpringCloud全面学习笔记之初尝美妙篇
目录 前言初识微服务单体架构分布式架构微服务架构初见SpringCloud微服务治理分布式服务架构案例 微服务组件及使用Eureka注册中心提供者和消费者Eureka的结构和作用搭建Eureka服务注册服务服务发现Eureka注册服务总结 Ribbon负载均衡原理负载均衡原理负载均衡策略懒加载 Nacos…...
Spring MVC框架
Spring MVC框架 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spri…...
Illustrator如何使用图层与蒙版之实例演示?
文章目录 0.引言1.绘制可爱冰淇淋图标2.霓虹渐变立体文字海报3.炫彩花纹背景 0.引言 因科研等多场景需要进行绘图处理,笔者对Illustrator进行了学习,本文通过《Illustrator CC2018基础与实战》及其配套素材结合网上相关资料进行学习笔记总结,…...
网站建设公司怎样布局/厦门人才网官方网站
尼日利亚太阳能互联网服务提供商 Tizeti 推出了 4G LTE 网络,计划到 2020 年将覆盖尼日利亚和西非的主要城市。Tizeti 是从 Y 孵化器和 XL 非洲加速器走出来的公司,自去年筹集了 300 万美元的资金以来,该公司一直在扩大业务,目前总…...
西安专业做网站的公司/百度站长之家工具
在做一个佩戴设备APP时,需要做一个绿色圆角,内部为透明的按钮。先来看一下效果 效果实现 先新建一个shape资源 shape_button.xml <?xml version"1.0" encoding"utf-8"?> <shape xmlns:android"http://schemas.and…...
新1站网站建设/百度网站收录提交
Git是一款注重速度、数据完整性、分布式支持和非线性工作流的分布式版本控制工具。Git最初由Linus Torvalds在2005年为Linux内核开发而设计,如今已经成为被广泛接受的版本控制系统。和其他大多数分布式版本控制系统比起来,不像大多数客户端-服务端的系统…...
外贸主动营销网站建设/app推广营销
/*** 1、除非元素为null,否则向集合添加元素*/ CollectionUtils.addIgnoreNull(personList,null); /*** 2、将两个已排序的集合a和b合并为一个已排序的列表,以便保留元素的自然顺序*/ CollectionUtils.collate(Iterable<? extends O> a, Iterable…...
现在做网站需要多少钱/百度seo正规优化
DB-Engines最近公布了2016年年度2月份最受欢迎数据库管理系统,Elasticsearch由15年的16名上升到16年的12名。增加了四名。如果感觉这不算什么,我们在来看一下Elasticsearch的增长情况。你可以发现,从2013年后Elasticsearch一直处于增长状态。…...
开封市住房和城乡建设局网站/企业营销策划书
安装软件之后重启,ubuntu桌面上没有启动器,没有任务栏,只有一个背景,但是运行正常。这种情况很可能是文件管理程序出现异常了。 解决办法: 打开终端或者CtrlAltF1 进入命令行,重启lightdm,输入…...