【软件测试】自动化测试的科幻大片,揭开面纱的后背......

news2024/11/28 0:34:57

目录:导读

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


前言

只要一听到 “自动化” 三字,就立马开始脑补出一部科幻大片,在一个廖无人烟的工厂里,无数个机器人相互协作,通过信号传递,自动生产,自动包装,自动运输,自动售卖,自动完成任何一个工作,而人们的双手再也不用被束缚,双手被解放,人们只需在工厂外的休息室呼呼大睡的场面…

题外话
面试场景:
面试官:你为什么要换工作?
小A:因为之前一直在做手工测试,想转行自动化测试,这样才能实现我的宏伟测试梦想,达到人生的测试水平高峰,实现最高标准的人生规划。
待小A说完,不出3秒就被面试官给怼了回来:那我们这还是手工测试,我想我们这的工作并不适合你,那今天的面试就这样吧。

听完很丧的小A拿起了百度,浏览了几个小时的关于“自动化测试”的文章,意识到其实自动化测试并不能完全取代手工测试,看来我对自动化抱着太深的幻想,其实自动化并没有那么神秘高能。

继续带着这份认知,小A慢慢在测试工作中不断地学习和思考每一个具体可以用到自动化的地方,从这些点着手研究适合的自动化测试方法和工具。

其实自动化测试有很多种,当我们想要去快速地回归接口功能、定时地监控接口功能是否有异常,那么这就是接口自动化的运用。

当然,接口自动化所基于的测试工具有很多,可以通过带UI的工具,如Postman、Jmeter、甚至是咱们每天都在用的IE360火狐Chrome浏览器;也可以通过更高效、非UI界面的方式,也就是编写代码脚本去进行。

如利用Python的UnitTest测试框架、用第三方Requests库发送我们需要测的每一个请求,甚至可以使用Flask库Restful模块去编写一个我们待测的接口或是用Mockserver编写一个假接口,让我们能提前写好每一个接口测试用例。

除了接口自动化,对于咱们带UI界面的Web项目测试用到最多的是UI自动化测试,那么相信大家耳濡目染的就是用Python语言/Java语言+Selenium库来控制咱们的浏览器做UI自动化测试,当然,对于网页,学会元素定位的方法非常重要,使用频率比较高的XPath、CSS定位方法。

这些其实只实现了我们平时所说的“点页面”的自动化,如果想要这些自动化脚本能每年每天每时每分每秒/某年某天某时某分某秒去自动执行,当然少不了Jenkins定时执行任务脚本的功能。

不过仅仅对自动化测试脚本的学习也是不够的,对数据库的学习也需要同步进行,就正如我们在执行一个自动化脚本前,都需要清数据,或是当我们去发送任意一种Restful风格的请求时,改变我们资源池中的资源时,都是需要借助于数据库的知识。

然而真实的测试工作,也不仅仅只有自动化测试,因为只有手工测试和自动测试相结合,再结合数据库、中间件、操作系统的知识,所有这些知识环环相扣,相互运用,才能发挥机器最高效的力量。

也许大家在自动化测试环境搭建、工具下载、环境配置中踩过很多坑,遇见很多阻碍性的困难,导致咱们无力,不想继续学习高大上知识的步伐,这个时候还是需要咱们静下心来,通过各种方式一个个消灭它!不仅成就感倍增,信心感也会爆棚。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

复杂的事情简单做。简单的事情认真做。认真的事情重复做。重复的事情创造性地做。过去的快乐留待回忆,未来的快乐正在计划,但快乐只能现在感受!

机会,需要我们去寻找。让我们鼓起勇气,运用智慧,把握我们生命的每一分钟,创造出一个更加精彩的人生。

成功的经理人员在确定组织和个人的目标时,一般是现实主义的。他们不是害怕提出高目标,而是不让目标超出他们的能力。

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

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

相关文章

Solon v2.1.4 发布。支持 java、kotlin、groovy!

本次发布,重点测试和验证了在 java、kotlin、groovy 三种 jvm 语言里,开箱即用的特性。并发布 Solon Initializr: https://solon.noear.org/start/ (也即将发布 idea 插件) 最近,与小诺开源团队合作发布了…

JS中如何将一个普通对象转换为可迭代对象,并且可使用for...of迭代对象,内含手写一个简单的迭代器

文章目录一、认识迭代器二、为类数组添加迭代器方法三、为colorObj对象添加迭代器方法四、优化colorObj代码五、ES6内置迭代对象方法这里有一个普通对象: const colorObj {white: "小白",black: "小黑",gray: "小灰", }如何对 colo…

hyper-v安装koolshare软路由

注意 windows更改适配器配置,为hostonly适配器配置两个IP hyper-v虚拟机内存设置为2G(windows pe启动需要) hyper-v虚拟机配置网络》选择hostonly网络 以管理员身份运行IMG写盘工具 BIOS从IDE启动 去掉DVD驱动器 添加硬件》网络适配器》wan网…

华为机试题:HJ84 统计大写字母个数(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

10 种主数据模型设计示例分享,推荐收藏

主数据模型是主数据管理的基础,一个完整的、可扩展的、相对稳定的主数据模型对于主数据管理的成功起着重要的作用。规划、创建主数据模型的过程,是梳理主数据管理体系的过程,目的是建立一个良好的资源目录结构,划分合理的资源粒度…

网关的通用设计框架

概念 网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别。 网桥:工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络&#xf…

从0到1一步一步玩转openEuler--22 管理服务-关闭、暂停、休眠系统服务

文章目录22 管理服务-关闭、暂停、休眠系统服务22.1 systemctl命令22.2 关闭系统22.3 重启系统22.4 使系统待机22.5 使系统休眠22 管理服务-关闭、暂停、休眠系统服务 22.1 systemctl命令 systemd通过systemctl命令可以对系统进行关机、重启、休眠等一系列操作。当前仍兼容部…

WSO2 apim 多租户来区分api

WSO2 apim 多租户来区分api1. Tenant1.1 Add new tenant1.2 Add Role/User1.3 Published Api2. Delete Teant3. AwakeningWSO2安装使用的全过程详解: https://blog.csdn.net/weixin_43916074/article/details/127987099. Official Document: Managing Tenants. 1. Tenant 1.1 …

电脑常用知识与工作常用工具

什么是电脑快捷键? 所谓快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的。 键盘布局 主键盘区,数字辅助键盘区、F键功能键盘区、控制键区,对于多功能键盘还增添了快捷键区 一、常用快捷…

多线程Thread常用方法和状态

Thread类 及常见方法 1、常见构造方法 方法说明Thread()创建线程对象Thread(Runnable target)使用 Runnable 对象创建线程对象Thread(String name)创建线程对象,并命名Thread(Runnable target, String name)使用 Runnable 对象创建线程对象,并命名Thre…

微信银行卡如何解除绑定?图文教程,快速解除

随着移动支付的普及,微信支付成为人们生活中不可或缺的支付方式。在微信支付中绑定银行卡可以让用户更方便地进行支付,但有时候需要解除银行卡的绑定。那么,微信银行卡如何解除绑定呢?在本文中,小编将详细介绍微信解除…

ZooKeeper实现分布式队列、分布式锁和选举详解

提示:本文章非原创,记录一下优秀的干货。 [原创参考]:https://blog.csdn.net/qq_40378034/article/details/117014648 前言 ZooKeeper源码的zookeeper-recipes目录下提供了分布式队列、分布式锁和选举的实现GitHub地址。 本文主要对这几种实…

XXL-JOB怎么玩?

官网:https://www.xuxueli.com/xxl-job/文档:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8BXXL-JOB主要有调度中心、执行器、任务。开放源产品&#…

数据的存储(2)——浮点型

前言:内容是关于浮点型在内存中的存储详解及例子 数据的存储(1)——整型(点击即跳转) 浮点数的存储规则 任意一个二进制浮点数可以表示成以下形式: (-1)^S * M * 2^E (-1)^S表示符号位,当S0…

企业数字化转型该怎么做?有效工具有哪些?

数字化转型的有效工具有哪些?简单来说,企业数字化转型的工具,可以划分为两大阶段—— 第一阶段是传统的IT软硬件,比如传统的ERP系统等第二阶段是与最新数字化技术相匹配的软硬件,比如“SaaS平台”、“低零代码平台”等…

数据结构与算法基础-学习-13-线性表之链队

一、个人理解链队是线性表的衍生之一,具有先进先出的特性,在队尾进行插入操作,在队头进行删除操作。链队由于是动态扩容的,需要新的数据节点时,分配一个,所以不存在顺序队的真上溢情况。链队删除队头节点&a…

点击化学交联剂1807518-78-0,Propargyl-PEG1-SS-PEG1-t-butyl ester,丙炔单乙二醇二硫键单乙二醇叔丁酯

1、基础产品数据(Basic Product Data):CAS号:1807518-78-0中文名:丙炔-单乙二醇-二硫键-单乙二醇-叔丁酯英文名:Propargyl-PEG1-SS-PEG1-t-butyl ester 结构式(Structural)&#xff…

176、【动态规划】leetcode ——1143. 最长公共子序列(C++版本)

题目描述 原题链接:1143. 最长公共子序列 题目描述 本题和 718. 最长重复子数组(动态规划) 的区别在于此时不要求令一个数组中元素连续。 动态规划五步曲: (1)dp[i][j]含义: 截止到text1[i …

前端编译、JIT编译、AOT编译

一、前端编译:java设计之初就是强调跨平台,通过javac将源文件编译成于平台无关的class文件, 它定义了执行 Java 程序所需的所有信息(许多Java"语法糖",是在这个阶段完成的,不依赖虚拟机&#xff…

将多个springboot项目的pom.xml文件整合

将多个springboot项目的pom.xml文件整合 0.0、前因 ​ 刚入公司敲代码时、发现一个项目中会包含多个子项目、每个子项目会代表一个功能模块、这属实是把我这个菜鸟惊叹到了。而这种分而治之的方式也引申出一个问题:各子项目的依赖如何统一管理? ​ 我…