很多希望从手工测试工程师转型为自动化测试工程师的同学都有一个疑问,就是从手工测试到自动化测试到底需要学习那些东西。下面我就尝试回答一下这个问题。
首先,澄清一下这里要讨论的自动化测试的概念,这里的自动化测试仅仅指面向功能的自动化界面、自动化接口测试和自动化数据库测试,不涉及单元测试、性能测试和安全测试等方面的自动化测试内容。
下面,我就从三个方面进行分类阐述:分别是理论知识、操作技能和工具使用。
理论知识,就是软件自动化测试需要了解的基础理论、基本知识,如测试理念、测试原则、网络协议、编码规则等;
操作技能,就是软件自动化测试需要掌握的计算机操作技能,这里主要是从一些开发人员通用的技能中选取自动化测试人员工作中很可能用到的操作系统、数据库、网络等方面的基础操作技能;
工具使用,就是软件自动化测试需要掌握的专有的测试工具和测试框架的使用。
理论知识方面(全部必选)
- 自动化测试的意义:就是要了解,为什么要进行自动化测试?
- 自动化测试的分类,以及各自的优缺点;
- 测试金字塔;
- 测试四象限;
- 网络协议:特别是HTTP/HTTPS协议(自动化接口测试一定会用到);
- Web服务交互方案:了解RESTFul和SOAP;
- 前端相关知识:HTML/CSS,Javascript(要了解一点,不必精通),了解Ajax,JSON,XML;
- 正则表达式;
操作技能方面(全部必选)
- LINUX的Shell操作;
- MySQL的SQL操作:特别是DML的部分,如增删改查的用法,在自动化测试过程中需要进行数据准备和数据验证的时候,一定会用到;
- 各种浏览器查看Web网络报文(Firefox、Chrome)
工具使用方面(任选2-3个)
- Robotframework
- Selenium、WebDriver
- Appium
- QTP
- Watri
语言(任选一种)
- Python
- Ruby
- VBScript
不是三个方面吗?为什么会有个4?开发语言是想要向自动化测试转型的手工测试工程师必须面对的一个话题。如果你没有准备好或者根本没有信心学习一门开发语言,你的自动化测试转型之路必将是空谈。当然,我们也不必谈语言色变,我这里推荐的三种开发语言都是非常容易入门的,而且都是自动化测试开发工作中常用到的,虽然,我个人比较不喜欢VBScript。
补充一点,本文讨论的是从手工测试到自动化测试需要学习的内容,本文假设学习者已经具备了进行手工测试所需要的测试案例编写、业务理解等方面的知识和技能,并且对于手工测试用到的问题管理工具和配置管理工具等方面的内容也并没有列举。
进入一个新的领域,初期的迷茫非常正常,希望这篇小文可以给有志于从手工测试转型为自动化测试的软件测试工程师提供一个学习的提纲。
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,上面也是我整理好的精选面试题。
你们测试团队如何提升自己的测试技能?
更多是靠技术讨论和学习交流,除了我们公司内部群之外,我们还会有相关的技术交流群,可以和跟很多同行一起学习,完善自己的技能树。IT行业技术更新迭代本来就很快,所以更需要保持学习的心态。感兴趣可以关注我。有不定期的发放免费的资料链接,还有同行一起技术交流。
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
资源不错就给个推荐吧~
更多好文:
python+selenium自动化测试实战(邮箱登录为例)