测试开发成长学习路线实践篇

发表于:2019-7-31 11:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Anthony_tester    来源:CSDN

  本来题目写成“如何从一个只会点鼠标的手工测试变成开发测试”可能更能吸睛。或者,“一个排序算法就让我顺利通过了外企的面试”,这样的题目更能激励哪些只会功能测试,想做出改变的朋友。现在,事实是,我现在就干着一份测试开发或者开发测试的工作,而且是高级岗位。我们的实践之路或者学习路线不一定都适合每个人,这里只是我个人的一些分享。
  1.目前的状态
  差不多坚持学习了两年,说实话,学习了一部分东西,但是很快又忘记了,简单列出一个知识清单和我当前掌握情况。
  1)Java编程基础,现在应该算入门,还在坚持学习基础部分。基本上能应付面试问到的编程题目的一半以上。
  2)Python语言,在写Python+Selenium系列,学习过基础,快一年不用,也忘差不多了。有时间,需要再次学习。
  3)Linux,除了常用shell命令,其他都记得,也不会,至少不能立马写出一个简单的shell脚本。
  4)SQL,完全忘记了,基本上没有用到过,寄托以后项目遇到再学习吧,或者自己学习开发网页的时候再学习。
  5)Selenium,基本的API操作大概知道,有一些忘记了,也是半年多不用,这个面试的时候表现最好,不用担心这块
  6)Jenkins,现在来看,博客Jenkins入门基本上不叫入门,压根就没有接触过pipeline,这个才是CI/CD的核心。
  ????? 其他自动化测试相关技能,UI自动化基本上是从入门到放弃,接口自动化基本上简单的能弄出来,复杂的没有实际项目支撑,没有太多想法。性能测试,基本上没有入门,没有实际项目使用。
  2.重点是敲代码
  群里或者博客经常有人问我,如何改变,如果做自动化测试或者如何做测试开发。我现在不想回答这个问题,我真的和你们每一个人不一样,我不能为你们职业规划进行设计和指导。我的意思是,你要有自己想法,知道自己想要什么,如何去改变,而不是指望别人给你点石成金。没有所谓的捷径,如果非要说重点,那就是去多敲代码。语言不是问题,问题是你不去开始和检查去学习编程,去敲代码。没有代码基础,去讨论自动化测试和各种测试技术,是毫无意义的,因为你永远在门外。我经常体会到,平穷的代码能力,限制了我对测试技术的进步。
  3.我实践过的路线
  1)WebUI自动化测试,Selenium我一直强调,就是一个让你入门自动化测试的工具。新手不要去搞神马录制脚本,脚本是写出来的不是录制出来的。然后就是入门到放弃,放弃UI自动化,投入到接口自动化测试
  2)各种自动化测试框架的设计和实现,UI自动化POM,数据驱动,关键字驱动,当然行为驱动我还没有学习。
  3)接口半自动化和自动化以及框架设计,利用一些工具进行半自动化测试,例如postman,然后利用代码和开源工具包进行接口单元测试,例如httpclient和requests,最后尝试解决下公司内部的接口自动化框架设计和实现。例如我写的testlink读取接口用例和自动化进行测试。
  4)编程语言基础,我选择了Java去加强锻炼。现在还是在学习编程基础部分,学习越多,越能替换自己是白痴,啥也不会。为什么,文章开头我说写了一个排序算法,就顺利通过了面试。简单回忆一下,当时是外企第三面,现在才知道对方是一个高级总监。其实我就真的写了一个排序算法,在黑板和白纸上写了两个编程题。好像就是一个冒泡排序和Scanner键盘导入包这个类,还有字符串操作,就没有其他的了。
  4.关于面试和工作机会
  没有什么好讨论的,技能越多越好。一个工作机会,有很多因素组成:专业技术能力,学历,运气,家庭因素,态度,沟通协调能力,责任心,还有一些隐性的自我价值展示。隐性的例如,快速学习能力,做事方式,思路和情商等。我只讨论技术,其他的可能也很重要,但是我们一般只能改变技术能力,其他的不好改变。技术能力,当然是掌握越多越好,越扎实越厉害。只有地基大和深厚,你的就业选择范围就大,机会就多。技术覆盖范围越多,你把握机会的能力就越强。一般企业就看中你一两个点,其他技术可以后面慢慢学。就看你的运气和知识存储能力了。
  5.关于测试方向
  我现在在一个新环境,学习新技术,彻底的一个小白。主要的工作方向就是devops,更具体一点就是,利用groovy语言写pipeline脚本,pipeline是Jenkins的核心和最美的功能,当然也是最自由和最复杂的技能。我也在学习,也有压力,人对于新鲜事物都有恐惧,都不想改变自己。这种工作,注定了需要写多语言的代码开发,java,python,linux shell,groovy,当然还有Docker容器技术和linux技能和数据库操作系统,网络等。
  测试相关的行业,方向也是有很多的。第一个当然是万能的手工测试,哪些需要点哪里。自动化测试或者测试开发,主要是服务器端和客户端。而我基本上距离测试越来越远,至少我不需要了解安全测试,性能测试,和app自动化测试。测试方向有很多,就看你如何根据自己能力去学习和提高,然后进入一个方向,深入研究就好。
  最后,强调一个事实,要实现以上每一个方向,都需要代码技术。我们大部分人都是普通人,凡人,都有浮躁和偷懒的一面,敲代码是改变手工测试的第一个要长期坚持的事情。改变的路上没有终点,除非你要自我放弃,共勉。

    上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号