因为我是做测试开发,对测试了解更多一些,我先说下测试方向。
国内目前的很多公司,所进行的测试拥有一种非常危险的倾向,整个测试类似于赌博:
比如一些公司的测试每天就不做测试,主要任务就是不停的写各种各样的test framework。
为什么会这样,因为这样可以加上冠冕堂皇的理由:提高测试效率!这样年底汇 OKR好看了,老板也喜欢了。
但是这样造成的后果就是:大量的测试框架构建工作占用了太多的计划的时间,自动化率提高了,但是整个测试却没有重点。一些测试甚至不知道自己测试的覆盖点和资源要求,也没有文档。所以千万不能为了自动化而去自动化。
从这里也可以看出,很多公司对于自动化测试的理解并不是很深。
如果你遇到了一个外行的领导,可能自动化会搞得一塌糊涂
测试经理或者测试总监在引入自动化之前,不能简单化和孤立化的去看待自动化测试,不能粗暴的幻想引入自动化一定能够提高效率,减少成本,因此一定要思考好3个问题:
不是所有的项目都适合直接引入自动化测试
应该在什么时间介入自动化测试
最终项目的自动化程度和自动化率
什么样的项目适合自动化:回归测试为主的项目,长期需要做支持维护;覆盖率测试;压力测试。
自动化测试介入的时间:在项目的初期可能就不太适合,因为接口和用户界面没有稳定,代码来频繁改动,维护成本会非常的高;到了项目的后期和维护阶段,自动化介入,为回归测试做准备。
自动化程度和自动化率:项目早期可能不太适合用自动化,但是可以选用某些环节,比如环境的搭建、稳定的公用接口、软件的部署等,这些都是比较稳定的。当然也可以根据具体的项目类型进行不同的调整。
如果管理层在没有思考过这3个问题就盲目引入自动化测试,说明在领导认知层面是存在一些问题的:
1、盲目幻想,认为自动化测试能够省钱,想着搞起来自动化,省掉多少多少人力成本;
2、不清楚自动化测试目标是什么,对于达到目标所要进行的投入也没有计划;
3、自动化测试如果做的成功的话,是可以节省成本和提高产品质量,但是却把节省人力成本当做核心目标,这样的对于项目来说是致命的;
4、自动化测试写好一次,能够用很多次,没有必要花很多时间去改代码;
如果有这种情况出现,说明你遇到了一个啥也不懂外加异想天开的领导。
当然我自认为我不是开发领域的大牛,所以对于开发方向,我不做具体分析,但是可以给你具体的建议:
1、如果你是计算机相关专业的学生,建议选择开发方向;
2、如果不是计算机相关专业,但是你现在是大二或者大三开始自学,建议是选择开发;
3、如果你已经有了一定的语言基础,且掌握的不错,建议也是开发方向。
相反的,如果你是:
1、学习编程语言比较困难,掌握比较慢,难以达到比较深的程度,建议选择测试;
2、有一定的经济压力,转行的需求比较迫切,建议选择测试;
3、想快速进入IT互联 行业,但是基础不好,可以选择测试入手。
但是测试相对于开发更容易入手,不意味着不接触代码,或者以后没法转为开发,后续的自动化测试以及测试开发,都需要较强的代码能力,所以测试的要求并不会比开发更低。
如果你根据自身条件,最终选择自动化测试作为你的发展方向,我有一些过来人的经验送给你:
一、先学习编程语言,然后再接触自动化工具。
语言选择上Java或者Python都是可以的,可以先从Python入手,之后再开始Java。在学习语言的过程中,一定要忘掉你是做测试的,把自己当成开发,系统的去学相关的编程知识,因为语言水平的高低,很大程度上就决定了自动化水平的高低。
二、打好基础,而不是本末倒置的学习自动化测试工具
不理解http协议,就不会理解loadrunner、fiddler、soapUI这些工具;不理解HTML,就不会理解firebug。所以基础打好了,才会事半功倍。
三、清晰的认清自己,明确自己的目标
说白了,咱干什么事情之前肯定要先看看自己有几斤几两对吧,先评估一下自己现在的能力水平,然后再看下自己能够投入什么样的资源(精力、时间、资金)去学习,这样才会知道什么样的内容自己能够搞明白,哪个阶段要请教大牛,别整到最后越学越迷茫;其次就是认清自己能力之后,就要给自己定好合理的目标,多长时间达到什么样的水平。
四、选择好切入点,设计好对自己帮助最大的方案
接口自动化:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins
web自动化:
Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins
APP自动化:
Robotium+Java+TestNG+Jenkins,Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner
辅助测试脚本:以Shell,Python为主来简化重复的工作,过滤日志等
当然这些都是基本的实现方案,别的先不介绍。如果刚开始接触,我建议是选择语言之后,然后从接口测试入手,然后再学习web和APP自动化。
五、贪多嚼不烂,学会举一反三
新手上路,容易着急,啥都想学,这样就容易混淆,也不好消化。很多地方都是相通的,代码架构、用例管理、等都可以举一反三,既可以提升你的学习效率,也不会混淆。最重要的是不能纸上谈兵,一定要动手去实践。
六、不要受限于工具,多用开源
在测试行业,自动化测试工具有很多,但是大公司趋向于用开源的框架和工具,然后定制适合自己的测试方案。学着用一些开源的例如Webdriver, Appium等去搭建自己的自动化测试工程,然后掌握整体的自动化工作原理,为以后能够搭建自己的工具平台做准备,毕竟搞定自动化,可不是会使用几个工具那么简单。
自动化测试的最高境界:开发测试工具、设计自动化框架,让别人用。
最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。加扣扣裙 644956177领取哦。
包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!