如何自学软件测试

TIM图片20180730151158.png

软件测试是一个入门简单、但深入难的工作。


入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了。


1、开始自学的时候找一本书来入门(软件测试原版第三版很不错)-差不多要1个月左右的时间,要能看懂明白里面的知识,这个阶段主要是学习理论知识;


2、有基础知识之后找一个软件来自己操作、从开始写测试计划、测试用例,到自己完成测试、并输出测试报告(这个阶段必须自己操作,如果有问题可以去软件测试类论坛提问)。这里如果产品小的话1个月左右,软件功能多的话2个月多都有可能,建议从功能少的软件入手;


3、在执行第二个步骤的时候经常多去软件测试类论坛看看那些问题帖子,绝对增长你的知识量;


4、前面3个步完成之后可以开始关注招聘网站那些招聘软件测试的公司,去看看他们公司的做的什么产品,可以把他们的产品下载回来按照步骤2的方式来自己写用例执行测试、记录BUG、提交测试报告等内容(如果你去面试公司的时候拿着你的测试报告以及BUG单的话,成功率会高很多);


5、前面几个步骤完成之后差不多要开始找工作了,建议去看看那本《软件测工程师试面试指导》的书籍,这本书里面有很多软件测试的面试题目多看看提高知识量。


自学软件测试差不多需要6个月左右的时间。


PS:自学成才的3个要素:一是方法,二是愿望,三是自律。这三个要素中任何一个的提高,都会加快目标的实现。当然如果要在同样时间内实现目标,三个要素其中一个要素的增高,也就同时降低对其他两个要素的要求。


进一步之后需要会的知识会越来越多。


1、操作系统的知识(什么软件都是运行在操作系统之上的,一般的操作必须要会);

2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?);

3、计算机网络(通信呀通信,千万不要TCP和UDP都分不清楚);

4、计算机硬件(你要是C/S架构的测试或者是做性能测试,那么计算机硬件都是必修课了,总得知道IO是什么,IOPS又是啥);

5、各种测试工具的使用,什么TestWriter/QC/TD/BUGfree/QTP/LR之类的,不需要样样精通但是必须要熟练使用;

6、软件测试基础知识(这年头没有知识是万万不能的,软件测试基础知识其实买几本书好好看看就能学个差不多了);

7、开发语言(做到高级软件测试的人都是会写点小工具的);

8、测试环境配置:这个要说下,我在做配置管理的时候发现很多测试人员居然连自己的测试环境都配置不好,一个连自己的测试环境都不会配置的人会成为一个合格的测试么。(你要测试web的apache、tomcat、iis之类的得会配置吧)。


PS:希望你不要被我写的这么多东西吓到了,这些知识是在软件测试的进化过程中慢慢积累起来的,不是所有人都一开始就会了,如果你是计算机专业毕业的,那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的,所以应该不是问题。


延伸阅读:一位测试过来人对软件测试的一些理解


作为一位软件测试工程师,最重要的是建立自己的测试思维。因为测试思维相当于你有关软件的世界观,这个跟开发的世界观是不同的;因为对于开发而言,他们是目标型的世界观,即需求要完成什么我去完成,如果你在开发中待的时间太长,容易习惯这样目标型世界观;而测试关注的是多方面的,有时候,就是一些在开发所谓的不可能、无所谓的东西最后造成软件的失败。


如何建立自己的软件世界观呢?那就要通过测试的方法论的理解,很多人喜欢把黑盒测试方法论、白盒测试方法论,分得很清楚,其实两者是相通的,看懂这些东西很快的,但是悟透,这个过程会漫长。


接下来 我们讲讲你需要作为一个初级功能工程师所需要基本素质吧:


1、软件测试的基本方法(边界值、等价类、错误分类、流程分析等等黑盒、白盒测试方法要有了解,并且掌握)这个不难,但请务必牢记在心中,它是你去建立自己世界观的基础,所有的测试逃不出这些方法;


2、会写的基础的测试文档(测试用例、缺陷报告等);


3、会看开发文档(需求说明书、操作手册);


4、知道软件工程中,测试所需要做的事情,了解性能测试、安全测试等。


当你有了基础,同时也有了自己的世界观,祝贺你已经入门了,这个时候,我建议你可以去了解不同软件开发不同环节人所作的事情,不单单是开发,需求、设计、运维等等,因为这样你会知道什么是体系、规范,为你以后的发展有着很好的帮助,这也是测试相对于开发优势的地方,开发更关注的是点,而测试要关注的是面,所以对于测试而言,除了准确的抓住细节的同时,大局观要好,否则做不好测试。


最后才是细节技术就是所谓的白盒测试、性能测试、自动化、安全等等,这些其实对测试而言反而是小节,技术永远不会阻碍你前行的脚步,反而思维,这个你可以根据自己喜好去发展,没有固定模式。


写下你的评论吧