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