卧龙区网站建设价格,网页设计作业怎么打包,如何用PS制作网站首页,设计托管网站建设前两天#xff0c;我的一个朋友去大厂面试#xff0c;跟我聊天时说#xff1a;输的很彻底…
我问她#xff1a;什么情况#xff1f;她说#xff1a;很后悔这5年来一直都干的是功能测试…
相信许多测试人也跟我朋友一样#xff0c;从事了软件测试很多年#xff0c;却依…前两天我的一个朋友去大厂面试跟我聊天时说输的很彻底…
我问她什么情况她说很后悔这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年的钻研才能精通,熟练到一定级别甚至做上技术总监也不是没有可能。
对于测试来讲测试的工作其实相对是轻松技术难度也不是特别高所以大家在做测试期间一定要持续学习持续集成才能进步实现自我的价值。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取