很多希望从手工测试工程师转型为自动化测试工程师的同学都有一个疑问,就是从手工测试到自动化测试到底需要学习那些东西。下面我就尝试回答一下这个问题。
首先,澄清一下这里要讨论的自动化测试的概念,这里的自动化测试仅仅指面向功能的自动化界面、自动化接口测试和自动化数据库测试,不涉及单元测试、性能测试和安全测试等方面的自动化测试内容。
下面,我就从三个方面进行分类阐述:分别是理论知识、操作技能和工具使用。
理论知识,就是软件自动化测试需要了解的基础理论、基本知识,如测试理念、测试原则、网络协议、编码规则等;
操作技能,就是软件自动化测试需要掌握的计算机操作技能,这里主要是从一些开发人员通用的技能中选取自动化测试人员工作中很可能用到的操作系统、数据库、网络等方面的基础操作技能;
工具使用,就是软件自动化测试需要掌握的专有的测试工具和测试框架的使用。
1、理论知识方面(全部必选)
· 自动化测试的意义:就是要了解,为什么要进行自动化测试? · 自动化测试的分类,以及各自的优缺点; · 测试金字塔; · 测试四象限; · 网络协议:特别是HTTP/HTTPS协议(自动化接口测试一定会用到); · Web服务交互方案:了解RESTFul和SOAP; · 前端相关知识:HTML/CSS,Javascript(要了解一点,不必精通),了解Ajax,JSON,XML; · 正则表达式; · LINUX的Shell操作; · MySQL的SQL操作:特别是DML的部分,如增删改查的用法,在自动化测试过程中需要进行数据准备和数据验证的时候,一定会用到; · 各种浏览器查看Web网络报文(Firefox、Chrome) · Robotframework · Selenium、WebDriver · Appium · QTP · Watri · Python · Ruby · VBScript 不是三个方面吗?为什么会有个4?开发语言是想要向自动化测试转型的手工测试工程师必须面对的一个话题。如果你没有准备好或者根本没有信心学习一门开发语言,你的自动化测试转型之路必将是空谈。当然,我们也不必谈语言色变,我这里推荐的三种开发语言都是非常容易入门的,而且都是自动化测试开发工作中常用到的,虽然,我个人比较不喜欢VBScript。
|