普通大学,多年功能测试,3年进入小米测试开发,软件测试如何有效的学习?【8千字长文】

2021-01-12  测试杰克 

坎坷的2020

学软件测试容易,找工作难!

2020年是坎坷的一年,对于我们每个人来说,健康地活着比什么都重要。

现状1-疫情&裁员潮到来

➢原因:

➢疫情影响全球经济,波及大多数行业

➢大环境预测不好导致企业勒紧裤腰带(中美贸易战)

➢投资环境收紧影响大量创业公司

➢企业人力成本上升

➢供大于求

可能在五年前的样子,咱们的软件测试岗位可以说是一个风口。但是现在的话呢,已经开始慢慢趋于一个平衡的状态了,不再是像十年前五年前,就算你不懂技术,也能够找到一个软件测试的岗位,也能够拿到一个还算不错的薪资。

其实现在这样的一个机会已经非常的少了,供求关系基本上是慢慢达到一个平衡标准了。

现状2:手工测试衰落

➢纯手工测试的生产力已经跟不上时代要求

这个是大家都深有体会的,第一个,因为手工测试已经跟不上时代的生产力要求。但并不是说,要淘汰手工测试。(只要有软件测试行业的存在,手工测试就不会被淘汰)这个和自动化测试不会替代手工测试是一个道理。

不管咱们的自动化测试、人工智能做得有多好。手工测试它还是会存在的,只是说它占据的比例会越来越少,而且现在的手工测试并不能和十年前的手工测试去相比。因为现在的技术要求越来越高,现在的手工测试市场额度越来越小。

所以如果你是零基础转行,一定要慎思。

每一行你做到了28定律的2,前(钱)景都是很可观的。

当然不得不承认的是,我们大部分都是普通人,包括我。

能够有一份稳定的工作,过着自己舒心的日子,所以星爷在电影里说到:人嘛,最重要的就是开心!

还是比较传统,认为除夕才是真正的过年。


本文主要分享8个点,可按需来阅读:

Share1:今日头条/腾讯各类大厂软件测试岗面试题

Share2:想拿到年薪二十万,需要具备哪些技能?

Share3:挑战自动化测试

Share4:自动化测试心得

Share5:关于测试开发

Share6:测试行业的现状

Share7:小米测试三年,我如何积累经验?

Share8:如何提升企业面试通过率?




Share1:今日头条/腾讯各类大厂软件测试岗面试题

(1)软件测试习题参考答案

(2)测试面试题及一些资料

(3)用友自动化测试面试题和部分答案

(4)软件测试一些基础面试问题

(5)软件测试面试题(软通动力/博彦科技/奇虎/瑞星/中软)

(6)阿里巴巴和华为笔试和面试题

(7)哔哩哔哩软件测试工程师面试题

(8)美团网软件测试面试题回忆版本

(9)拼多多软件测试校招面试题

(10)瑞星软通测试工程师笔试题

(11)搜狗软件测试工程师笔试题

(12)腾讯近三年78道软件测试面试题(包含答案)

(13)字节跳动测试工程师笔试题

(14)5个重要的面试题(含金量高,分水岭能Pass掉很多人)

(15)华测软件测试面试题解析

(16)软件测试真题试卷

(17)理论基础到测试开发面试题(视频精讲)

(18)其他部分(主要讲解一些综合性的问题)

 

基础


Share2:想拿到年薪二十万,需要具备哪些技能?

由于历史原因,大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。

我大学学的计算机专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。

有人留言问到我,在一线城市做功能测试,如果定个小目标,想拿到年薪二十万,需要具备哪些技能?

首先必须熟练整个产品的业务流程、业务是基础,这样保证产品在快速迭代时、不仅保证新功能的完整性,而且快速回归原有功能不受影响。

然后需要掌握一些常用测试工具来辅助测试:

Web端测试:浏览器开发者工具使用,network、console控制台、兼容性测试

移动端app测试:(安卓/IOS/ipad端)测试全流程,兼容性测试、稳定性测试,流畅度测试、adb常用命令

服务端:掌握接口测试、抓包工具使用、如何校验接口的完整性

Linux:常用shell命令,查看错误日志

数据库测试:熟悉数据库表结构,掌握常用增删改查sql语句,便于分析测试结果。

常用工具使用:SVN/git版本控制工具 、postman、jenkins应用打包和构建

换句话说,如果你拿到一个新的产品测试功能,你如果能通过数据库的表结构,和分析系统日志来快速的熟悉产品业务,说明你的测试思维,功能测试能力已经非常优秀了。

当时我掌握了以上技能点,在公司将工作效率提高了,相对比较轻松,这就导致我有充足的时间,拾起编程语言,最初用的java语言,然后学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺神奇,激发了我浓厚的兴趣。

后来发现Python语言越来越火,而且我发现python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适,

python还能用来爬虫,用python还能写一些定时脚本,数据库脚本,效率非常高

 

Share3:放弃了年薪二十万的offer,挑战自动化测试

我当时在公司得到了领导的信任,待遇方面工资加上年终奖,年薪能达到二十万。

但是在由于当时公司规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界很大,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试工作,

于是我顶住压力,不断的系统学习自动化测试技能,而且学以致用。

我将公司产品前后端的自动化测试全部落地实现。

那些自动化脚本真正成为公司资产,在每次上线回归带来的收益远超出我的预期。

并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。

后面负责自动化测试团队工作,核心框架搭建

学习用到的技术栈包括Python语言、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成等

让我见识到技术的魅力,技术功底的提升能让整个人非常自信。

所以自动测试给我带来的收益不仅仅是待遇的提高,包括中间做自动化测试遇到的坑,解决问题的思路,以及技术的扩展,增长了见识。

最终形成了一套知识框架体系,得到一套有效落地的自动化测试方案

Share4:自动化测试心得

自动化测试没用的误解?

自动化是测试工程师一个永恒的话题,关于有人经常问到我:

至于"自动化测试真的可以提高效率吗?我觉得不行”,我觉得这是对自动化测试意义的最大的误解。

一个知识比如自动化你觉‎得‎没有‎用,是因‎为你不‎会。而你不会的东西,往往是你的雷区

那我们为什么又要做自动化测试?我认为最大的意义在于,对测试人员的能力的固化。

脚本可以代表测试人员的测试方法,通过脚本就把在原来在人身上的能力,固化为组织的资产。

比如:造测试数据,跑大量数据库脚本,页面服务监控等

自动化测试脚本,能让不同的团队即使不懂这个功能的人,也可以通过测试脚本来分享这种能力,这才是自动化的意义。

Share5:关于测试开发

后来一个机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。

这对于我来说也是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高。

到岗后顶住压力,不断的系统学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等

坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,

测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。

所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展测试开发工作。

目前测试平台项目研发已经完成并且在Github开源,有兴趣的朋友可以去Github下载https://github.com/ooqitech/ATP

Share6:测试行业的现状

广州软件测试工资收入


全国软件测试工资收入


1-3年工作经验软测工程师招聘薪资


3-5年工作经验软测工程师招聘薪资


现在测试行业的的趋势,你去面试任何级别的测试工程师都会问你是否会自动化测试,所以自动化测试已经是必备技能,而不是加分项。

换句话说,会用开源的测试工具不足以在公司涨薪或者跳槽至一线互联网大厂。因为真正企业自动化测试落地肯定是一个团队在做,

当你熟悉使用这些开源框架之后,你会发现有些框架之间是相通的,所以基于这些开源框架,我们打造一个属于自己的测试框架,

可以根据公司实际测试需求自主封装适合项目的测试框架,落地实用。建立自己的技术体系,得到一套落地有效的自动化测试方案,从青铜变身王者。

这样让我们自动化团队将更多的精力放在测试用例设计本身上面,达到提高产品质量,提升效率的目的

Share7:小米测试三年,我如何积累经验?

由于历史原因,大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。

技术方向

功能测试工程师

自动化测试工程师

性能测试工程师

测试开发工程师

测试架构师

资深测试架构师

业务方向

业务咨询顾问

行业咨询顾问

技术咨询顾问

项目经理

质量保证工程师

软件质量管理专家

管理方向

测试组长

测试经理

测试主管

项目经理

产品经理

产品总监

 

但是有个比较常见的问题,由于现在企业大多数都是敏捷开发模式,容易陷入版本快速迭代中,

以至于没有时间精力再去额外学习一些高级和主流的测试技术,如某种编程语言、自动化测试工具、测试框架搭建、测试平台研发

即使挤时间强迫自己学习,也不知道从哪里开始入手,那些碎片化的东西,只能让你了解,很难很难消化,

当你要形成自己的输出,用自己的思路和技术来做项目的时候,你要回到那个知识框架里面去学习

不要碎片化信息学习,那不叫学习,要有决策性学习,系统的学习,学习解决问题的思路。

比如接口测试,已经是测试工程师的必备技能,搭建接口自动化测试框架也是测试人员能力分水岭的体现。

从初级功能测试升到资深测试开发工程师,没有别的捷径可走,从始至终我都奉信:进步得靠学习,学习得靠时间堆砌。现在互联网行业基本上都是996趋势,程序员加班情况更为明显,所以利用碎片时间来学习,才是提升自己最合适的方式。

测试职业发展的几个阶段:



软件测试发展过程



软件测试全栈学习路线



实战练手项目

实战项目参考:

现在大部分企业都是前后端分离项目,对于小白而言,练习接口自动化、部署环境可以在gitee/github平台上去搜索这样的网站,来项目实战练手。


之前在上海写的测试平台项目研发已经完成并且在Github开源,有兴趣的朋友可以去Github下载https://github.com/ooqitech/ATP


Share8:如何提升企业面试通过率?

(1)准备简历

面试是会根据简历来进行对你提问的,尤其是对于测试人员来说,看到你的项目经历后,或多或少都会问相关的问题,甚至一线互联网公司会针对项目进行提问,所以准备简历这一环节就尤为重要。

准备简历时,一定要真实,简历作假是职场大忌,切记切记。其次,要分清楚“了解、熟悉、精通”三词的区别,对技术栈的掌握程度跟面试题难度密切相关。

 

当然,为了帮助各位能够顺利过了简历,我也准备了一些模板大礼包,包括我自己的个人简历也在里面,欢迎大家参考:


HR常问问题

灵魂五问!

➢请做一下自我介绍

➢你为什么从上家公司离职?

➢为什么转行做测试? 你对测试行业的认识?

➢你的期望薪资是多少?

➢你要问我什么?

(这一些问题大家都是可以提前去做准备的)

首先我们来看一下自我介绍。

其实谁不会做自我介绍呢?我叫某某某我今年多少岁,我来自哪里哪里,不就完了嘛?

这个你说起来其实是挺简单的。但是你想把自我介绍做好,让别人在一分钟之内认识你,去了解你。这个其实还是有技巧的!

无论去哪一家公司面试这灵魂五问,基本上都不会缺席。

➢请做一下自我介绍

➢分析:包含内容:个人基本信息+工作经历+项目介绍。提前准备,表达流程,控制在1-2分钟之内。注意不要说离职原因,不要说转行。如果是外企,准备英文自我介绍。

➢参考示例:

自我介绍这一块。

第一个的:我们要控制时间在1~2分钟之内,不要讲太长时间。

第二个:我们一定要表达流畅,自信。

人生如戏全凭演技!

因为有一些小伙伴去找一些技术类岗位的时候,可能多多少少会有一些小小的“包装”不管是技能上还是在项目经验上。在讲到自己不太熟悉的技能的时候,他就会有一些紧张,会有一些不自信。在这一块一定要克服自己的这种心理。就是说,我首先第一个要说服的就是自己。如果自己都没有说服,表现出来的面试官也不会相信。

自我介绍我们要给HR(面试官)传递三个信息

1.个人基本信息

2.工作经历

3.项目介绍

如果你是去外企面试话,就一定要准备好一份英文的自我介绍。

参考示例:

(1.个人基本信息)

我是来自xx的xx,17年从xxx学校xx专业毕业。(在这里性别女、爱好男之类的就不要赘述了)

(2.工作经历)

目前从事测试行业有3年了,在这3年中我曾在2家公司工作做,第一家是xx公司,第二家是xx公司。

(3.项目介绍)

在这3年中一共做过5个项目,其中包括web项目、app项目,医疗等项目。在这些项目中我主要负责功能测试、接口测试、UI测试、 兼容性测试,自动化测试。在工作中会用到很多工具,比如bug管理系统Jira,postman,fiddler,selenium等等,平时工作中我是一个工作细致认真的人,我觉得贵司的岗位与我很匹配,也相信我自己能够胜任这份工作。谢谢。(突出个人技能+优点)

第一个让面试官认识到了你,第二个知道了你有过几年的工作经验,第三个知道你接触过哪些项目,第四个知道你会哪些技能跟技术,第五个还知道你的性格特征,你的优势是什么。

当你在自我介绍讲的越为清楚的时候,就可以省掉很多一些细节性的问题(每个人都是很忙的,时间很宝贵)

小建议:当你初入职场,准备去面试前。可以对着镜子自己“演讲”一遍。

➢你为什么从上家公司离职?

其实面试官问这样一个问题的原因就是考察你是不是稳定是不是优秀是不是上进以及你在上一家公司中间表现是什么样子的。

➢要点:主要考察你是否稳定,是否优秀,是否积极上进,以及你在上家公司的表现。

我们来看一下几个错误的示例:

➢错误示例1: 被公司辞退了(不优秀)

上家公司很好,走的时候老大也挽留我,但是公司项目不多,比较清闲,我还是想多做一些事情,多- -些锻炼。

➢错误示例2:跟同事相处不来(职场性格)

公司环境和氛围都不错,但是部门]分层,内斗,夹在中间不好做事。我想多学一-些东西,提升自己。

➢错误示例3:. 上家公司加班太多,压力太大(不太稳定)

流程制度不合理,导致工作量分配不合理,沟通也无法解决,会耽误自我的提升

虽然我们内心非常想表述的是这个意思,但是我们不要用非常直述的语言来进行表达。

从上一家公司离职的时候,我们一定不要去讲上一家公司内心的大直白话,一定要去凸显出你的优点。然后咱们拐着弯的来讲,不管在哪一家企业,职场都是非常忌讳讲上一家公司的坏话,因为极有可能你从我这一家公司离职的时候,你也会讲我们公司哪里哪里不好。(都是成年人了,这和我们生活当中做人一个道理,静坐常思记过,闲谈莫论他非)

➢为什么转行做测试? 你对测试行业的认识?

面试官问这一个问题,也就是想知道你的动机是什么,你从事这个行业是不是稳定的。(你对这一份工作的渴求度是多少)

➢参考示例:

1. 测试的发展前景好, 具有挑战性,对测试的未来很看好

从大方向去讲,谁都想去从事一个前景非常好,并且薪资待遇高,又能体验自我价值的职业(岗位)。

2.我性格细致耐心、 很有条理,擅长沟通和发现问题

3.具有开发经验,对代码、数据库、系统都非常熟悉,我相信也能更好的胜任测试工作

从自身小的方面来讲,自身有什么优势,并且非常匹配这个岗位。我觉得我的性格非常适合来做软件测试,因此我转行做了软件测试。这些都是可以帮助你在软件测试行业做得很好,做的很稳定的角度来进行分析。

4.测试覆盖面广, 知识面也要求广,做测试可以让自己涉猎到更广泛的知识

我对这个行业是非常认可的。

➢你的期望薪资是多少?

➢要点: 谈薪资技巧,自我认知

➢分析:薪水是根据面试表现+.工作背景+学习背景+岗位定级来谈。一 般在1000-2000之间浮动。

面试官考察的是你对自我的认知是不是准确。

比如说你其实本来就只会一个功能测试,但是你的薪资就开一个20K50K,这种就明显对自己的认知不准确。

第二个的话呢,也是会从面试表现+.工作背景+学习背景+岗位定级来做一个综合的评定。基本上在薪资方面它可谈的范围大概也就是在1K~2K之间。

对于刚入行软件测试的小伙伴来说,影响还是挺大的,可能1K~2K就是咱们一个月的房租、交通、等日常开销费用。

因此在谈薪资这一块,首先第一个你自己心里要有一个心理值。(自我认知的价值评估)就是说我现在是功能测试工程师,但是我有三年五年的工作经验,那我肯定是要比没有工作经验的情况要高2~3K,这是我对自己经验价值的评估。

比如我的心理值保底至少要拿到8K,低于这个就不会去。在实际面试过程中,我们要在这个数字上做一个涨幅,因为HR是会跟你“砍价”的。

➢1:薪资不要说范围,要说固定数字

我们的薪资不要说范围,要说固定的数字。比如HR问你期望薪资是多少,我说是5~8K,那么HR就会认为5K你也是可以接受的,那么他给你定的就会在5~6K之间(甚至是5~5.5K)

如果我们的心理值是8K我们就说我的预期薪资是10K,也给了HR“砍价”的空间。

➢2: 薪资要高于预期1000-2000左右,HR会跟你砍价

➢3:一般跳槽薪资涨幅30%左右,如果HR问到你以前薪资时,自己要提前准备

有些HR不会问你的期望薪资,他会直接问你上一家公司薪资是多少,他基本上会在你之前的薪资上涨幅30%,作为你薪资定额参考(一般跳槽薪资涨幅都是在30%左右)

➢4:根据面试情况来谈薪资, 如果面试官评价好,可以开高一点

不建议在纸质简历上写期望薪资(不论是写低了还是写高了都不好)我们会根据面试综合的情况,包括你在聊天的过程中间,觉得这一家很有戏,面试官对你非常的满意,那我就可以把薪资谈高一点。

➢你要问我什么?

欢迎在评论区留言。

写在文末的箴言

终于2021如愿意来,无论过去有多少悲欢离合。

有多少纷纷扰扰,当2021年的太阳照常升起,一切能否重新开始?

2021年,同样不会例外,一批1996年前后生人,讲步入婚姻的殿堂。一批1995年前后生人,将拥有他们的第一个孩子。又一批“80后”将迎来不惑之年。又一批“00后”将进入高考考场。

当世界重回正轨,当太阳照常升起,世界持续运转,人类生生不息。

这就是我们最期待的2021

新的一年,我们也许无法真的预知未来。但是无论世事如何变幻,去创造属于自己的人生。

这就是我们的2021。

以上文章中,提及到的所有的思维图、笔记内容、面试题等资料,均可以免费分享,只需要你关注微信公众号: 程序员一凡,【关注】后主页【点击】【领取资料】即可。



217°/2179 人阅读/0 条评论 发表评论

登录 后发表评论