看到很多媒体和言论在讨论测试工程师,分享这段话:
随着国内IT企业对软件测试的重要性的日益了解,软件测试人才岗位的薪资待遇也稳步提升。据了解,刚入门的软件测试工程师薪水一般在5000-8000元左右,工作2-3年年薪普遍在15-25万之间。即便如此,很多企业仍然难以招到适合的人才。
对于想转自动测试或者初入测试岗位的人,应该怎么学?
作为一个入行8年的测试老鸟,希望用我的经验能帮助到你。
当脚本语言火起来之时,我就纠结要不要学Python……那时恰巧公司把我分去做社区项目测试工作,因为产品是用Python开发的,所以促使我下定决心学Python,并且用它和Selenium来尝试做自动化测试。
因为有了Python做基础,我不仅用Robot Framework测试框架,还很快掌握了它的工作原理。后来我跳了槽,在新公司尝试设计Web自动化框架。
如果你已经看准了自动化测试,几点建议给到楼主:
1.先学习编程语言,再接触自动化工具
语言学习建议先从Python入手,因为Python具有很好的可扩展性、易开发性和受欢迎程度,并且具有免费和开源优势。任何人都可以下载 Python, 并开始快速开发和发布 Python 代码,再来学习Java。
同时在这段学习过程中,要忘记自己是为了冲测试,把自己放在开发的角色,沉下心来系统学习编程,你的语言水平高低,直接决定了自动化水平的高低。
2.铺垫好基础,再开始学习自动化测试工具
不理解http协议,就不会理解loadrunner、fiddler、soapUI这些工具;不理解HTML,就不会理解firebug。所以基础打好了,才会事半功倍。
3.根据自身资质,确定目标
评估自己的水平,再结合学习能力定好每个阶段的目标,来预估自己要投入什么样的资源(包括时间、精力和金钱)去学习。清楚哪些内容自己能够搞弄清,哪个阶段要请教大牛,不至于越学越迷茫。
4.选择好切入点,设计好最适合的方案
接口自动化:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins
web自动化:Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins
APP自动化:Robotium+Java+TestNG+Jenkins,Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner
辅助测试脚本:以Shell,Python为主来简化重复的工作,过滤日志等
当然这些都是基本的实现方案,别的先不介绍。如果刚开始接触,我建议是选择语言之后,然后从接口测试入手,然后再学习web和APP自动化。
5.学会举一反三,注重动手实践
新手上路容易被别人意见扰乱节奏,见啥都想学,学不精也不好消化。看准一个目标来钻,代码架构、用例管理、等都可以举一反三,当然最重要的是不能纸上谈兵,一定要动手去实践。
6.不要受限于工具,多用开源
自动化测试工具非常多,大公司更趋向于用开源的框架和工具,然后定制适合自己的测试方案。多尝试用Webdriver, Appium等去搭建自己的自动化测试工程,然后掌握整体的自动化工作原理,为以后能够搭建自己的工具平台做准备,毕竟搞定自动化,可不是会使用几个工具那么简单。
自动化测试的最高境界:开发测试工具、设计自动化框架,让别人用。
我的自动化测试进阶之路,一路走来离不开我每个阶段的计划,因为喜欢规划和总结,我整理了一些学习自动化测试的内容干货,也可以加我们的Python学习群,里面也会分享学习视频资料,能节约很多时间,可以随时交流。
说说在各阶段学习的一个要点以及学习心得:
自动化测试学习终极路线,从语言入手,搞定自动化测试
之前说过,掌握Python或者Java语言,建议先从Python入手,
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程,
脚本编写、标准库、多线程、第三方库,外部数据处理,
unittest、pytest测试框架、参数化、数据驱动;
Web端自动化阶段
前端基础:掌握前端技巧及Document对象操作;
Web自动化测试:掌握基于Python+Selenium的Web自动化测试技能;
学习收获
1.掌握完整的Selenium+WebDriver应用;
2.掌握关键字驱动与PO模式两种主流的自动化测试框架设计模式;
3.独立搭建一套完整基于关键字驱动/POM+Excel+UnitTest+BeautifulReport+Yaml+分布式+多线程的自动化UI测试框架;
4.实现更为高级的WebUI自动化分布式测试架构搭建与运行,多线程高效率实现用例的批量操作;
APP自动化阶段
全面掌握Python+Appium的APP自动化测试技能,
实现完整的自动化测试框架;
学习收获:
1.完全结合开源APP系统讲解基于Appium的APPUI自动化测试技巧;
2.掌握完整的Appium应用;
3.掌握ADB常用指令;
4.掌握Monkey指令应用,自主研发实现Monkey脚本;
5.掌握混合APP内嵌H5页面的元素定位与操作;
6.独立搭建一套完整基于关键字驱动/POM+ Excel+UnitTest+BeautifulReport+Yaml+分布式+多线程的自动化UI测试框架;
7.实现更为高级的APPUI自动化分布式框架构建,实现同步管理多终端并发测试;
接口自动化阶段
掌握Python接口自动化测试技能;
实现完整的自动化测试框架;
学习收获:
1.完全结合企业级Flask接口框架讲解基于Requests库的接囗自动化测试技巧;
2.掌握完整的接口自动化测试技能,掌握HTTP协议原理;
3.掌握关联接口的测试实现;
4.独立搭建一套完整基于关键字驱动+Excel+UnitTest+BeautifulReport+Yaml+分布式+多线程的自动化接口测试框架;
5.实现更为高级的大批量接口自动化测试实现;
自动化测试进阶之PyTest与CI
PyTest框架
持续集成
接口与UI框架整合
学习收获:
1.掌握主流 PyTest测试框架全方位应用,并对原有框架进行升级;
2.掌握 PyTest+ Allure的实现;
3.掌握Jenkins持续集成,并结合测试框架实现企业级自动化测试落地;
4.将原有独立的 WebUI、APPUI、接口自动化测试框架形成一套完全属于你自己的自动化测试框架;
想要学好,绝不是在网上随便找找资料学习就可以的,一定要有针对性有计划的去认真学习,再次欢迎大家加入到我们我们学习群,大家一起来学习、讨论、交流。
自动化测试从入门到精通,如果你能按照这些方法把自动化测试吃透了,如若同时也具备了代码能力,就不要止局限于测试,还可以朝测试开发进阶!