【转载】如何学习自动化测试?

作者:杜亮
链接:https://www.zhihu.com/question/22211535/answer/104944296
来源:知乎

首先是定位,自动化也有很多方向web、接口、APP,不同的方向所要掌握的技能点也不一样,很少有开源的工具能够解决所有类型的自动化,而专一解决某种类型的自动化工具功能比较单一,需要集成其他工具来完成最终的每日构建。下面分别介绍三种类型的自动化:

时下最炙手可热的APP自动化
随着移动端创业的热潮,APP从业者的薪资也跟着水涨船高,APP测试自动化这个新兴的分支正在蓬勃发展中。APP平台有很多,andorid、iOS市场份额最高,小众的还有winPhone(后面会被WIN10淘汰)、黑莓、firefox。市场最高的也是需求最大的,选择android还是iOS取决于你的兴趣,编程语言、API Library、操作环境几乎没有交集,但起点都是一样的,就是去编写一个该平台下的APP。写的目的很简单,在不了解HTML的前提下能坐好web自动化吗?APP也是由各种原生的element构成,只有用过了才知道如何去定位、获取其属性等等。不过对于新手来说,要做好的APP自动化测试门槛比较高,从零基础到把测试框架运行起来,中间的战线会拖的漫长,没有足够的毅力和精力很难坚持下去,但做好了附加值也是相当高的。

老牌的接口自动化
在三种类型的自动化测试中,不管是从人力、财力投入还是回报率上,接口测试都是实施性价比最高的。很遗憾的是,目前为止我并有找到一款合适的开源工具能够解决接口自动化所需的全部需求,举个例子,我需要校验redis或者memcache缓存中的KEY值,这个需求目前只有自己写Library适配框架了。但是,像BAT这些有积累的大公司,是有内部工具解决这一切需求的,你要做的就是学好这个工具,然后融会贯通地使用就可以了。自学的话,推荐robotframework,里面有两个HTTP Library,任选一种。

日渐式微的WEB自动化
09左右的时候,提自动化必提QTP,俨然自动化领域的霸主,不过后来的事情大家都知道了。web自动化最大的问题在于撰写和维护的成本过高,如果你调试过那种几十层嵌套的前端框架你就会理解连定位一个元素都变得十分不易,维护的成本高是指web自动化在版本稳定之前介入的话会让整个团队死得很难看,而当版本稳定之后web端又是最不容易出问题的,前提是有接口自动化的保障。所以选择web自动化的公司我的理解,要么是想不开,要么是不缺钱。但web自动化的缺口也是很大的,小伙伴们不要被我个人的理解所吓倒,一个精通selenium的测试工程师绝对是IT公司哄抢的香馍馍。

时间: 2024-08-23 02:49:21

【转载】如何学习自动化测试?的相关文章

分步骤学习自动化测试

软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform -> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架 自动化测试的最高境界是:  开发测试工具,设计自动化测试框架, 让别人用. 自动化测试的本质

如何学习自动化测试

软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform -> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架 自动化测试的最高境界是:  开发测试工具,设计自动化测试框架, 让别人用. 自动化测试的本质

转载 TCPIP学习笔记之概述

1.分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.一个协议族,比如 T C P / I P,是一组不同层次上的多个协议的组合. T C P / I P通常被认为是一个四层协议系统,其示意图如下: (图1)TCP/IP协议族的四个层次 每一层负责不同的功能: 1) 链路层: 有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2)网络层: 有时也称作互联网层,处理分组在网络中的

转载FPGA学习之内嵌乘法器调用

补充一点,除法的时候如果直接a/b那么就会调用lpm模块,不管输入是否是常数,乘法的时候输入都是reg型变量会调用硬件乘法器,有一个是常数就会调用lpm模块. 上课的时候一直听老师说真正实践的时候你别想着要自己写一个乘法器,那样子做的孩子是笨蛋. 不管老师说得对不对,总之,既然FPGA内部有硬件乘法器那么为啥不直接使用呢,而且在写verilog使用是非常简单的,只是用个*号就轻易搞定. 只要所使用的FPGA内嵌有乘法器,则综合软件在综合的时候就会自动帮你调用乘法器实现. 下面是一段简单代码: m

没有代码基础如何学习自动化测试?

因为最近在群里有一些同学,之前没做过自动化测试,但是限于领导要求,或者自己想提升了,开始研究自动化测试,最近记忆比较深的低级的几个问题是: 1.编写一个python的类将 __init__写成_init_苦于问题一直解决不了: 2.想新建一个包,经常将package建成folder: 3.appium脚本中启动的activity或者包名经常写不出来: 4.将包名命名为selenium导致无法引入对应相应库: 5.写个selenium脚本执行不成功抛出异常,跑来问,这个怎么又报错了?异常类型都提示

转载-Python学习笔记之文件读写

Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题:其他文件的读写及编码相关详见专题的博文. open()   close()     with open(...) as ... 看以下示例就能了解 Python 的 open() 及 close() 函数.这边调用 read()方法可以一次读取文件的全部内容,Python把

【转载】学习资料存档:jQuery的deferred对象详解

我在以前的文章里提到promise和deferred,这两个东西其实是对回调函数的一种写法,javascript的难点之一是回调函数,但是我们要写出优秀的javascript代码又不得不灵活运用回调函数,大型javascript代码里都会大量运用回调函数,大量的标准回调函数写法的坏处就是使得代码的阅读性和可维护性降低,因此出现了promise模式和大量deferred库,jQuery很优秀,但是jQuery早期的版本对优雅回调写法的支持远远不够,直到jQuery1.5引入了deferred后,这

[转载]JNI学习积累之一 ---- 常用函数大全

本文转载于:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖弄了. 花了几天时间研究了下JNI,基本上知道如何使用了.照我的观点JNI还是不难的,难得只是我们一份尝试的心. 学习过程中, 发现关

【转载】学习总结:初等数论(3)——原根、指标及其应用

写得太好了..忍不住转载啊.. 未授权,侵权删. 原博文链接:http://blog.163.com/[email protected]/blog/static/172279052201641935828402/ --------------------------------------------------------------------------------- 学习总结:初等数论(3)——原根.指标及其应用 最近知道了一本书叫<数论概论(第3版)>(A Friendly Intr