二战京东测试岗失败,真的后悔了....

news2024/12/26 11:56:59
两天,我的一个朋友去大厂面试,跟我聊天时说:输的很彻底…
我问她:什么情况?
她说:很后悔这5年来一直都干的是功能测试…

相信许多测试人也跟我朋友一样,从事了软件测试很多年,却依然只会基础的功能测试,不知道该怎么进一步学习?

作为在测试行业摸爬滚打十年的测试人,简单粗暴告诉你,破局的方法就一个,那就是进阶自动化测试

为什么?

做过测试的都知道,目前企业对于测试的要求越来越高,占比最大的手工测试或者最基本的功能测试已经无法满足企业的需求。

原因是手工测试的效率低下,而且无法发现系统底层的一些问题,更多的站在应用层面进行验证功能是否正常。

如果继续在企业中做手工的基础测试,在未来的时间内注定被淘汰(很不幸,朋友就是只会功能测试面试失败了)。

所以如果想继续有好的发展,自动化测试甚至测试开发已经成为测试人员需要具备的必备技能了。

 

 

在许多互联网的大厂,软件测试的岗位招聘目前只招自动化测试和测试开发,而且这些岗位的共性就是技术能力较强,基本都需要具备较强的编码能力。从企业的需求来看,自动化测试的缺口还是蛮大的,而且很难招聘到符合要求的自动化测试人员。

基于企业的需求,一线城市自动化测试的平均薪资基本在18K/月左右,未来自动化测试会是作为测试人员主流方向,对于技术的追求程度及全面性会越来越高。所以具备自动化测试的技能显得尤为重要。

那么我们该如何学习自动化测试?

接下来我将按照自动化的三大构成来给大家展开,希望能对大家有用。

自动化构成:

自动化测试在当前市场上应用非常广泛,主流有接口自动化测试和UI自动化测试。在此基础上,加上持续集成,就能实现全自动化测试。接下来我将按照自动化的这三个主要构成来给大家详细介绍自动化

一、接口自动化测试

目前市场上大部分项目,都是前后端分离的项目,由此产生了大量的接口。而接口自动化测试,主要是对接口进行测试

那么,咱们应该怎么进行接口自动化测试呢?这里这几个知识点和工具,必须掌握。

1、HTTP和HTTPS协议

在主流程的接口测试中,又有大量接口是基于HTTP协议实现,数据安全用HTTPS协议进行保障,所以HTTP和HTTPS协议必须掌握。

2、接口文档

在实际工作中,接口的信息的载体除了代码,那就是接口文档了(开发人员提供),了解接口文档的结构、内容和规范可以帮助我们深度参与接口测试以及接口自动化测试。

3、接口测试工具

Jmeter和Postmanmeter是近几年兴起的接口测试工具,它最大的特点就是免费开源,容易学习。

4、Mock测试

在自动化测试中,不是所有的功能都适合自动化测试,对于一些难以处理的测试点,我们不得不使用Mock技术来模拟。登录和注册接口中,密码的MockMock支付环境Mock支付密码Mock验证码(图片验证码、滑块验证码、人脸识别等、短信验证码等等)

5、总结

掌握这几个知识点后,对于HTTP协议的接口自动化测试,完全可以掌握和应用;甚至还可以进行小规模的接口性能测试。

二、UI自动化测试

UI自动化测试的成本比接口测试要高,主要原因不是技术实现难度高,而是因为UI是对接用户的终端界面,它是调整最频繁,改动最剧烈的部分,所以维护成本高。

那么我们不需要进行UI自动化测试了吗?恰恰相反,对一些大型项目,其功能是处于不断地迭代地,虽然界面在调整,但是由于项目周期长,在开发和测试过程中,需要频繁使用自动化测试的脚本进行回归测试,可以提高自动化测试的利用率,提高工作效率,降低工作成本。

而且,UI自动化测试中,有一种很关键的思想,叫做“关键字驱动”测试,专门用来解决UI自动化测试脚本开发和维护的问题。

那么怎么学习UI自动化测试呢?

在这里,我们可以先学习Web自动化测试,再学习App自动化测试。

1 、Web自动化测试

这里推荐Selenium工具和Robot framework

推荐理由:Selenium和Robot framework是世界上排名前十的自动化测试工具(不区分UI自动化和接口自动化)

1.1 Selenium

Selenium主要是进行Web自动化测试,同时在手机APP自动化测试中,有一些测试框架也是基于Selenium来实现。如果要进行Web自动化测试,学习selenium是不二之选。

优点

跨平台、跨语言
支持多种浏览器
支持移动端测试
插件多,扩展性强

缺点

不能直接生成测试报告
不能识别动态图片
掌握Selenium后,那么就掌握了主流的Web自动化测试。
学习Selenium的方法
先掌握手工功能测试,理解测试的功能业务
再学习HTML、CSS、JS这三大知识

第三学习Selenium测试框架

最后学习PO分层管理的思想

1.2 Robot framework

Robot Framework是python语言编写的功能自动化测试工具。具有良好的扩展性,支持关键字驱动,支持同时测试多种类型的客户端或者接口,还可以进行分布式测试。

优点

关键字驱动测试
可以重复利用
易扩展
支持HTML测试报告
有庞大的测试库提供支撑(支持web、手机、windows客户端、数据库、HTTP测试等)

缺点

界面操作共性问题:用例庞大时会很卡
有一些BUG,例如导入测试库时会卡死

学会了Robot Framework的使用,那么就掌握了关键字驱动技术。

1.3 总结

Selenium和Robot framekwork 两者如果都能够掌握,那么无论是主流的Web自动化测试,还是其他UI的自动化测试,都能够有自己的心得,并且在市场中占有一席地位。

2 App自动化测试

2.1 应该选择哪款工具?

我们先看一组数据(主流):

支持的功能数据(TesterHome得到)

由上面两个图,可以发现,Appium无论是在市场利用率,还是在功能上,都比其他工具要强。

而且,Appium不仅支持安卓还支持iOS,所以在这里,我们应该选择学习Appium最能满足市场的需要

2.2 Appium学习方法

官网:http://appium.io/

三、持续集成

1、什么叫持续集成?

我们假想一个场景,现在一个测试工程师把自动化脚本都编写好了,但是这位大佬还是需要每天上班点击“开始“运行脚本,而且当开发提交新的版本时,也需要重新运行自动化脚本。

那么可以不可以让这个自动化脚本,自动的运行,并且在开发每次发布版本之后,自动的执行呢?当然可以,这就是持续集成。

要学习持续集成,我们首先推荐jenkins。

2、什么是持续集成工具Jenkins?

Jenkins工具是JAVA编写的开源工具,无论是扩展性,还是实用性,都非常好,很多中小型公司都是用jenkins进行持续集成,一些大型公司也是在jenkins的基础上进行的二次开发。

3、如何学习Jenkins

理解CI和CD的概念

CI:持续集成(把多个开发编写的代码,集成在代码仓库,自动进行单元测试,并返回结果)

CD:持续交付(把集成的代码,自动的构建、部署、测试、发布,并返回各个阶段的结果)

要实现这些过程,我们需要拆分学习

集成代码

单元测试

构建代码

部署代码

测试代码

发布代码

发送测试结果

使用Jenkins整合这些过程

要想把持续集成学好,光靠Jenkins这个工具其实还远远不够,我们甚至需要深入到架构设计、开发、测试、运维才能很好的进行。

四、总结

其实自动化测试是一个非常广泛的技术,要想深入精通到各行各业,需要至少5年的钻研才能精通,熟练到一定级别,甚至做上技术总监也不是没有可能。

对于测试来讲,测试的工作其实相对是轻松,技术难度也不是特别高,所以大家在做测试期间,一定要持续学习,持续集成,才能进步,实现自我的价值。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

小魔驼3.0下探至9万元背后,是毫末智行的“高位再进化”

作者 | 曾响铃 文 | 响铃说 是60分到90分难,还是90分到95分难? 这个问题不难回答——较高基数上的小幅度上升,要比较低基数上的大幅度上升困难得多。 这个道理在很多领域都十分适用,那些前沿技术领域更是如此,越到…

时钟、SysTick定时器、PWM、ADC

目录 【1】STM32的时钟系统 1.时钟基本概念 时钟源: 2.G030时钟源 3.时钟树 4.STM32CubeMX时钟树配置 【2】Systick定时器 1. 概念: 工作原理 时钟基准 【3】HAL_Delay函数分析 【4】定时器 基本概念 定时器分类 定时器组成 1.计数器 2.自…

软件测试----测试管理方法论

1、缺陷 (1)缺陷的主要变现: 1)需求要求的功能没有实现 2)实现了需求没有要求的功能 3)软件中出现了明确指明不应该出现的错误 4)需求虽未明确说明,但是应该实现的功能没有实现 5&…

MySQL高级|最强王者篇

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…

【WSN覆盖】基于樽海鞘算法的三维无线传感器网络覆盖优化 三维WSN覆盖优化【Matlab代码#27】

文章目录 【可更换其他算法,获取资源请见文章第5节:资源获取】1. 原始樽海鞘算法2. 三维覆盖模型3. 部分代码展示4. 仿真结果展示5. 资源获取 【可更换其他算法,获取资源请见文章第5节:资源获取】 1. 原始樽海鞘算法 2. 三维覆盖模…

RHCE 第六次作业

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行&…

【面试篇】SpringIoC、AOP、MVC面试实战

version:1.0 文章目录 SpringSpring基础 / IoC🙎‍♂️面试官:举例Spring的模块?🙎‍♂️面试官:Spring、SpringMVC、Spring Boot关系?🙎‍♂️面试官:说说对SpringIoC的…

谈谈你对JavaSE中compare、compareTo的使用与比较

1. 前言 在java当中,若是要进行比较,大家可能第一时间想到, 或是 !,这种数学上的比较符>、接下来,我就分别介绍并演示这两种实现方法。 需要的朋友可以参考下,这将又会是干货满满的一期,全程…

【复习笔记】FreeRTOS(一)

FreeRTOS在校期间自学过一段时间,然而出来工作却用不上。 最近在搞东西需要用到RTOS,特意把笔记整理一下,算是复习了。笔记整理主要来源于正点原子的开发文档、视频教程。 文章目录 一、FreeRTOS简介二、FreeTROS移植三、测试例程四、实验效果…

docker搭建简单elk日志系统7(日志查看)

docker搭建简单elk日志系统1 docker搭建简单elk日志系统2 docker搭建简单elk日志系统3 docker搭建简单elk日志系统4 docker搭建简单elk日志系统5 docker搭建简单elk日志系统6 如有疑问可以去上面文档找相关内容 1.登录kibana 2. 以logs-test-dev为例 匹配到logs-test-dev数…

加拿大鹅Q4营收增长超30%,后续如何拿下更多“信任票”?

羽绒服行业正处在一个大混战的时代。有的品牌依托强势单品出海逆袭;有的品牌通过狂追当下Z世代的喜好,推翻经典设计;也有品牌“放下架子”在工厂忙起了特惠直播。在赛道愈发拥挤的背景下,羽绒服行业正在经历“地位”洗牌。 目前&…

如何高效地在网上找开源项目

开源项目是发展技能、分享想法和成为开发社区一员的好方法。开源意味着软件功能背后的源代码与所有想要阅读它的人公开共享。这意味着你可以准确地看到一个系统是如何工作的——一旦你愿意冒险,就为它做出贡献。除了向所有人开放贡献外,这种开放代码库通…

jsp实训培训软件系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp实训培训软件系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用…

机器数、真值、原码、反码、补码

机器数 机器数是数字在计算机中的二进制表示形式。机器数有2个特点:一是符号数字化,二是其数的大小受机器字长的限制。 机器数可以是带符号的,也可以是不带符号的。带符号的机器数用来表示正数、负数和零,而不带符号的机器数只能…

【C++】哈希应用:bitset和布隆过滤器

一、位图概念 一道面试题: 给定40亿个无序不重复的无符号整数。给一个无符号整数,如何快速判断一个数是否在这40亿个数中 遍历,时间复杂度 O ( N ) O(N) O(N)排序: O ( N l o g N ) O(NlogN) O(NlogN),利用二分查找: l o g N …

都说测试行业饱和了,为什么我们公司新招的的测试开了15K?

其实每年都有人说测试行业饱和了,但依旧有很多人找到了薪资不错的工作。来说说我的看法吧,我认为不用担心测试会饱和的问题,我们人口基数大,任何一个行业都有竞争,这是非常正常的情况。而且在有技术能力的人面前永远没…

VoxWeekly|The Sandbox 生态周报|2023.05.15

欢迎来到 The Sandbox 生态周报《VoxWeekly》!每周一发布,与你快速重温前一周整个生态系统中发生的大小事。 如果你们喜欢这些内容,记得 订阅我们的 Medium 并与家人及好友分享。关注我们的 Twitter 并加入 Discord ,以获得我们全…

安卓基础巩固(四):设计原则、安卓主流技术框架MVC/MVP/MVVM、设计模式

文章目录 架构设计为什么要进行技术框架的设计 六大设计原则一、单一职责原则二、开闭原则三、依赖倒置原则四、接口分离原则五、迪米特法则(又称最小知道原则)六、里氏替换原则案例诠释 安卓主流开发技术框架MVC模式MVP模式MVVMMVP模式详解 架构设计 为…

Java Springboot下redis用pipelining管道模式写入性能调优实例讲解

Springboot下redis写入pipelining管道模式性能调优实例 一、真实场景 生产真实项目过程中,需要将数据库的数据同步写入redis,此过程中遇到写入redis的瓶颈。每次启动项目都要将数据库数据重载到redis,这个过程耗费了大量的时间。 二、解决…

图片转字符图片工具类

├── cn.xsshome.imagetool //包名├── convert │ └── ImageToChar //图片转字符图片、文本方法 ├── slideverifycode │ └── SlideVerifyCodeGenerateUtil //滑块验证码工具类代…