我现在来跟你说说软件测试的真正情况。
首先一个软件做出来,最不能少的人是谁?不用说就是开发,因为开发是最了解软件运作的那个人,早期不少一人撸网站或者APP的例子,相当于一个人同时是产品、研发、测试、运维等等,这也是为何开发是地位和上限是最高的职位。
而随着软件的复杂度越来越高,一个人是撸不出真正的大型商业软件的,所以才开始各司其职,产品去调研需求,开发负责实现功能,测试负责把控质量,运维负责照看环境等等。
所以要明确一点:别拿测试不当研发。测试岗本身就是从研发分出来的,绝大多数公司也都会把测试归类于研发中心,所以如果你以为测试只是偏业务的点点点小兵,那就大错特错了。
但是测试确实是又不如研发,因为测试本身是个成本岗位,说白了就是不负责产出的,理论上研发的能力强和自测做的好,测试甚至可以打酱油,这也是为什么有些公司或者领导不怎么看中测试的原因。所以测试前景好不好,现在是看你自己怎么定位测试这个职业,你是偏向产品和业务的功能测试?还是偏向于研发的自动化、性能或者测开?
所以测试人员的难点其实就是如果你只想安安静静的当一个纯粹的测试人员,那确实没啥前景和出路,实际上测试走到最后都是要点技能树转职的:
1、点业务技能点的,以后可以成为半个产品,甚至业务专家,这在金融领域等重业务的公司是很吃香的。
2、点研发技能点的,以后可以成为测开、自动化、性能、安全等等,有研发能力的测试在大多数互联网公司都是很受欢迎的,一是开发愿意跟你沟通,二是互联网的测试内容需要一点的技术底子。
3、点管理技能点的,因为测试本身处在整个需求生命周期的中后端,也就是前期没啥事,后期能不能上线全看测试的表现,所以也有测试兼职做项目管理的,做着做着最后就成了实际的管理者了,所以如果你见到一个项目的负责人是测试不要觉得奇怪,这系统能不能上是他来点头的。
这既是测试的优点、也是难点,优点在于测试转岗的能力是仅次于开发的,缺点就在于纯测试的上限也确实是最低的,相比于业务、研发这两大直接产出职能来说,不信你瞧瞧各公司的高层、创始人,几乎没谁是一路测试干上来的。
所以测试到了中后期是一定要转型的,而后期能不能转型成功全看你头几年的个人积累。我的建议是,你擅长干什么,或者喜欢干什么,就往那个方向转。
如果你业务贼牛,功能很熟练,整个公司比你更熟悉这个系统功能的人没几个,那你就尝试着转型项目负责人或者产品,不要只是被动的等需求。
如果你仍然把自己当作研发,那就去写代码,看代码,不要只会有问题就提BUG,要了解系统是如何运作的,要知道问题出在哪,最好是代码要改哪一行都给研发指出来,然后自己平时搞点自动化,前端后台都搞搞,弄个小的自动化平台出来,了解一点底层的知识,学到最后你就已经跟开发无异了。
我来给你说说一个测试工程师题bug是分几个等级的:
初级:只知道提bug,原因是啥不知道,让开发自己去研究。
中级:大概知道是哪里出了问题,能提供数据和日志,细致的还得开发自己去排查代码。
高级:有代码阅读能力,已经能把问题定位到具体的模块甚至具体的代码块了。
专家:拿个小版凳坐在开发旁边,用手指着开发的屏幕,呐,就这里出问题了,我来告诉你怎么改,你如果不会的话我甚至可以亲自帮你改。
其实我一直都认为测试应该就跟开发排排坐,两个人盯着代码慢慢的debug,而不是测试只管提BUG,一问怎么出问题的啥都不知道,那样只会降低测试的权威性。
什么是测试的权威性?为什么有些公司的测试没人权,而有些公司的测试地位高。主要就是看测试对这个系统的熟悉程度,某些老测试堪称百科全书,这个系统从业务到代码都懂,这种人他指出的问题即便是研发大佬都不太敢反驳,但实际上更多的人只是用例执行人,BUG收集器,一问三不知,反正就有问题,代码看不懂,原理不了解,一看就感觉这人不太靠谱,所以这也是为何有些研发会认为测试门槛低是个人就能做的原因。
说了这么多,简单提炼一下:
1、纯粹只干测试上限来的快,要趁着年轻多积累,争取转型的机会。
2、尽量提高个人的权威性,不论是技术、还是业务,这都需要更深入的学习和积累。
相对互联网其他岗位而言,软件测试入门是非常简单的。虽然后期涉及到自动化测试等内容的时候回相对较复杂,但是对于新手而言,入门以及进入这个行业才是第一步。在工作中不断的积累经验以及提升个人能力。那入门阶段我们需要怎么做呢?
1、首先我们可以通过图书或者通过网络公开视频深入了解软件测试的概念以及相关的基础理论知识。这个过程大概一个月内就可以完成,主要是检验自己是否适合能够快速接受理解软件测试相关的知识。
2、有了一定的基础理论知识之后,可以找一个软件自己亲自按照方法检验一下自己学习的效果,从开始写测试计划、测试用例、到自己完成测试、并输出测试报告。在实际动手过程中肯定会遇到各种问题,将这些问题记录下来,可以通过加入社群咨询或者论坛交流的方式解决这些问题。最重要的是发现问题之后,在之后的学习中可以重点去学习相关的内容。一般而言,对于体量比较小的产品需要用1个月左右的时间,而比较复杂的产品则要用2个月,甚至更久。建议从小产品入手比较好。
3、在有了实际的操作经验之后,可以通过招聘网站的招聘要求,对应该公司的产品,再次进行实际测试。(一般情况下,如果去面试的时候能对该公司的产品有一定的了解程度,那面试成功的几率会更大)。
4、有了实战经验,就要开始尝试面试了。软件测试属于技术岗位,所以在面试的时候面试官会问一些关于技术的问题。你可以从网上找一些相关的软件测试面试题,遇到问题迅速查漏补缺,这样再去面试基本就没有任何问题了。
5、以上方法仅仅是介绍通过自学的方式,当然你也可以通过专门的培训机构去学习软件测试知识。课程内容涵盖基础功能测试、接口自动化、Web端自动化、移动自动化、性能测试,通过企业级实战项目,确保你从理论学习到实践,真正掌握中高端的测试技术。这样在学习完成后,你直接可以去面试了。
以上就是为大家介绍的怎样快速学习软件测试?软件测试学习方法!当然建议大家根据自己实际的自学能力来选择相应更加适合自己的方式学习软件测试。
首先学习路线不能错,不然就是在原地踏步。
系统知识储备:linux、互联网网络基础、数据库、编程基础。
linux基础:1、linux系统了解和环境熟悉
2、常用的linux命令
3、linux文件属性、权限、用户管理
4、linux环境安装和使用
5、环境变量
互联网网络基础:1、网络架构通讯原理
2、TCP、UDP、HTTP协议
3、session与cookie
数据库:1、mysql、oracle
2、环境搭建与应用
3、sql使用(关联查询、删除修改),存储过程,事务与编程
编程基础:1、java、python
2、开发环境与基本语法,类与对象,面向对象
3、简单的框架
功能测试核心:测试模型,测试流程,用例设计,缺陷管理
自动化测试:web前端开发基础,浏览器调试工具,接口测试工具使用,web自动化测试(selenium),自动化测试框架,自动化测试平台
自动化测试框架:
性能测试:性能需求分析,性能测试工具使用,性能监控分析和调优
安全测试:抓包工具使用,安全漏洞原理,安全漏洞测试方法,漏洞的防范
测试进阶:sell脚本,测试工具的研发,敏捷测试&TestOps,mock,Docker,大数据测试
最后,软件行业有没有前景这不好说送君一句话:
测试应当只是你的起点,而不是你的终点。
这里为你准备了200G软件测试教程9资料,包括用例模板、计划模板、报告模板、性能调优、自
动化教程、测开模板、简历模板、面试技巧、大厂真题等!点击下方自行获取: