目录
1前言
随着现在互联网行业的迅猛发展,越来越多的人想涌入进来,因为大家都觉得IT行业工资高,做测试门槛又低,是的,入门门槛确实比较低,但是要做好的话,还是有点难的,毕竟术业有专攻嘛,现在的测试行业已经不是以前的那个时代了,高级测试以及一些专项的测试岗位的人才还是比较稀缺的,因此。
这几年也陆陆续续冒出来好多的测试培训机构,测试行业也从最初的功能测试,演变成现在的自动化测试、接口测试、性能测试、安全测试、测试开发等岗位。企业软件质量的要求已经越来越高,所以测试也越来越受到重视,但是你在公司的地位,还是取决于你的能力的,功能测试是一个看似简单的活,软件测试的理论可能看几天觉得也没啥,但是要把功能测试做好,还是挺不容易的。下面给大家推荐一下一个新手小白自学软件测试需要掌握和具备的一些技能或要求,希望能帮助到大家。
1.测试基础理论 不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。
主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
2.数据库学习 数据库是开发和测试的最基本技能,软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
3.Linux学习 Linux操作系统一直被用作重要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。更高级的使用,是通过编写shell脚本,自动化完成测试任务。
4.接口测试 接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。熟练掌握接口测试已经是软件测试招聘的基本要求了。
5.性能测试 性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。
6.自动化测试 学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
2、零基础转行测试首先需要学习哪些内容呢?
1认识软件测试
了解软件测试的概念,掌握软件测试是干什么的,熟悉软件测试的基础理论和测试方法,了解测试的生命周期,测试流程,在项目中的日常工作主要做什么。
2软件测试相关文档的学习和bug提交规范的学习
1、了解测试计划、测试方案、测试策略、需求文档、需求评审、测试用例设计方法等
2、了解bug的定义、分类、bug的生命周期,bug提交规范,bug管理工具和项目管理工具的基本使用(禅道,jira,tapd,readmind,testlink等)。
3功能测试项目实战
1、先找一个用来练习的项目,一般培训机构可能用的都是电商项目居多,比如xoshopo,fpshop之类的,这些在网上都是开源的 ,可以自己去下载部署包,然后在本地部署一个,也可以用淘宝网或者微店都可以,你自己开通网店,然后就有后台可以去上架商品之类的 ,在关注页面展示,可以把一些相关的功能都熟悉一下,用学到的软件测试的相关知识去写写用例,测一下有没有bug。
但是个人并不建议初学者用电商类的网站,尤其是php的那种开源项目,用的语言和架构都跟现在大部分企业用的不一样 ,你所学会和掌握的一些东西,在别人眼里一文不值 ,或者一看就像是培训出去的,可以网上找java开源的项目部署 ,有的会提供演示的demo地址 ,可以直接用来访问就行。
2、找好项目后,针对项目进行项目实战,包括从需求分析开始、用例设计这些 ,都要自己正儿八经的挑几个模块去尝试写一下 ,然后找有经验的人看一下。自己在本地搭建禅道等系统 ,提交一下bug,模拟整个流程,然后编写一些测试文档(测试用例、测试报告,测试计划和测试方案的话 一般是属于管理的活,可以先做简单的了解)
3、项目有很多的类型,比如windows客户端、app、小程序、web网站等类型 ,建议优先选择web网站和app进行熟悉,做好笔记,自己梳理各个类别系统的测试重点,多积累经验,可以多看看别人写的博客之类的。
4常用测试工具学习
1、xmind/mindmanage思维导图、svn/git源代码和文档管理工具、抓包工具(fiddler、charles:掌握基本抓包用法,弱网请求、接口请求拦截、响应结果篡改)
2、学习linux基本操作,掌握常用命令,学会环境部署的大致操作
3、学习数据库的基本知识,掌握增删改查的常见操作
4、了解一些简单的html、css、javascript相关的内容,有个概念就行
5、结合以上工具,再运用到项目中,回过头来重新再去测试一遍(不要觉得枯燥,测试经常干一些反复琐碎的事情,需要耐心和细心)
5简历编写和面试准备
通过前面的学习,了解了软件测试是干啥的,测试人员的日常工作之后,给你一个软件,能快速熟悉上手的话,就可以开始着手写简历准备面试了。写好简历之后,可以找身边有工作经验的朋友帮你看一下,给点指导意见,然后自己适当的刷一下面试题,做些准备 ,先找几个公司面试一下,看看自己的学习成果怎么样 ,看看还有哪些地方需要再提升。
6做测试要学习的软技能
以上说的都是入门做测试这样,需要掌握的一些硬技能和专业知识,那么除此之外,软技能也非常的重要。
1、分析能力、逻辑思维能力等
2、沟通能力、情商
7、自学的顺序是怎样的呢?有哪些细节的东西需要学呢?
其实你想自学什么内容,可以参考一些培训机构的0基础入门的课程培训大纲,好的机构,培训的内容都是会定期更新的,不像自己瞎找的一些资料,有的是以前的一些学习资料,学习的顺序不太对,有些东西目前没必要去学 ,或者过时了,容易走弯路。
建不建议报班学习呢?
首先,不可否认的是,报班系统的学习,肯定是会有收获的。
报班的好处:
1、能够系统的学习某个知识点,避免自学过程中踩坑
2、遇到问题有人解答,有一群小伙伴跟你一起学习,一起讨论,大家都站在一个差不多的起点学习,可以共同进步
3、可以为自己积累一定的人脉,大家都是同行,以后要找工作啥的,有好的机会 ,都可以找他们进行内推。
缺点:
1、机构很多,可能会不知道如何去抉择
2、新手小白没有经验,很容易被忽悠
3、学习过程中还是有一定的学习强度的,短时间内要你掌握这么多的内容,能不能消化,能吸收多少 ,要看自己的潜力了。
建议:
针对0基础想入IT这一行的,如果想报班培训的,先自己找资料自学一下,对这个行业有个简单的了解之后,再去考虑要不要学,自己适不适合做这行。这一行做得好,薪资是会比其他行业要稳定一些,但是,也是有一定的要求的,比如,学历、专业。学历至少要大专以上,大专的话,面试机会的选择性都少,除非技能特别优秀。