小白学习测试,多久能学会?

用户1668263581768


你好,我一个经受住六年磨练的程序猿,很高兴回答你的问题。

首先我们先了解一下什么是软件测试:

软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

那学习软件测试从哪里入手呢?

我认为分为初级阶段是很容易的,向我们公司的测试人员,首先是了解项目的业务流程,然后就是一通点点点,找到不合理,崩溃等bug。其实这就是最基础的测试,但是这也是最初级的阶段。


初级阶段需要掌握四个方面的内容:

一、软件测试的基础知识,编写测试文档

二、掌握禅道、SVN等必要工具

三、web测试与app测试的方式方法与协议

中级阶段需要掌握以下方面的内容:

一、自动化工具、性能工具等的环境搭建以及使用(QTP、loadrunner、jmeter等)

二、app/web性能测试

三、fiddler抓包工具的操作使用、Jenkins自动化部署工具

高级阶段就不是一两句能说完的了,需要时间和经验的积累例如:

一、业务分析能力

1.分析被测业务数据

了解整个业务里面所需的数据有哪些?了解我们用户群体的数据等等

2.分析被测系统架构

用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?

3.分析被测业务模块

整个软件有哪些模块,比如说首页面、注册页面、登录页面等

4.分析测试完成目标

我的性能和功能目标是什么样的?比如整体的业务流程都跑通,UI界面没有问题是否有很好的用户体验,兼容性没有问题等

二、缺陷洞察能力

1.一般缺陷的发现能力

发现软件的缺陷并提出意见和建议等

2.隐性问题的发现能力

在测试过程当中有一些很难发现的问题,例如性能方面或事功能方面的问题,它需要特定的条件下出现。对于这样的问题的发现能力一定要有,要找到一些别人可能发现不了的bug。

3.发现连带问题的能力

当发现了一个问题之后,通过这个问题发现连带的问题。而不是说发现这一个bug之后提了这一个就算完了,一定要了解可能其他地方也存在这样的问题。

总结:说到底软件测试这个行业是一个入门简单,但是想要进阶高级层次也不是一件容易的事。需要你的不断学习,不断积累。需要你掌握的东西其实很多,方面很广。需要你了解每一个项目的各个业务流程,可能有时候比程序猿了解的还要深刻,这样你才能成为一个好的测试人员。不过只要你肯努力坚持就一定会成功的,多说一句:“一个好的测试人员工资待遇还是很可观的”。 祝你成功。


I伟


说实话,初级测试学习和入行门槛都是很低的,知道学习路线,以及怎么学之后自学是完全可以的,所以,今天就来和大家探讨一下这个问题。

浏览了拉勾网,boss直聘上目前关于初级测试工程师的招聘JD,以及薪水待遇等信息。以上海为例,工作经验在两年之内,薪水待遇在7k-12k之间都可定义为初级软件测试工程师。

当然有些名校的计算机大佬,一毕业就入职大厂,拿到十几K的起薪,分分钟走上人生巅峰,不在讨论之列。小牛也认识不少,一般是入职测试开发工程师,需要经过层层面试,竞争也非常激烈。

那作为一名刚刚要毕业的或者要转行的零基础小白,要掌握哪些技能,才能找到一份像样的软件测试工作以及胜任呢?首先,要了解到IT行业目前的一个现状,就是面试造航母,工作拧螺丝。

对于日常工作来说,作为一名初级测试,做功能测试,俗称点点点。只要掌握从需求分析到上线整个测试流程,以及会编写测试用例。就足矣应付日常工作了,有人带的话一个月时间绝对够了.....

然而,最大的问题还是你怎么得到入行的机会,就是你首先要踏入这个行业,才能谋发展。而面试对技能的要求要远远高于工作。

下面就来逐个简单聊一下初级测试面试你要掌握的技能,以及日常工作分别有什么用途......

测试基础理论:你要明白一家互联网公司各个岗位是做什么的,主要是前端,后端,产品经理.....以及一个版本迭代从需求分析到上线整个测试流程以及使用的管理工具。要掌握测试用例的编写方法与技巧......

功能测试:主要分为app测试,web测试和接口测试。主要就是接口测试,你要学会使用两个工具,一个是postman用来调接口,一个是fiddler用来抓包定位bug。学好接口测试也是为以后的性能压测学习打下基础。

数据库:首学mysql,主要掌握sql语句,增删查改,嵌套子查询,多表查询。加分项会存储过程,懂索引,事务,sql优化。这些初级不强求。工作中使用最多的是查询和修改语句,主要校验前端的传值以及不同系统接口调用数据传输,存值是否正确。

linux:会linux基本命令,比如linux三剑客等,会用命令查日志,会搭建测试环境。因为绝大多数公司服务器以及代码都是部署在linux系统上,工作中用的最多的就是查询日志,定位bug。

网络协议:会http/https协议,高频面试题目接口请求的方式get与post区别,cookie与session机制区别,三次挥手四次断开,输入百度网址发生了什么?这些都要了解。

版本控制工具:主要就是git和svn,git是命令行式,svn是图形化界面,企业主要用来管理代码以及文档等,属于工具使用,比较简单,最好都会。

编程语言:java/python之一,初级对编程语言要求不高,不会也可,但是是加分项,最好掌握一些基础语法,比如学完javase,能手写实现冒泡排序或其它排序,很加分。

自动化:主要分为Web自动化,App自动化,接口自动化。初级要求不高,知道一些框架即可,如果学习请优先学习接口自动化,目前需求最多。加分项是会使用搭好的框架编写自动化case,脚本等。

性能测试:初级没要求,加分项会使用jmeter做接口压测,并发测试等

以上罗列的技能基本就是要转行成为一名初级软件测试需要学习掌握的技能,1到6是必学项,决定了企业会不会要你。7到9是加分项,决定了薪水你能谈多高,当然会的技能越多越好,但是至少面试之前把基本的东西请先掌握好,不要浪费面试机会。


极科技geek


软件测试对学历的要求不高,软件测试课程一般都从零基础讲起,能够让大部分人都学会。如果真的需要一定基础的话,那就是基本的操作电脑的能力,相信几乎每个人都具备。

另外软件测试分为手工测试和自动化测试两个方向的,手工测试又分为功能测试、性能测试、接口测试等。手工测试并不需要写代码,只需要用测试工具点击进行测试即可。哪个方向掌握得好,从事哪个方向的测试工作就可以,并不需要掌握所有测试方向的技能。自动化测试可能需要借助代码来编写一些脚本,但如果你不做自动化测试的话,代码也不是必备技能。

所以软件测试的就业面可谓十分宽广,有开发的地方就有测试。在这些测试方向中,还会分行业,比如金融测试、安全测试等等。如果你有相关的行业知识那就更好了,这样你的薪资会比一般的测试工程师更高。

由此可见,软件测试并不难,不管你之前的基础如何,只要你在好的培训机构,按部就班地认真学习,找到一份满意的工作是完全能实现的。四川优就业软件测试培训大体上分为面授课和网课,软件测试面授课又分为全日制面授课和周末面授课。全日制面授课是周一到周五上课,适合在家待业的人学习,大概要学4个月左右,不过有的机构会包食宿,所以不用担心花费问题。全日制课程会从零教授,学习功能测试、自动化测试、性能测试、接口测试。周末面授课是六日上课,适合工作或者上学的人,在不耽误本职工作和学习的情况下上课、精进。周末班分为基础班和提高班,基础班学习功能测试,大概要2个月的时间,提高班则学习自动化测试、性能测试和接口测试,大概要学习3.5个月的时间。如果基础班和提高班一起学习的话,总时长要将近5.5个月。如果你只想随便学学的话,可能并不需要这么久,但是如果想学好、学扎实的话肯定需要四五个月的时间。

就业方向

软件测试工程师、APP测试工程师...

中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。加油吧,抓住机遇。