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