有很多从事基础功能测试的测试人,想要通过学习Python自动化的形式提升自己在软件测试行业的竞争力,但是很多人不知道自动化测试如何去学习,今天我就总结出了这篇文章,给大家制定Python自动化测试的学习路线。
python编程是最最基础的,如果你想学会自动化测试,那么python语法就必须会了。我们可以分为四个阶段来学习Python。
阶段一:基础语法、基本数据类型
阶段二:函数、文件操作、异常处理
阶段三:初识类和对象
阶段四:类和对象应用-openpyxl、logging、unittest、ddt
阶段一:前端基础
阶段二:Document对象操作
阶段三:Python+selenium
阶段四:关键字驱动/
POM+Excel+unitTest+BeautifulReport+yaml+分布式+多线程的自动化UI测试框架
阶段一:Python+Appium
阶段二:开源App系统项目实战
阶段一:基于Request库的Python接口自动化测试
阶段二:Flask接口框架+Swagger接口文档
阶段一:Pytest框架
阶段二:独立测试框架
阶段三:接口与UI框架整合
需求稳定,不会频繁变更。
自动化测试最怕的就是需求不稳定,过高的需求变更频率会导致自动化测试用例的维护成本直线上升。刚刚开发完成并调试通过的用例可能因为界面变化,或者是业务流程变化,不得不重新开发调试。所以自动化测试更适用于需求相对稳定的软件项目。
需要在多种平台上重复运行相同测试的场景。
这样的场景其实有很多,比如:
对于GUI 测试,同样的测试用例需要在多种不同的浏览器上执行;
对于移动端应用测试,同样的测试用例需要在多个不同的Android 或者 iOS 版本上执行,或者是同样的测试需要在大量不同的移动终端上执行;对于一些企业级软件,如果对于不同的客户有不同的定制版本,各个定制版本的主体功能绝大多数是一致的,可能只有个别功能有轻微差别,测试也是需要覆盖每个定制版本的所有测试;这些都是自动化测试的最佳应用场景,因为单个测试用例都需要被反复执行多次,能够使自动化测试的投资回报率最大化。
研发和维护周期长,需要频繁执行回归测试。
在我看来,软件产品比软件项目更适合做自动化测试。首先,软件产品的生命周期一般都比较长,通常会有多个版本陆续发布,每次版本发布都会有大量的回归测试需求。
同时,软件产品预留给自动化测试开发的时间也比较充裕,可以和产品一起迭代。
其次,自动化测试用例的执行比高于1:5,即开发完成的用例至少可以被有效执行 5 次以上时,自动化测试的优势才可以被更好地体现。
对于软件项目的自动化测试,就要看项目的具体情况了。
如果短期的一次性项目,就算从技术上讲自动化测试的可行性很高,但从投入产出比(ROI)的角度看并不建议实施自动化,因为千辛万苦开发完成的自动化用例可能执行一两次,项目就结束了。我还遇到过更夸张的情况,自动化测试用例还没开发完,项目都已经要上线了。所以,对于这种短期的一次性项目,我觉得你应该选择手工探索式测试,以发现缺陷为第一要务。
而对于一些中长期项目,我的建议是:对比较稳定的软件功能进行自动化测试,对变动较大或者需求暂时不明确的功能进行手工测试,最终目标是用20% 的精力去覆盖 80% 的回归测试。
某些测试项目通过手工测试无法实现,或者手工成本太高。
对于所有的性能和压力测试,很难通过手工方式实现。
比如,某一个项目要求进行一万并发用户的基准性能测试(Benchmark test),难道你真的要找一万个用户按照你的口令来操作被测软件吗?又比如,对于 7×24 小时的稳定性测试,难道你也要找一批用户没日没夜地操作被测软件吗?这个时候,你就必须借助自动化测试技术了,用机器来模拟大量用户反复操作被测软件的场景。当然对于此类测试是不可能通过 GUI 操作来模拟大量用户行为的。
想要掌握一门新技术,最需要具备的就是学习精神,很多人有了学习路线也不能够坚持学习下去, 导致自己白费功夫啥也没学会。所以在学习的过程中最好是有人能监督你,比方说老师或者是朋友。
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…