一、自动化测试要学多久能学会?
兄弟,老实说如果你现在上班,之前主要在做功能测试,或者编程基础比较弱的话,三个月够呛。
如果你是脱产学习,每天能保持6~8小时学习时间的话,可以。
虽然很多知识付费课程,或者培训班都在宣传“三个月学会自动化测试,升职加薪必备”之类的,但实际上你【了解】一个东西,到【入门】,到你真正【掌握】。这中间是需要时间来实践的。
比如自动化测试,你需要学习UI 自动化,接口自动化,CI部署自动化,自动化数据构造。
UI 自动化细分下来有:Appium、Selenium、ATX、AirTest、uiautomatorviewer、Weditor、 AppCrawler、 UlCrawler、 Appetizer……
接口自动化细分下来有:sosotest、HttpRunner、LuckyFrame、Hitchhiker、phoenixframework
newman、stressTestSystem。
当然,很多工具类的是一通百通,只要掌握好原理,要学起来还是比较快的。
但这东西咋说呢?
就好像上数学课,老师讲的好像你都懂,但你真正懂不懂,要做题才知道。等你做题了,又会遇到各种“变形题”,因为实际工作情况远比上课说的要复杂一些。等你真正把这套东西熟练运用在工作中,一般都需要4~6个月。
像我之前接触自动化测试的时候,因为平常要上班,工作日常常23点这样下班,公司还是大小周。。基本上只能拿周末时间来学习,然后在工作中慢慢去实践,算下来差不多也是半年时间能掌握。
二、自动化测试学习路线
「我把我肝了七天七夜的自动化学习路线摆在这了。」 ⬇️
此图可能是本文最重点的地方了,字体我放大点,建议搜藏!
欢迎大家细品和指正。
三、学习自动化测试的注意事项
下面挑几个容易踩坑的地方来谈:
2.1 不重视编程基础,技术只停留在照葫芦画瓢的写测试用例
建议大家要重视编程基础,可以从Python或者Java入手。
学习编程是一个很枯燥乏味的过程,中间有些难点甚至会劝退一波人,比如我现在让大家用Python来手撕一段多线程实现并发HTTP请求的代码,未必所有人都能当场写出来。
另外建议要特别熟悉你所测试的Web服务的代码,包括代码框架、上下游服务、数据流转和数据存储。这对做接口自动化,很有帮助。
2.2 要特别熟悉业务,能够发现业务痛点,而且并不是什么操作都可以做自动化。
我们做自动化要明确自动化能够达到的能力和能够为业务测试带来的具体价值。
测试遵循二八原则,80%的Bug都集中在20%的主流程上,千万不要把力气都花费在边缘化的地方。
比如:测试分类页的商品数据,我们思路是提高线上回归测试的效率和做一些简单的线上监控。
如果想法是把所有的商家门店(几千个)下的分类下每一页的所有商品(几百万)全部遍历一遍,或者针对每一个商品的价格去做一些校验,这种做法成本是很高的,也无意义。
正确的做法是:根据一些头部流量的少部分商家和门店,根据边界值
的指导,根据一些策略,抽样测试前几页和最后一页的商品的排序、重复校检
即可。
2.3 自动化用例并不是越多越好
我们做自动化最关键的一步是考虑 ROI,用例越多,维护成本越高。
应该考虑如何通过少部分用例,覆盖更多的场景。
自动化测试,生于业务,死于维护的例子,太多太多。
2.4 自动化做得热火朝天,但落地却举步维艰
这里也把我在上家公司「实施自动化测试的落地步骤」也发出来,大家感兴趣可以参考。
以上,希望能帮到你。