• 10
  • 11
分享

  3个月时间,如何从一个功能测试进阶自动化测试的,我整理了一份1000字的超全学习指南。

  一、学习自动化之前,我们应该先了解自动化测试是什么?

  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

  二、自动化测试如何学习,自动化测试又有那些类型

  1.自动化测试的类型

  什么可以自动化?实际上很多,但是通常容易误解这个问题。

  有两个主要类型,功能性和非功能性:

  · 功能性:测试软件的实际业务应用程序。

  · 非功能性:用于测试软件的其余要求(例如性能,安全性,数据存储等)。

  性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。 自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。 目前企业对自动化测试需求越来越多(见下图)。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。

1-1.jpg

  2.自动化测试的学习路径

  搞定性能、自动化测试,独当一面!(我目前也是在这个阶段不过是属于经验比较浅的那一批,所以才20k左右)

  先说性能测试,行业内是有很多误区和痛点的:

  · 只测不调,无法给出研发和运维人员执行建议

  · 无法定位问题,缺乏清晰的逻辑和数据证明价值

  · 性能测试工具≠性能测试

  · 性能测试技术体系落后(loadrunner),急需拥抱开源软件

  如果要搞定这些问题,那么性能测试你得这么去学:

  性能测试的概念和流程:常见问题剖析、流行工具、方案设计 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度; 性能监控:性能监控体系与监控数据采集 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析 性能分析与报告:jvm调试与系统调试;性能瓶颈分析。

  性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!

  搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。

  web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式; 移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装; 服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系。

  三、自动化测试学习资源配套

  · 接口自动化测试

  接口测试一般有两种方式实现测试,一种通过工具实现;另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。 工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。

1-2.jpg

  · web自动化测试

  web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。 首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。 其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。 再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。

1-3.jpg

  · 移动自动化测试

  移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有Python/Java+appium。

  移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。

1-4.jpg

  四、自动化测试学习总结

  总的来说自动化测试是测试思想的一个延伸,为测试工程师提供了一个“触须”,其行为可以看成一个工具,但是本质上自动化测试还是一种思想。

  顺便提一句,狭义上的自动化测试指的就是基于GUI的自动化测试,而单元测试跟API测试,你有想过怎么用手工不借助任何工具去做吗?所以它们天生就属于测试自动化的范畴。

  自动化最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这些公司都试图做自动化测试,但是结果大多不怎么地。不过,尽管她参与的都是一些杯具的项目,不过她总能把这些杯具包装成洗具以应对下一次面试。

  机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!



作者:小码哥说测试   

来源:http://www.51testing.com/html/64/n-4479864.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 场景一:首次访问检查本地是否存储用户信息(否)页面显示微信用户授权按钮用户点击按钮允许授权使用用户信息页面显示微信用户登录按钮用户点击登录按钮检查数据库中有无用户信息(无)创建新的用户信息查询出新的用户信息本地存储用户信息进入主页场景二:再次访问检查本地是否存储用户信息(有)页面显示微信用户登录按钮用户点击登录按钮进入主页场景三:用户退出(删除本地存储的用户信息)后再访问检查本地是否存储用户信息(否)页面显示微信用户授权按钮用户点击按钮允许授权使用用户信息页面显示微信用户登录按钮用户点击登录按钮检查数据库中有无用户信息(有)本地存储用户信息进入主页优点:用户不退出的情况下,再次访问时不需要查询...
            0 0 924
            分享
          • TDD 是什么 ?TDD 是来自极限编程,百度百科的解释如下:TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前, 先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他 开发方法和过程。这个解释是比较片面的,其实TDD 包含两大部分:ATDD 和 UTDDATDDAcceptance Test Driven Development,验收驱动开发。比如,QA(质量保障...
            0 0 1193
            分享
          •   8 月 2 日,格力电器在河北召开“格力冰洗生活电器战略发布会”,董事长兼总裁董明珠在会上透露,格力正在开发一款“不要电”的空调。这项技术的开发始于 2012 年,并经历了十几年的创新与改进。  董明珠指出,当前的光伏发电系统通常需要通过逆变器来转换电能,但格力的创新之处在于无需逆变器,直接将光伏系统与空调对接,实现了发电与制冷的一体化。  此外,随着技术的不断升级,格力现已推出光储空系统,彻底摆脱了对城市电网的依赖。格力在家庭别墅中做了一个全新的样板,通过光伏能源、储能系统和夜间的峰谷电与空调结合,确保满足整个家庭的用电需求,包括家电和照明,真正实现了 0 电费。  据董明珠此前介绍,2...
            0 0 258
            分享
          •   虽然苹果公司错误地将iPad Air中的M2芯片列为 10 核 GPU 而不是 9 核 GPU,但它在MacBook Air发布会上和营销材料中宣称的性能是准确的。在提供给9to5Mac的一份声明中,苹果表示,它所分享的有关 iPad Air 性能的细节始终是基于9核GPU测算出的。  我们正在更新 Apple.com 以更正 M2 iPad Air 的核心数量。M2 iPad Air 的所有性能均准确无误,并基于 9 核 GPU。  苹果公司的网站称,M2 芯片&quo...
            0 0 372
            分享
          • 随着互联网技术的日益发展,测试开发工程师要达到“保障质量、提升效率”目标,提升效率更体现在方方面面。作为测试开发工程师,需要掌握基本开发技能,对代码能力也有一定的要求,这也是对项目多一道强有力的保障。在功能测试遇到BUG时,测试开发工程师需在编译器中调试代码,一边追根溯源,一边监测代码质量。而“追根溯源”这一步最重要的依据就是系统输出日志,日志也是开发人员定位问题的第一检查场所。因此,为提升这部分工作效率,小编想通过ELK搭建一套日志收集、存储、展示的工具,来解决目前存在的日志查看效率低下、缺少可视化界面等问题。1.什么是ELKELK由Elasticsearch、Logstash和Kibana...
            2 2 1370
            分享
      • 51testing软件测试圈微信