网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
python编程是最最基础的,如果你想学会自动化测试,那么python语法就必须会了。我们可以分为四个阶段来学习Python。
阶段一:基础语法、基本数据类型
阶段二:函数、文件操作、异常处理
阶段三:初识类和对象
阶段四:类和对象应用-openpyxl、logging、unittest、ddt
第二步:WebUI自动化测试阶段
阶段一:前端基础
阶段二:Document对象操作
阶段三:Python+selenium
阶段四:关键字驱动/
POM+Excel+unitTest+BeautifulReport+yaml+分布式+多线程的自动化UI测试框架
第三步:APPUI自动化测试阶段
阶段一:Python+Appium
阶段二:开源App系统项目实战
第四步:接口自动化测试阶段
阶段一:基于Request库的Python接口自动化测试
阶段二:Flask接口框架+Swagger接口文档
第五步:自动化测试进阶之PyTest+CI
阶段一:Pytest框架
阶段二:独立测试框架
阶段三:接口与UI框架整合
题外话:什么项目适合做自动化测试?
1、需求稳定,不会频繁变更。
自动化测试最怕的就是需求不稳定,过高的需求变更频率会导致自动化测试用例的维护成本直线上升。刚刚开发完成并调试通过的用例可能因为界面变化,或者是业务流程变化,不得不重新开发调试。所以自动化测试更适用于需求相对稳定的软件项目。
需要在多种平台上重复运行相同测试的场景。
这样的场景其实有很多,比如:
对于GUI 测试,同样的测试用例需要在多种不同的浏览器上执行;
对于移动端应用测试,同样的测试用例需要在多个不同的Android 或者 iOS 版本上执行,或者是同样的测试需要在大量不同的移动终端上执行;对于一些企业级软件,如果对于不同的客户有不同的定制版本,各个定制版本的主体功能绝大多数是一致的,可能只有个别功能有轻微差别,测试也是需要覆盖每个定制版本的所有测试;这些都是自动化测试的最佳应用场景,因为单个测试用例都需要被反复执行多次,能够使自动化测试的投资回报率最大化。
2、研发和维护周期长,需要频繁执行回归测试。
在我看来,软件产品比软件项目更适合做自动化测试。首先,软件产品的生命周期一般都比较长,通常会有多个版本陆续发布,每次版本发布都会有大量的回归测试需求。
同时,软件产品预留给自动化测试开发的时间也比较充裕,可以和产品一起迭代。
其次,自动化测试用例的执行比高于1:5,即开发完成的用例至少可以被有效执行 5 次以上时,自动化测试的优势才可以被更好地体现。
对于软件项目的自动化测试,就要看项目的具体情况了。
如果短期的一次性项目,就算从技术上讲自动化测试的可行性很高,但从投入产出比(ROI)的角度看并不建议实施自动化,因为千辛万苦开发完成的自动化用例可能执行一两次,项目就结束了。我还遇到过更夸张的情况,自动化测试用例还没开发完,项目都已经要上线了。所以,对于这种短期的一次性项目,我觉得你应该选择手工探索式测试,以发现缺陷为第一要务。
而对于一些中长期项目,我的建议是:对比较稳定的软件功能进行自动化测试,对变动较大或者需求暂时不明确的功能进行手工测试,最终目标是用20% 的精力去覆盖 80% 的回归测试。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
631832)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!