手工测试转做自动化,这3件事不能不知道!
- 2022-04-18 10:00:00
- 海宝
- 转贴:
- 公众号
- 2654
为什么要进行自动化测试
开始正文前,我们必须先统一认知,充分认识到自动化测试的必要性。随着被测系统越来越大,逻辑越来越复杂,测试的工作量也会倍增,这必然会暴露出测试资源与测试生命周期的冲突,因此为了更快、有效、可靠的对被测系统进行测试,需要引入自动化测试。
而另一方面,当下测试开发岗位是目前软件测试的主趋势,也是升职加薪的必要手段,因此自动化测试必须要尽快实施。
分层做自动化
选择做自动化,首先要明确目标,自动化是分层的,目前主流认为,自动化测试主要分为UI、SERVICE、JUNIT三层。01 UI 层
主要是对页面元素进行检验,多用于测试浏览器的兼容性。02 SERVICE层
主要针对的就是接口,而接口关注的就是一个类、或者一个函数的实现。03 Junit 层
则关注于底层代码的逻辑,需要精确到每个 if 分支、每个 for 循环的运行。以主流电商淘宝网为例:
那么我们输入”苹果手机”,而后点击搜索,此时服务器会根据用户要求返回查询结果,这时就是接口测试。
有了接口,后台会判断关键字:收到”苹果手机”就返回其相关内容,如果搜索的为”华为手机”就要返回华为手机相关内容,此时就涉及逻辑判断,最好通过单元测试实现。
明白了每层的自动化的测试标的,接下来再给大家介绍下,为什么是金字塔模型,这代表每层的比重和重要性,因此这个模型告诉我们:
- 一定要对底层实现做单元(JUNIT)测试,当然这部分大部分都是由开发实现。
- UI 因为其不稳定性,投入高但是往往效果小,因此比重低,但是这个框架有个好处,适合学习入门,因此如果你第一次尝试自动化,不妨从 UI 开始做起。
- 接口自动化,对测试人员的编码能力有足够高的要求,但是相对于单元测试,又少了很多细节技术的学习,因此推荐有一定代码基础的人从接口自动化做起。
自动化前的技术储备
决定做自动化之后,是需要有一定的技术储备的,结合我个人的经验,给出如下建议。01 第一步
确立学习一门主要的编程语言,这里主推java,虽然python被很多人说适合测试,但是我建议你学习java,因为自动化核心的框架selenium、testng都是java语言编写的。
02 第二步
学习一门自动化框架,推荐selenium、testng、allure(这个用来产出报告的)。
03 第三步
弄清楚主流的应用层通讯协议,这点至关重要,如果你压根不明白什么是http接口,什么是微服务接口,什么是TCP协议接口,什么是API接口,那么你可能很难有自动化的架构思维。04 第四步
了解下自动化的基本组成,一般要进行:自动化用例设计、脚本开发、数据驱动、参数化、生成测试报告这六大模块,需要了解下每个模块的大致做法,这样方便后面自己定位问题。05 第五步
学习下主流的开发技术框架,推荐springboot,有了这个一站式开发框架,可以快速的帮助你搭建分层的自动化框架,一定要了解下。06 第六步
学习下maven,这个可以更好的帮助你管理自己的自动化工程。07 第七步
最后一步,最最关键,边学习边做是最佳实践,不要学完了再用,而是要边学习边应用,边应用边积累,养成写技术博客的习惯。这里我强调技术储备非一朝一夕之功,只要自己有了学习方向,就可以边做边学!
终极测试的职业规划
如果一旦进入到自动化测试的行业,请明白,也只是测试职业生涯的一小步而已。如果想要在测试行业继续耕耘,有更高的成就,需要为自己制定好严格的职业规划路径。如果把目前的自动化测试分为初级、中级、高级、专家四类,在每一级的要求如下:
今天与大家一起探讨了从手工测试想要转到自动化测试所要做的思考和准备,总结来看,我们首先要清晰的认识自己到底要从哪一层的自动化开始做起,这需要对自己目前现状做充分分析才能决定。
确定了做自动化,那么技术储备必不可少,要清晰的认识到做自动化是离不开技术编码的,最后入行了自动化,要对其职业发展有明确的规划,这样自己才能朝着目标越来越近,大道至简,多说无益,选择转行自动化,那么从现在开始行动吧!
发表评论
联系我们
- 联系人:阿道
- 联系方式: 17762006160
- 地址:青岛市黄岛区长江西路118号青铁广场18楼