测试开发成长学习路线
我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当然也有更多的压力。
这个问题,就像大学报考专业一样,很多人问选什么专业比较好,将来毕业就业前景好,薪水起点高。我不会争论这种思想如何不好,回到中国的一句谚语:360行,行行出状元。假如你现在是做测试,你身边同事是做开发,你们对比,肯定有伤害,是吧。会不会有一种,选择了做测试,死路一条的感觉,后悔过没有。后悔也没用,关键是如何去弥补,我们和别人的差距。任何职业,只要你足够努力和坚持,你也会成为大牛和专家。这样吧,如果要给你一个测试职业发展的前景和希望,你可以去任何一个招聘网站,看看阿里巴巴的测试专家的薪水。你看到了人家的薪水,我们很羡慕,当然,你也需要看人家需要的技能,这下压力就大了吧。希望和基本的技能大致了解了,我们下面聊聊测试这个职业。
测试工程师主要干的事情就是测试,找出程序的Bug,尽量在程序发布出去之前,把一些潜在的,严重的bug给提前指出来,降低软件研发过程修复bug的成本。测试是一个比较综合和全面的职业。测试人员需要和很多人员打交道,这些包括开发人员,产品经理,业务人员,运维人员以及其他和这个人软件生命周期有关的人员。软件测试入门门槛低,几乎简单培训不到一个月,人人都可以做测试工作,但是不是人人都能做好测试工作。我们私下经常调侃,一个好的测试人员,他可以写代码,水平甚至不输给一般开发人员。好的测试人员,可以去产品,他懂得一些设计常识,为什么好多,招聘app测试的要求,要有互联网思维,能够提出对产品的改进意见,就是这个道理。好的测试人员,可以去做运维工程师的事情,测试也需要代建环境,好的测试人员,可以熟悉linux和shell脚本,有的可以做软件的持续部署,这个在测试持续集成里面的技能。好的测试人员,可以去做业务。有人在银行软件测试,之后被银行录取了,就因为人家非常了解银行业务,从软件测试就到了甲方的业务人员。所以,测试很容易做,也很难做好,做精通。测试职业发展之路,很长,需要不断学习,不断进步,不断提高自己各个方面的技能,包括软技能和硬技能。硬技能,主要是技术相关,这个是你吃饭的本身,软技能主要是你的工作中的情商,如何处理矛盾,如何处理人际关系等等。
到了这里,对软件测试职业发展,有了一定了解,有动力,也有更多的是压力。有迷茫,不知道如何下手如何去提高。所以,现在开始聊聊,如何提高技术能力这个话题。大致的意思就是,从软件测试入门,学习各种技术,然后到达一个比较好的职位和薪资水平。这是一个很长的,很痛苦的过程。有很多人,没开始就放弃,有很多人,开始了一点,就死在沙滩上,不想改变自己。有的人前进了一大步,初步达到了他想要的结果和目标。
测试领域有,服务器端测试,客户端测试,安全测试,性能测试,接口测试,自动化测试,渗透测试,测试开发。所以,如果你达到了测试开发的水平,其他方面测试,对你来说也不会太难。
软件测试理论知识,这个必备,当然,有些基本概念我都不清楚,所以,有时间,我也得去学习,复习下软件测试理论。这部分包括,软件测试基础理论和方法。例如软件生命周期,测试用例编写方法,软件测试原则。软件测试管理相关技术,软件各个阶段评审,软件测试计划编写,软件测试过程管理,软件验收,软件测试整个过程一些文档规范等等。
语言基础,这部分,你可以选择Java或者Python入门。或者其他编程语言,这部分,在我博客都有入门教程。看你适合Python还是Java,我个人推荐先Python入门,然后再去学习Java。初学诶,认真学习一个月足够,第二门语言,一个礼拜就可以入门。基本上很多思想和语法是相通的。
手工转自动,这是一个痛苦过程,有些人天天看语言基础,不知道如何练习,天天入不了门。这里推荐,在你学习了一个语言之后,你一定要找一个事情去练习,熟悉这个语言的基本使用。推荐,结合Selenium学习Web自动化测试。通过脚本编写,有助于你提高语言基础知识的理解和运用。在练习自动化脚本过程中,你得到快乐,会帮你提升学习兴趣。
自动化脚本开发,这个是在手工转自动过程之后,你需要大量的练习,如果Selenium自动化脚本开发,你起码要完成100个自动化测试用例,你需要对seleinum达到熟练使用的地步。快速写出自动化测试用例。
了解和接触框架,这里提到框架,是只自动化测试框架,不是指开发用到的框架。继续深入研究Selenium和一些自动化测试框架的知识。例如,什么是框架,框架解决什么问题,框架组成组件有哪些。这部分包括,单元测试框架,Java中Junit或者testNG,Python中unittest.
设计简单测试框架,这个在我博客也有,例如Python+Selenium从零开始到设计自动化测试框架。先学会设计一个POM设计思想的框架。
常见设计框架设计,前面我们有了POM设计框架的思想,接下来我们要学习数据驱动框架,关键字驱动关键,混合测试框架,还有行为测试驱动框架。
Linux和数据库,不用说,自动化测试到一定深度,也需要用代码连接数据库去进行测试,linux和shell脚本,基本上测试环境也会接触到。如果要做自动化部署和运维,常见的linux和shell脚本是有必要学习的。这部分,请看linux和shell脚本入门系列。
版本控制和持续集成,有些人在公司接触了版本控制软件,例如SVN和git,随意选择一个你公司在使用的版本管理软件,去学习它,要学会基本的操作,工作中常见的,用得到的需要掌握。持续集成,这个一个很火的话题,看到持续集成就要想起Jenkins,需要安装和简单配置Jenkins,如何在上面挂一个job等等,这部分,接下来我会写系列文章。
Web前端,放在这里,是为后面的web开发学习做准备的,前面的自动化测试,我们接触了一点点前端的知识,这部分已经有了javascript入门教程写,接下来会写HTML和XHTML和XML和CSS等入门教程。
写一些小程序,假如你是选择Python,你可以试试爬虫。Java其实也是可以写爬虫。
完全掌握一门编程语言,这个可以放在和写一些小程序一起去学习和实践。如果你选Python,你可以学习Django框架进行开发一个web或者一个博客。如果是Java,你需要学会web开发入门,尝试去了解Java三大web框架,优先学习SSH框架。后面的阶段,我就不介绍了,我也不会,也是我的一个学习目标。
虽然市场上,很多测试开发工程师,没有这里提到的各种水平,但是他们有一个特点,开发,代码基础特别扎实,甚至有些做过一两年开发。我强烈建议你按着这个学习路线进行学习,坚持学习,尽量到达测试开发的目标,如果达不到,你也会接近这个目标,你到时候的能力也会让大部分羡慕,相信自己,努力学习,坚持下去,不轻易放弃。
(本文转载自网络,感谢原文作者,如有版权问题请及时留言,我们会第一时间处理)
测试开发成长学习路线相关推荐
- 测试开发成长学习路线--如何做一个DevOps流水线上的开发测试
大家知道,测试开发或者开发测试范围很大,一个人的精力和你当前的项目经历,决定了你属于某一个领域的具体的测试开发的工作.在这里,我不纠结测试开发和开发测试有何不同,有一个叫法罢了.今天这里要讨论的是如何 ...
- 测试开发成长学习路线--实践篇
本来题目写成"如何从一个只会点鼠标的手工测试变成开发测试"可能更能吸睛.或者,"一个排序算法就让我顺利通过了外企的面试",这样的题目更能激励哪些只会功能测试,想 ...
- 测试学python路线_小蜗分享:Python测试开发全套学习路线
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一阶段:专业基础课程 阶段目标: 1. 熟练掌握IT核心技术:编程,数据库,操作系统,版本控制 2. 能够熟练运用所学技术搭建各类服务器环境 3. 深入 ...
- python测试开发课程_小蜗分享:Python测试开发全套学习路线
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一阶段:专业基础课程 阶段目标: 1. 熟练掌握IT核心技术:编程,数据库,操作系统,版本控制 2. 能够熟练运用所学技术搭建各类服务器环境 3. 深入 ...
- Java开发的学习路线
Java开发的学习路线 前言 一.java入门级开发 1.Java基础加提升 2.Javaweb 3.Java框架 4.Java项目 二.夯实基础 1.Java基础 2.Java设计模式 3.Java ...
- 大数据开发初学者学习路线_初学者的Web开发路线图
大数据开发初学者学习路线 This beginner's roadmap lays out all the basics for web development. We're going to go ...
- 大数据开发工程师学习路线
自己大数据开发的学习路线,先后顺序大概是:Linux常用命令.Shell语言.Java基础.MySQL.Hadoop.YARN.MapReduce.Flume.Kafka.HBase.Hive.Spa ...
- C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)
C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址) 相信大部分同学刚毕业或者想转行做c++服务端开发的时候都很迷茫不知道从哪里开始学习,于是准备参加各种培训班或者网络培训,有不知道该 ...
- 游戏开发完整学习路线之美
游戏开发完整学习路线(各个版本都有) 转载自http://www.cnblogs.com/majianchao/p/6523455.html 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个 ...
最新文章
- 树的分类,特性与遍历
- 常见的表死锁情况及解决方法
- MyBatisPlus插件扩展_PerformanceInterceptor性能分析插件的使用
- 通过测试想到的一些问题
- php autoload用法,php自动加载__autoload()函数用法
- VC++2010配置使用MySQL5.6
- 结构体前面加星号_C语言中带星号的类型指针有哪些特性
- 聊聊在Go语言里使用继承的翻车经历
- 牛逼!这么问 OutOfMemoryError 能让我懵逼!
- cocos2dx 3.1从零学习(四)——内存管理(错误案例分析)
- 获取客户端访问的ip地址
- 火车售票系统html模板,火车售票系统完整代码.doc
- BUU Dest0g3 520迎新赛 WEB writeup
- Vbox中Ubuntu和win7主机文件共享
- android 开游艇游戏,游艇狂飙游戏-游艇狂飙安卓版预约_第一手游网
- 常用游戏类型简写速查
- lmi克罗内克积 matlab_LMI中有关于克罗内克积的决策变量,如何定义?
- Hexo-yilia主题个性化美化及功能添加
- 阻止微信后退,阻止微信页面关闭 history.pushState 无刷新改变页面URL
- 离散选择模型(DCM)和深度神经网络(DNN)结合
热门文章
- c语言double字母,C语言double
- 基于协同过滤的推荐算法(用户协同、物品协同、模型协同)
- GetDlgItem(函数详解)
- SolidWorks三维机械设计软件超实用操作技巧(七)
- 深度解析杀毒软件内核(经典5章合集)
- C语言案例教学设计论文,【教学设计论文】C语言中冒泡排序算法教学设计(共2525字)...
- 纳米软件案例之射频同轴电缆自动测试系统
- Winamp头上动土
- spotlight on oracle 配置,spotlight on oracle的使用方法
- CF200D Programming Language 解题报告