51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4341|回复: 0
打印 上一主题 下一主题

[原创] 三个月可以学会自动化测试吗?

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-1-11 10:11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    三个月可以学会,但是想要达到精通还需更多的时间。
      这个时间取决于你对自动化测试是否有正确的认识。目前,行业内对于自动化测试的还是存在很多误区的,管理层为了自动化而去自动化,学习者学到最后只会用一些工具。关于学习路线,我放在后面讲,在此之前必须先聊一下行业内做自动化测试的现状:
      ·管理层在引入自动化测试之前必须要思考的三个问题
      ·送给自动化测试学习者的6条建议
      ·自动化测试从入门到精通快速进阶路线(对标大厂)
      如果你遇到了一个外行的领导,可能自动化会搞得一塌糊涂。
      测试经理或者测试总监在引入自动化之前,不能简单化和孤立化的去看待自动化测试,不能粗暴的幻想引入自动化一定能够提高效率,减少成本,因此一定要思考好3个问题:
      ·不是所有的项目都适合直接引入自动化测试
      ·应该在什么时间介入自动化测试
      ·最终项目的自动化程度和自动化率
      什么样的项目适合自动化:回归测试为主的项目,长期需要做支持维护;覆盖率测试;压力测试。
      自动化测试介入的时间:在项目的初期可能就不太适合,因为接口和用户界面没有稳定,代码来频繁改动,维护成本会非常的高;到了项目的后期和维护阶段,自动化介入,为回归测试做准备。
      自动化程度和自动化率:项目早期可能不太适合用自动化,但是可以选用某些环节,比如环境的搭建、稳定的公用接口、软件的部署等,这些都是比较稳定的。当然也可以根据具体的项目类型进行不同的调整。
      如果管理层在没有思考过这3个问题就盲目引入自动化测试,说明在领导认知层面是存在一些问题的:
      1、盲目幻想,认为自动化测试能够省钱,想着搞起来自动化,省掉多少多少人力成本;
      2、不清楚自动化测试目标是什么,对于达到目标所要进行的投入也没有计划;
      3、自动化测试如果做的成功的话,是可以节省成本和提高产品质量,但是却把节省人力成本当做核心目标,这样的对于项目来说是致命的;
      4、自动化测试写好一次,能够用很多次,没有必要花很多时间去改代码。
      如果有这种情况出现,说明你遇到了一个啥也不懂外加异想天开的领导。
      基于我的经验,送给想要学习自动化测试的同学6条建议
      第一条建议:先学习编程语言,然后再接触自动化工具
      语言选择上Java或者Python都是可以的,可以先从Python入手,之后再开始Java。在学习语言的过程中,一定要忘掉你是做测试的,把自己当成开发,系统的去学相关的编程知识,因为语言水平的高低,很大程度上就决定了自动化水平的高低。
      第二条建议:打好基础,而不是本末倒置的学习自动化测试工具
      不理解http协议,就不会理解loadrunner、fiddler、soapUI这些工具;不理解HTML,就不会理解firebug。所以基础打好了,才会事半功倍。
      第三条建议:清晰的认清自己,明确自己的目标
      说白了,咱干什么事情之前肯定要先看看自己有几斤几两对吧,先评估一下自己现在的能力水平,然后再看下自己能够投入什么样的资源(精力、时间、资金)去学习,这样才会知道什么样的内容自己能够搞明白,哪个阶段要请教大牛,别整到最后越学越迷茫;其次就是认清自己能力之后,就要给自己定好合理的目标,多长时间达到什么样的水平。
      第四条建议:选择好切入点,设计好对自己帮助最大的方案
      ·接口自动化: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自动化。
      第五条建议:贪多嚼不烂,学会举一反三
      新手上路,容易着急,啥都想学,这样就容易混淆,也不好消化。很多地方都是相通的,代码架构、用例管理、等都可以举一反三,既可以提升你的学习效率,也不会混淆。最重要的是不能纸上谈兵,一定要动手去实践。
      第六条建议:不要受限于工具,多用开源
      在测试行业,自动化测试工具有很多,但是大公司趋向于用开源的框架和工具,然后定制适合自己的测试方案。学着用一些开源的例如Webdriver, Appium等去搭建自己的自动化测试工程,然后掌握整体的自动化工作原理,为以后能够搭建自己的工具平台做准备,毕竟搞定自动化,可不是会使用几个工具那么简单。
      自动化测试的最高境界:开发测试工具、设计自动化框架,让别人用。
      自动化测试学习终极路线,从语言入手,搞定自动化测试
      掌握Python或者Java语言,建议先从Python入手
      基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
      脚本编写、标准库、多线程、第三方库,外部数据处理
      unittest、pytest测试框架、参数化、数据驱动
      web端的自动化测试
      selenium安装、录制、处理
      web控件、JavaScript脚本、PO模式
      移动端APP自动化测试
      appium使用、录制、元素定位方法
      APP控件定位、交互,参数化用例
      appium问题定位分析、源码分析、二次封装
      服务端接口自动化测试
      接口自动化测试框架request
      接口请求构造、断言
      json/xml请求、响应断言
      headcookie处理、认证体系
      如果你按照这这个学习路线把自动化测试吃透,那么月薪在15-25K是很轻松的事情,同时具备了代码能力,也就可以继续向测试开发去努力了!
      写在最后:
      无论你在测试团队中是什么样的身份,无论你对于自动化测试是什么样的认知,也无论你对自动化测试是爱还是恨,自动化都是你从手工测试转为测试开发的必经之路。
      或许你会听到自动化测试成本高、效果差、效率低等负面的反馈,但你要清晰的知道,这都不是自动化测试的问题,对于某种工具,某个方案,最终的效果还是由实施者来去决定的。我们能够做到的是正视自动化测试,找准方法,不断的提升自己!
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 09:07 , Processed in 0.065986 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表