原来功能测试转成自动化测试这么简单?

软件测试工程师如何从功能测试转成自动化测试?

我是一包伤心的辣条,接触了太多测试同行,因为多数同行以前一直作手工测试,如今很迫切但愿作自动化测试其中不乏工做5年以上的同行。从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解。在此分享一下我的经验。关注小编公众号【伤心的辣条】带你走进自动化测试行业,与你共享更多测试资料。
在这里插入图片描述
想作自动化,首先得了解一下自动化测试的一些常见问题。javascript

也是面试时,必问的一些问题(这么简单的面试问题,你却答的一塌糊涂),若是对自动化彻底不了解,天天在那嚷嚷要作自动化,都是空喊。css

自动化一些问题

一、什么是自动化测试?  
自动化测试,顾名思义,自动完成测试工做。  
经过一些自动化测试工具或本身造轮子实现模拟以前人工点点/写写的工做并验证其结果完成整个测试过程,这样的测试过程,即是自动化测试。  
自动化测试,看上去很美,感受好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则否则。  
由于每个自动化测试的case都是从手工测试作起的,若是没有手工测试的基础,是无法进行自动化测试。
2. 为何要进行自动化测试  
为何进行自动化测试,答案要从自动测试的收益和人肉测试的成本提及:html

一、自动化测试节约成本(根据项目)  
毕竟自动化测试确实解放了一批人力(人力成本才是IT公司最大的成本),可让机器没日没夜的执行一些重复劳动.java

二、有些测试项目手工很难实现(手工成本较高)
好比12306的压力测试、负载测试,同时找那么多人去测试不现实能够经过机器去模拟.web

三、项目质量流程须要  
好比版本管理须要build verify,以保证check in的code不会影响版本库。  相似于smoke test面试

自动化测试的优缺点

优势 
避免测试人员因重复劳动产生厌倦
提升测试效率 
保证每次测试地一致性和可重复性  
更好的利用无人值守时间  
进行一些手工没法进行的测试c#

缺点  
维护成本相对比较高  
系统开发时间不必定能缩短  
仍是得依赖手工测试,不少问题没法发现  
什么样的项目适合作自动化测试(dev手一抖,auto忙一宿)ruby

有如下几个特色的项目比较适合自动化测试:

一、 项目变更少
二、 周期长
三、 项目资源足够(自动化不是一我的完成的,须要一帮人长期维护)app

举例说明:框架

  • 互联网项目,一周内要上线,你不上线别人上线人家就不用你的,项目周期短,变更快,你自动化还没作好,项目说不定就下线了。
  • 好比某宝双12活动相关项目,一周以内就下线了。
  • 适合作自动化测试的项目,好比某宝客户端,每一个release,大部分功能都不变,而且3-5年内项目不会下线,这个就比较适合自动化.

什么样的人适合作自动化测试?

这个问题是写给想要作自动化测试的人,或许你觉得软件测试的门槛很低,低到任何人均可以作,随便点点就能够了,这个行业太low了,因此你想作自动化测试,提高本身的逼格,我想说手工测试并不low,若是让一个什么都不懂,一点业务基础都没有的人去作测试,能测出来问题吗?不要忽略你的业务知识储你的业务知识储备的积累能让你成为不可替代的行业专家,而作自动化的码农会由于一个时代的更迭被小鲜肉替代。

扯了这么多,究竟什么什么样的人能作自动化测试?  
个人理解分一下几点:
一、拥有代码能力  掌握一门开发语言,java、Python、ruby、c#
二、熟悉被测系统  好比你是web测试,你就得懂js、css、html、xpath  你是移动端测试,你就得具有Android 开发基础和iOS开发基础,会debug app  你是 C/S测试你就要很熟悉[TCP](javascript:😉、IP协议
三、掌握一套自动化测试框架(工具)  好比  selenium/appium  nunit/testng  robot framework/cucumber4)善于学习,达到知其然知其因此然IT行业变化太快,每隔一段时间就会出现一些新兴的东西,也会出现原来很火的东西逐渐没落,谁也没法预测。

  • 曾经诺基亚仍是手机霸主,靠塞班一统天下,然而不思进取,落得个卖身求生存.
  • 曾经qtp很火,曾经selenium也很火,如今appium也很火
  • 软件行业从桌面软件到web端,又从web端迁移到移动端,谁也不知道下一个是什么。而咱们做为软件行业的从业者,不能由于那些很火的东西不火了而让本身没落,一我的最为核心的能力就是学习能力。若是你善于学习,你就没必要担忧这些变迁,由于你能够毫无压力的迁移,selenium的原理你掌握了,学习appium简直小菜一碟,由于appium使用的是selenium WebDriver protocol 。
  • 若是你能作到知其然知其因此然,你也能够造轮子,改造appium,毕竟如今不少功能须要完善。
  • 若是你没有达到以上的几点,建议你仍是作手工测试吧。
  • 若是你有代码基础,想要从事自动化测试怎么去学习?

一、不少初学者很纠结,学qtp仍是学selenium  
个人建议是学selenium,开源的,免费的,你能够下载源码研究,去了解其原理,再者如今selenium的资料不要太多,随便搜搜一大堆,学起来比较轻松。  不建议学selenium IDE录制,固然你能够经过录制一些而后转换为相应的脚本去学习,等你学好了selenium, 再去学appium你会有一种自然的似曾相识。

二、为何不建议学QTP/UFT?  
由于收费/臃肿/如今作桌面软件测试的工做已经不太多了。

三、关于买书  
自动化工具类的书,不建议买,不少书已通过时了,而且质量渣渣,你买了那些书中的code已经不能用了,若是你真的想学,就去官网找example,去相应的社区和群交流,或者直接看API/源码.固然,测试基础类的书籍,至少得看过一本,有系统性的知识。

总结:

新人学习自动化测试要:  ·
掌握一门开发语言  · 掌握一些基础的知识  · 自动化方面,少买书,多看测试框架的Document,多去技术社区交流  · 不断学习,提高本身发现问题,解决问题的能力  · 不作伸手党,多动手

总而言之  ·
学习一门开发语言,Java/Python,学习一个测试工具selenium/appium,掌握一个测试框架,testng,cucumber 等  · 平时多沉淀,而后抓住机遇,便可垂手可得的转型自动化测试。快来Q群你们庭吧
在这里插入图片描述 你还在犹豫什么,赶忙来了解自动化测试,领取免费资料。后面但愿小编的写做能给予您启发!!!