本来题目写成“如何从一个只会点鼠标的手工测试变成开发测试”可能更能吸睛。或者,“一个排序算法就让我顺利通过了外企的面试”,这样的题目更能激励哪些只会功能测试,想做出改变的朋友。现在,事实是,我现在就干着一份测试开发或者开发测试的工作,而且是高级岗位。我们的实践之路或者学习路线不一定都适合每个人,这里只是我个人的一些分享。

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自动化测试。测试方向有很多,就看你如何根据自己能力去学习和提高,然后进入一个方向,深入研究就好。

最后,强调一个事实,要实现以上每一个方向,都需要代码技术。我们大部分人都是普通人,凡人,都有浮躁和偷懒的一面,敲代码是改变手工测试的第一个要长期坚持的事情。改变的路上没有终点,除非你要自我放弃,共勉。(2018-06-22 第一版)

测试开发成长学习路线--实践篇相关推荐

  1. 测试开发成长学习路线--如何做一个DevOps流水线上的开发测试

    大家知道,测试开发或者开发测试范围很大,一个人的精力和你当前的项目经历,决定了你属于某一个领域的具体的测试开发的工作.在这里,我不纠结测试开发和开发测试有何不同,有一个叫法罢了.今天这里要讨论的是如何 ...

  2. 测试开发成长学习路线

    我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当 ...

  3. 测试学python路线_小蜗分享:Python测试开发全套学习路线

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一阶段:专业基础课程 阶段目标: 1. 熟练掌握IT核心技术:编程,数据库,操作系统,版本控制 2. 能够熟练运用所学技术搭建各类服务器环境 3. 深入 ...

  4. python测试开发课程_小蜗分享:Python测试开发全套学习路线

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一阶段:专业基础课程 阶段目标: 1. 熟练掌握IT核心技术:编程,数据库,操作系统,版本控制 2. 能够熟练运用所学技术搭建各类服务器环境 3. 深入 ...

  5. Java开发的学习路线

    Java开发的学习路线 前言 一.java入门级开发 1.Java基础加提升 2.Javaweb 3.Java框架 4.Java项目 二.夯实基础 1.Java基础 2.Java设计模式 3.Java ...

  6. 大数据开发初学者学习路线_初学者的Web开发路线图

    大数据开发初学者学习路线 This beginner's roadmap lays out all the basics for web development. We're going to go ...

  7. 大数据开发工程师学习路线

    自己大数据开发的学习路线,先后顺序大概是:Linux常用命令.Shell语言.Java基础.MySQL.Hadoop.YARN.MapReduce.Flume.Kafka.HBase.Hive.Spa ...

  8. C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)

    C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址) 相信大部分同学刚毕业或者想转行做c++服务端开发的时候都很迷茫不知道从哪里开始学习,于是准备参加各种培训班或者网络培训,有不知道该 ...

  9. 游戏开发完整学习路线之美

    游戏开发完整学习路线(各个版本都有) 转载自http://www.cnblogs.com/majianchao/p/6523455.html 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个 ...

最新文章

  1. Foundation 框架
  2. JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
  3. 怎样学好网络(1)-正确的定位
  4. 南大庄建军计算机学院讲座,教师成果 - 南京大学 - 电子信息专业国家级实验教学示范中心...
  5. 20_集合_第20天(Map、可变参数、Collections)
  6. MAT之GUI:GUI的方式创建/训练/仿真/预测神经网络
  7. 限制ALV报表的导出权限
  8. Eclipse 中修改android的Default debug keystore 搬家、备份后启动Android PANIC :Could not open D:\java2\android\and
  9. ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼
  10. 日均处理万亿数据!Flink在快手的应用实践与技术演进之路
  11. makefile 编译不同目录下的源文件
  12. Unity 4 3 制作一个2D横版射击游戏
  13. 边缘AI方案落地问题探讨
  14. app测试--性能测试DDMS
  15. 虚拟串口服务器连接485转网口,串口服务器 串口转以太网 RS232转以太网 485转以太网 串口转网口...
  16. Java集合框架中隐藏的设计套路
  17. GIS的基本概念二:大地水准面、旋转椭球体(椭球体)、大地基准面
  18. html表格打印边框不全,解决table边框在打印中不显示的问题 (转)
  19. JAVA组件设计原则(二)原则一:精准解决共性问题(摘自《java组件设计》)
  20. qt获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

热门文章

  1. java在excel模块中新增sheet_poiexcel新增sheet
  2. 00................
  3. 【qq机器人】欢迎加群通报
  4. leetcode202 快乐数easy
  5. Windows Vista系列技术文本――AERO篇(转)
  6. mysql数据库(排序,聚合函数,分组,分页查询,union,连接查询,主键外键)
  7. “纸张尺寸”2022蓝桥杯c/c++ c组E
  8. Java蓝桥杯 谈判
  9. Android炫酷消失动画-ThanosSnap
  10. linux添加suid权限,Linux特殊权限SUID、SGID、SBIT