找个网站2021能看到,网站开发 文献综述,可以做旅行计划的网站,宁波做网站首推荣盛网络前两天跟一个HR朋友聊天#xff0c;她表示刚在boss上发布了一个普通测试岗位#xff0c;不到一小时竟然收到了几百份简历。而且简历质量极高#xff0c;这是往年不敢想象的。岗位少#xff0c;竞争激烈#xff0c;这是今年软件测试就业的真实写照#xff0c;也是所有岗位…
前两天跟一个HR朋友聊天她表示刚在boss上发布了一个普通测试岗位不到一小时竟然收到了几百份简历。而且简历质量极高这是往年不敢想象的。岗位少竞争激烈这是今年软件测试就业的真实写照也是所有岗位的真实写照。
大环境不好钱越来越难赚了是的就连我远在十八线农村的老娘都知道了让我不要乱花钱。但是没收入总会有断粮的那一天不管什么行情我们都得尽快找到工作。 于是你开始疯狂投简历对你来说找工作最大的诚意就是疯狂投简历奈何全部石沉大海。这样的日子不知道什么时候能结束。
行情变了但是你的求职思维却没有改变仍然按照过去的跳槽经验在找工作。
简历不做任何优化千篇一律没有任何亮点
缺乏投递技巧沟通能力薄弱很难打动HR约到面试
面试前不知道如何准备不刷题不做项目梳理一问细节就懵逼
测试技术单一深度广度都不够即便有面试也常常一轮游
机会本来就少还一个也没抓住时间长了心态失衡只能以学历不行行业不行了安慰自己。
但是我知道你并不甘心虽然很多人说IT行业不行了根本找不到工作了但是对比其他行业IT行业仍然是高薪行业自己过往的经验也都是在这个领域不是说放就能放手的。
你是不是也正在面临以上困境急需破局之道
下面我整理的这份软件测试工程师发展方向知识架构体系图应该会给你带来帮助
抛开疑问只做学术探讨 这次我们抛开所有的疑惑比如自动化测试到底有什么用自动化真的能提升效率么学了自动化能涨多少工资等等以上的话题我这次将不再论述这几个问题也是平时讨论的比较多的问题。
针对以上的问题我做一个总结能涨工资能多赚钱的技术就值得我们去学既然自动化现如今发展的这么火自然有它存在的价值。
小白在想什么 想必每一个大神都是从小白一步步走上来的。当然呢我很能理解小白的想法因为平时经常和一些刚入门自动化测试的同行交流也很深入的了解到他们的一些困惑。
大部分小白想的无非是以下几点问题
1.自动化测试好学吗 2.不学/不写代码能做自动化测试吗 3.怎样学习自动化测试 4.学自动化测试要先学习哪个方向学ui自动化还是接口自动化好像App自动化也比较火要么再来个小程序自动化 5.我没有代码基础工作都是点点点要不要报培训班 6.我需要学习什么语言java 还是 python ...等等
我来针对以上的问题说一些自己的看法
首先自动化测试很好学但是要记住一定要明确学习的方向不要剑走偏锋白花力气。
第一不写代码当然可以做自动化测试但是个人建议还是学习一门语言至于学习什么语言的话很简单不用纠结第一看你是否有编程基础没有选py有的话选java py都可
第二需要看你们的开发用的什么语言和开发用同一门语言能在学习自动化测试的同时降低你和开发之间沟通的门槛提升你在公司的话语权。
第三学习哪个方向我建议web ui自动化》接口自动化》App自动化/小程序自动化当然着重学习接口自动化ui自动化要学但是没太大必要深究。
第四要不要报名培训班这个看你个人如果你觉得自己学习理解能力很强本身自己又很自律同时学习的方向又很明确那么你当然可以不报名培训多省点钱不香么
假如你对自动化测试或者一些编程语言毫无理解身边又没有能带你学习的人那么报名培训绝对是一个快速提升的途径。
盖楼之前先打好地基首先需要学习一门语言 在上面我们也提到了自动化要想做得好必须要学习至少一门语言。当然至于学习语言要到什么程度了我不可能一直学下去吧答案是会用就行
掌握大部分的语法基础已经能够满足你的自动化的日常需求了因为我们写脚本并没有像开发那么难
语言你需要学习for循环if判断数据类型运算符面向对象编程等等不管是java还是python这些都是需要的其实也差不多会一门语言其他的都类似。
语言入门后正式踏上开始自动化成神之路入门篇Selenium selenium作为自动化的老祖宗已经被玩烂了基本上只要是做自动化的无人不知无人不晓。为什么要先学习selenium
它能帮助你快速理解自动化到底是个什么东西并且能直观的在页面上面反馈给你。咱当初也是看着selenium的api一点一点啃下来的几乎每个方法都去尝试了一下。
selenium有1.0 2.0 3.0,建议你学习之前先去了解以下它的历史u以及它的运行原理这样可以勾起你的学习兴趣。你学习selenium需要去安装浏览器强烈建议使用Chrome而不是FireFox前者兼容的更好。
安装好Chrome你需要去安装驱动恭喜你这时候你就会踩到自动化的第一个坑了大部分原因还是因为你的驱动版本和浏览器版本对不上。等能访问百度后这里印象很深的su和kw具体是什么等你学了就知道了
你会再去尝试各种selenium的方法去操作浏览器这时候仿佛打开了新世界的大门奥原来自动化测试是这么个东西真神奇
玩腻了Selenium 等你玩了几天或者几个星期之后你好像对Selenium提不起什么兴趣了脚本也写的越来越6能写出一些线性的自动化脚本了这个时候有点骄傲自满自动化不过如此就这
我想说的是不要高兴的太早你仅仅只是刚跨入自动化测试的大门走了一小步而已。此时你可以开始尝试把项目中一些重复的操作写成脚本去跑满满的成就感有木有自动化的成效初步形成仿佛你开始懂得如何用自动化提升效率了。
开始接触自动化框架unittest/testNG 等你学会单元测试框架unittest/testNG当你学会了selenium后,你会发现大部分的线性脚本很难去管理并且每个脚本需要去一个个run而且还无法统计测试结果这个时候就需要单元测试框架登场了
你会开始学习单元测试框架的用法如何创建一个测试类如何写测试方法如何把你的脚本写成测试用例如何校验测试是否通过用例的执行顺序怎么去控制断言怎么去写这些都是你要去探究学习的。
不满足于单元测试框架的功能 等你脚本写的很6用例也会组织了然后每次领导告诉你跑一下测试然后把测试结果发给他要总结成测试报告的形式。
你这时候屡次打开你的编辑器run test然后刷刷刷的跑完测试一条一条的统计测试结果累得半死发给了领导。
第二天领导又说下班前你再跑一下测试给我份报告想死的心都有了。那么你开始去逛百度逛论坛想要得到解决方法那么“框架”一次就会映入眼帘。
学习自动化框架 此时你已经开始琢磨如何写一个自动化框架出来了那么说明你的自动化已经开始入门了并且往着中级的方向发展你开始研究框架的结构发现有用例管理日志测试报告邮件基础封装类等等还有一种框架的设计模式经典PO模式
你开始对你的用例进行整理封装基类编写页面类封装日志邮件模块等等经过了几个星期的打磨你的第一个自动化框架诞生了
此时你可以去各个技术群去炫耀了自动写出了一个自动化框架很多小白也开始吹捧你叫你大神了。
初始接口测试 以上结束了UI自动化的学习那么下面到接口这边。一般公司用的都是http接口那么你就从http协议开始学习了了解它的结构请求头请求参数请求地址请求方式等等等尝试学习一些抓包工具
如fiddler,chales,wireshark或者浏览器的开发者工具等等去抓包获取一些接口慢慢的观察它的请求构造但是这时候还是云里雾里对接口一知半解。于是下载了一个接口测试工具尝试把参数录入到工具中手动发起调用。
当工具返回200 code时奥原来是这么回事。好像就是和服务端来传递和接受数据的然后前端页面会把数据展示到前台
尝试学习Request/HttpClient库发起请求 在用完postman后就会想到那么我怎么用代码去发起一个请求呢这时候就需要去学习这两个东西。pip install import requests后就开始了你的接口自动化之旅。
你尝试也是把之前ui自动化的增删改查用接口来实现你把抓包的请求参数拿过来一个一个方法的调用然后一键运行一绿三红为什么然后发现接口返回了401无权限奥我没有登入啊那么怎么才能登入呢
抱着很多的疑惑开始研究这时候你需要去了解cookie和token的工作机制再配合你的代码去缓存cookie达到登入。等解决了这个问题但是接口还是报错了啊删除接口提示我没有这条数据
查来查去原来是我那条数据已经用掉了那么怎么可以保证我每次录入的参数都是新的呢这时候就需要去了解接口关联如何把参数从上个接口的响应提取出来给下个接口用。
request/HttpClient结合unittest/testNGallure 一样的等你学会了 request/HttpClient,自然也会想到用单元测试框架把他们集成起来然后又发现了一个高大上的allure测试报告再结合一些日志模块打印参数轻车熟路的这么一个接口框架就出来了和之前的差不多小意思。
尝试用yaml/Excel管理测试用例 等你拿自己的框架重复枯燥的写着测试用例这时候你想了我为啥每次都要request.post方法都是一样的只是数据不一样为什么我要一直写代码呢很累啊为什么不用一些文件来读取测试数据做参数化呢
这时候你开始研究读写excel/yaml了你想把所有的测试用例都放在文件里管理就不用每次去写代码了然而事情并没有那么简单那么我在文件里如何去处理关联数据呢如何去缓存cookie呢如何做断言呢如果做一些动态的输入呢
以上问题就留给你们自己去想了。
高级货git?jenkins?docker容器分布式 走到这一步你已经写过好几个框架了并且基于自己的框架做了优化那么你此时发现一个很严重的问题我的代码居然只能在我本地运行如果要给别人用还需要去别人电脑上配置环境copy代码给他。
那么为什么不用一些代码管理工具去管理我的脚本呢那么就会需要去学习git了解如何add commit push推送我的代码到公司的gitlab这样别人也可以使用那么有了gitlab我想做一些定时任务让它自动执行呢
学jenkins。再更多要是我想多个用例一起跑呢学习selenium griddocker等等。。
自动化顶端之测试平台/工具开发 等你搭建好公司的自动化生态你还是不满足我为什么不把这些东西可视化管理呢做个平台管理用例管理任务管理测试报告我还可以把公司的一些部署任务也集成过来
想法很好此时的你已经不仅仅是一名优秀的自动化工程师了已经迈向了测试开发的道路开始学习了解了测试框架httprunner开发框架django/flask/springboot懂得了接口开发的流程了解了mybatis,shiro,quartz等等开始学习前端
vue/react懂得了什么是组件开发父子组件传值开始了解很多东西甚至运维方面的知识开始了解k8s docker微服务。。那么你越来越往着大神的方向去了希望你还没有秃头此时的你可以骄傲的称自己为一名合格的测试开发或者叫全栈开发了有木有到此告一段落。
PS: 以上就是我个人也相信是大部分学习和喜欢自动化测试的一个学习路线当然本次没提到一些App端/小程序端的自动化测试其实也都大致类似。希望各位看完本文章点个赞祝大家少走弯路
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 文档获取方式
加入我的软件测试交流群822269834免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取