【测试】测试开发成长学习路线--引导篇

转载自:https://blog.csdn.net/u011541946/article/details/73382294

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

       这个问题,就像大学报考专业一样,很多人问选什么专业比较好,将来毕业就业前景好,薪水起点高。我不会争论这种思想如何不好,回到中国的一句谚语: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框架。后面的阶段,我就不介绍了,我也不会,也是我的一个学习目标。

       虽然市场上,很多测试开发工程师,没有这里提到的各种水平,但是他们有一个特点,开发,代码基础特别扎实,甚至有些做过一两年开发。我强烈建议你按着这个学习路线进行学习,坚持学习,尽量到达测试开发的目标,如果达不到,你也会接近这个目标,你到时候的能力也会让大部分羡慕,相信自己,努力学习,坚持下去,不轻易放弃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Jmeter篇】jmeter Ant Jenkins接口自动化测试集成之半路逆转(二)

一、更改方案 由于上一篇文章【Jmeter篇】jmeterAntJenkins实现自动化测试集成(一)https://blog.csdn.net/qq_36502272/article/details/102682966中build.xml在cmd下执行ant正常且生成jtl文件和html文件,但是在jenkins构建多次一直失败&…

pycharm无法导入本地模块问题

导入语句: 办法一 根本不起作用 办法二: 在python安装位置的D:\usedtool\python\Lib\site-packages下建立一个.pth文件 里面把项目地址写上: 最后运行程序。虽然有红线但是运行无误。。搞定

【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成之报告优化(三)

增加更加详细测试报告及优化jenkins测试报告样式显示 1、下载优化模板 jmeter-results-shanhe-me.xsl,拷贝到jmeter的C:\jmeter\apache-jmeter-5.0\extras目录中 2、设置测试输出报告要输出的内容:同样在jmeter.properties中,设置需要输出的…

3333

一、安装Email Ext Recipients Column Plugin和Email Extension Plugin插件 二、设置QQ邮箱授权码 https://service.mail.qq.com/cgi-bin/help?subtype1&&id28&&no1001256 三、系统管理-系统设置 1、Jenkins Location设置主机名和系统管理员邮件地址 2、Ex…

【JMeter】Threads(users)3种类型

线程(用户)Threads(Users) :线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程下。所有的任务都是基于线程组。 有三种类型:分别代表测试准备工作,测试执行,测试完成后操…

python __new__中单例的作用

__new__() 方法的特性: __new__() 方法是在类准备将自身实例化时调用。__new__() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器。类的实例化和它的构造方法通常都是这个样子: class MyClass(object):def __init__(self, *args, *…

【JMeter】Thread Group下的组件Sampler取样器

我们创建了线程组Thread Group后,会在它下面add组件Sampler取样器。 1. 取样器用来向服务器发送请求,记录响应信息,响应时间的最小单元。 2. 用监听器可以查看取样结果,也可以结合断言进一步验证响应接口是否符合预期。 3. 取样器…

python并发编程1-进程

主进程和子进程 运行结果: 一旦进程创建后,进程就由操作系统调度 代码解析: 子进程与父进程 所以主进程的父进程就是pycharm args传参 一个参数 两个参数 join作用(创建多个线程): 不一定哪个进程先执行…

python并发编程2-进程

一、信号量 # 多进程中的组件 # ktv # 4个 # 一套资源 同一时间 只能被n个人访问 # 某一段代码 同一时间 只能被n个进程执行from multiprocessing import Process,Semaphore import time import random def ktv(i,sem):sem.acquire()print(%s走进ktv %i)time.sleep(random.ran…

Python Pytest装饰器@pytest.mark.parametrize用例数据驱动(三)

一、测试用例用excel管理,存放地址:C:\Users\wangli\PycharmProjects\Test\test\files\apiCase.xls 二、代码实现如下: 1、封装读取excel用例数据 2、Pytest装饰器pytest.mark.parametrize(参数名,list)实现登录模块2条测试用例数据驱动 im…

python并发编程3-进程

复习: # 锁 # 多个进程在同一时间只有一个进程能进入代码去执行# 信号量 Semaphore from multiprocessing import Semaphore # 用锁的原理实现的。内置了一个计数器 #在同一时间 只能有指定数量的进程执行某一段被控制住的代码#事件 # wait阻塞收到事件状态控制的同…

python并发编程4-线程

进程的出现 原来一台服务器只能执行一个任务。 进程的出现,可以让一台服务器处理多个任务。多个任务间进行切换,记录每个任务当前执行到哪里,记录有哪些数据。然后进行切换 每个进程区分开每个任务所能占有的内存空间 进程的缺点 线程的出现…

【Fiddler篇】FreeHttp无限篡改http报文数据调试和mock服务

目录 引言 FreeHttp起源 FreeHttp 插件安装FreeHttp 基本界面一:规则匹配区 1.1:『get http sesion in left session list』获取Session信息1.2:『select url filter method』Url匹配方式1.3:『edit advanced http filter』高级匹…

echarts实现双Y轴之散点和折线图

代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title></title><script src"echarts.js"></script> </head><body><div id"box" st…

python列表对应元素合并为列表及判断一个列表是几维

一、合并对应元素 1、两个列表合并 a[1,2,3,4,5] b[2,3,4,5,6] d[] for i in range(len(a)):c []c.append(a[i])c.append(b[i])d.append(c) print(d) 运行结果&#xff1a; 2、一个列表垂直合并 3、一个列表顺序合并 date[] date_temp1[1545225954.721;1545225955.115, …

Pytest脚本中运行用例方式

脚本树如下&#xff1a; test1文件下test_01.py存放test1和test2用例 test1文件下test_02.py存放test1和test2用例 test2文件下test_03.py存放test1和test2用例 test2文件下test_04.py存放test1和test2用例 1、运行所有用例 import pytest if __name__ "__main__&quo…

js 获取当前元素的父元素的父元素的id

情景一&#xff1a;用onclick触发的函数 html代码&#xff1a; <div id"0" style"border-bottom:1px solid #000;margin:0 auto;"><div>1111</div><div class"original"><div id"chartx1" class"cha…

echarts图使用tab和下拉切换

方法一&#xff1a;用tab建切换 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script type"text/javascript" src"jquery-1.12.4.min.js"></scr…

使用securecrt在本地与服务器之间上传下载数据

第一种方式&#xff1a; 1、首先安装&#xff1a;apt install lrzsz lrzsz是一款在Linux里可代替ftp上传和下载的程序。 2、设置上传和下载目录&#xff1a;选项--》会话选项--》X/Y/Zmodem 中设置上传和下载目录 3、上传和下载 上传文件只需在shel中输入命令"rz"…

python并发编程5-线程

一、复习 # 线程# 线程是进程中的执行单位# 线程是CPU调度的最小单位# 线程之间资源共享## 线程的开启和关闭以及切换的时间开销远远小于进程# 线程本身可以在同一时间使用多个CPU # threading# 使用方法类似于multiprocess # python与线程# CPython解释器在解释代码中容易产生…