软件测试可以自学的。
一、软件测试基础知识
要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试?
这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。
下面是推荐的参考书:
1、软件测试(原书第2版) (美)佩腾(Patton,R.) 著,张小松 等译
这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。
看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。
2、软件测试的艺术(原书第3版) (美)梅耶 等
第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。
3、计算机软件测试(原书第2版) (美)卡尼尔
这本书也是值得一读的,同样也是非常适合初学者阅读的。
4、全程软件测试 朱少民
上面的都是外国人写的,来本国产的。
还有很多经典的测试书,例如:Paul C.Jorgensen的软件测试(第2版)这本书,但是笔者认为他不是很适合初学者,这本书都是用来做研究生教材的,做过一段测试的可以来看看。
二、软件测试进阶书籍
这部分主要是针对有过一年左右测试经验的,真正测试过几个项目的。推荐的参考书主要是提高测试效率的,一些测试的经验。
1、有效软件测试
这本书主要是给软件测试的各个阶段提出了一些建议,一共50条。这些建议都十分中肯,值得一读。
2、软件测试经验与教训
听书名也应该了解了一大半了吧,这本书一共给出了293条经验,阅读它吧。它会让你重新思考关于测试的基本理论。
还有一些很好的书籍了,但是没有读过的就不做推荐了。
三、自动化测试
我们都知道,目前自动化测试是软件测试的趋势,而且目前公司在招聘的过程中都会考察自动化相关的知识。这里我们介绍一下QTP和Loadrunner等测试工具。
目标:掌握自动化测试的概念、流程和方法。能够使用相关的工具进行自动化的测试。
QTP部分:
目标:掌握QTP的测试流程、工作原理和基本使用。能够使用QTP进行自动化测试。进阶需要掌握自动化框架设计的原理,并能独立设计自动化框架。
目前网络资源很丰富,有很多前辈录制了很多视频,大家可以先来看看。
1、IT播吧 - 小强老师零基础学习软件测试系列视频教程之QTP学习指南
首先可以先看这套视频,这里主要讲的是QTP的基本使用。学习视频的过程中,最好能够独立的测试QTP自带的飞机订票的例子。这个最好了,QTP的基本使用就没问题了。
2、精通QTP——自动化测试技术领航 余杰 赵旭斌 编著
第一个视频还是讲的录制和回放,并且也是以飞机订票作为的例子,但是实际工作中,很少有录制的项目,基本上都是需要自己开发脚本的。所以这本书会给你很大帮助的。
3、QTP自动化测试权威指南(第二版)
这本是QTP的大牛TarunLalwani的经典力作,公认的QTP测试的“圣经”。无论是初学者还是使用过QTP的都应该好好的读一读。
LoadRunner部分:
目标:掌握性能测试的常见术语,性能测试的方法和流程。能够熟练使用Loadrunner。进阶的话需要学会分析性能报表,找到性能瓶颈,进行性能调优。但是这个过程并不是看基本书就可以达到的,需要不断的积累测试经验才能做到的。(努力吧)
1、IT播吧 - 小强老师零基础学习软件测试系列视频教程之Loadrunner学习指南
还是这个视频,学过这个视频基本上可以独立的使用Loadrunner执行性能测试用例了。
2、精通软件性能测试与LoadRunner最佳实战
在来一本入门的书,这本书基本上算是Loadrunner的百科全书了吧,各个方面都有所涉及。
3、捉虫记——大容量Web应用性能测试与LoadRunner实战
这部分还需要掌握,类似QC这样的测试管理工具和Mantis等缺陷管理工具。
自动化理论部分:
1、软件测试自动化 (美)Daniel J.Mosley 等著
2、软件自动化测试技术与实例详解(一本很老的书)
3、自动化测试最佳实践
四、其他技术
上面的是和软件测试理论相关的知识,但是真正的想做好测试这些还是不够,还有一些必须要掌握的知识,下面一一列举一下。
1、数据的技术
目标:掌握SQL语句,重点在增删改查上。可以参考:测试人员的SQL语言 系列
2、编程语言
这里推荐的是Java,毕竟现在Java用的比较多。而且学会一门语言,在学习其他语言也是很容易的。
目标:掌握程序设计的逻辑和面向对象的思想。掌握一门语言。
目前这方面的视频非常多,大家可以找来自己看看。
3、UML
UML还是必须要会的,至少应该能看懂。毕竟大部分需求都是用它画的啊。
4、操作系统
这里说的服务器的系统,以Linux为例。
目标:能够搭建常见的服务,解决相关故障。
推荐大家看《鸟哥的私房菜这个系列》,除此之外,还有学会Shell编程。
5、Web技术
如果测试Web,对Web还是需要了解的啊。主要是Html+Css+JavaScript。
软件测试相比其他算是IT行业里面很好入门的,也是可以自学的。但是如果你想高效的学成还是得去专业的IT培训机构进行学习,比如西安鸥鹏IT教育他们的学习体系比较完整的。
想转行或者想自学软件测试的朋友下面的都是干货了,结合以往的经验给自学者们提一些意见建议,自学除了遇到问题自己研究比较苦恼之外,还有一个最严重的就是学的东西不够系统。按照下面的这个脉络去学习,完成之后就能够达到中级的水平了。
我分为初级、中级和高级三个阶段,不足之处欢迎朋友们指出,我会及时改正。
初级阶段
初级阶段需要掌握四个方面的内容
一、软件测试的基础知识,编写测试用例的方法及测试流程
二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法
三、web测试与app测试的方式方法与协议
四、接口测试postman工具的操作使用,前端基础知识H5及CSS
中级阶段
中级阶段需要掌握六个方面的内容,从中级开始就是涉及到一些工具的使用
一、QTP自动化工具的环境搭建
二、loadrunner性能工具的环境搭建
三、jmeter性能工具的环境搭建及接口压力测试
四、jmeter脚本增强,app/web性能测试
五、fiddler抓包工具的操作使用、Jenkins自动化部署工具
六、数据库MySQL、SQL语句
高级阶段
高级阶段涉及到四个方面,需要掌握一点开发的知识
一、虚拟机的搭建与使用,Linux环境搭建及命令
二、eclipse框架介绍,学习测试必须掌握的Java基础知识
三、testNG+selenium自动化工具环境搭建
四、APP自动化之monkey按照这个方向去学习,基本上出来技能水平就达到了中级的水平,完全就可以去面试找工作了。但是这个时候与真正的中级水平还差点火候,那就是没有实际的工作经验,那这个时候就需要去研究企业的大项目,去获取一些经验。另外打算面试之前,还需要对掌握一些面试技巧及面试题,最重要的是要包装一下自己的简历。因为能力已经足够,那就需要所有的硬件也都匹配上。
可能说的比较远了,都说到了找工作的事情,具体的细节看下面的思维导图吧,里面比较详细了。
他们常说:
1、如果基础差,就学测试吧。
2、如果逻辑思维不够强,就学测试吧。
3、如果学历不强,又是文科生,那一定得学测试。
他们还会告诉你:学测试不需要什么技术能力,做测试也不需要加班太多,并且测试行业的薪资一点也不比开发低,发展前景一样的好。
事实上呢?
的确,他们说的没毛病,但若只学习简单的功能性测试,是不需要什么技术能力,可你工作3年和工作10年的薪资基本是一样的(当然,是在你不学习新技术的前提下),而且被淘汰率特别高。
那么花钱花时间去参加这种毫无技术含量的培训,意义又在哪里呢?
如果你不想被这些无良的培训机构忽悠,不想只做普通的软件测试人员,而是想要成为更具发展前景的测试工程师,那么你在选择培训机构时就一定考虑到以下几点:
1、课程选择,不要只是简单的学习功能测试,而是会涵盖有现在流行的自动化测试、GUI测试,接口测试和性能测试开发等内容;
2、培训机构的教学不仅仅是教会你做标准的软件测试,而是要教你一些测试逻辑,教会你使用工具但又不依赖于这些工具也可以完成自动化测试,也就是其背后的底层的工作原理,这些东西才是真正能够内化成属于你个人的核心竞争力。
3、现在的移动互联网企业对自动化测试的需求非常大,也会要求学员掌握程序设计的原理,所以测试开发性综合性人才才是未来IT行业的需求方向。
4、一定要去参加试学,因为很多人目标不明确,甚至是迷茫的,所以去试学一周,看看自己是不是真的想做技术,或者适合做技术。
5、授课方式,有些是面授,有些是视频授课,各有优点,就看自己喜欢哪种了。当然,线下面授的学费应该更高,毕竟成本在那里,学习时有老师盯着,有同学陪着,能够更快的进入学习的状态,有更充足的斗志。
软件测试是一个入门简单、但深入难的工作
入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了
进一步之后需要会的知识会越来越多
1、操作系统的知识(什么软件都是运行在操作系统之上的、一般的操作必须要会)
2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?)
3、计算机网络(通信呀通信、千万不要TCP和UDP都分不清楚)
4、计算机硬件(你要是C/S架构的测试或者是做性能测试、那么计算机硬件都是必修课了、总得知道IO是什么IOPS又是啥)
5、各种测试工具的使用、什么QC/TD/BUGfree/QTP/LR之类的 不需要样样精通但是必须要熟练使用
6、软件测试基础知识(这年头没有知识是万万不能的、软件测试基础知识其实买几本书好好看看就能学个差不多了)
7、开发语言(做到高级软件测试的人都是会写点小工具的)
8、测试环境配置:这个要说下、我在做配置管理的时候发现很多测试人员居然连自己的测试环境都配置不好、一个连自己的测试环境都不会配置的人会成为一个合格的测试么。(你要测试web的apache、tomcat、iis之类的得会配置吧)
PS:希望你不要被我写的这么多东西吓到了、这些知识是在软件测试的进化过程中慢慢积累起来的、不是所有人都一开始就会了、你是计算机专业毕业的。那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的、所以应该不是问题
最后:祝你好运
软件测试可以自学的。
一、软件测试基础知识
要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试?
这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。
下面是推荐的参考书:
1、软件测试(原书第2版) (美)佩腾(Patton,R.) 著,张小松 等译
这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。
看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。
2、软件测试的艺术(原书第3版) (美)梅耶 等
第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。
3、计算机软件测试(原书第2版) (美)卡尼尔
这本书也是值得一读的,同样也是非常适合初学者阅读的。
4、全程软件测试 朱少民