一个人学的软件测试,到底有多难?

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

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

那么软件测试要如何自学呢?要从一下几点来说明:

1,明确目的

2,选择框架

3,填充内容

4,持续交付

5,不断迭代

一、明确目的

做任何事情,一定要考虑背后的原因是什么,对于自学软件测试并构建测试知识体系也不例外。如果自学软件测试的原因只是因为周围的同学在学,或者觉得觉得软件测试简单,那很可能的结果是三天打鱼两天晒网,难以长久的坚持下去。

因此,明确题主自学软件测试的目的就很有必要。假如和题主的动机培养相结合,制订明确的长远目标,形成强烈的内在驱动,自学软件测试并构建测试知识体系,自然就能长时间坚持了。例如:

1,一流动机:题主发自内心喜欢软件测试工作,觉得每天的测试工作能给自己带来乐趣和成就感;

2,二流动机:题主有明确的长远目标,例如:5年内达到测试管理职位,薪资待遇达到什么样的级别等;

简单而言,题主在一个相对长时间内,会将软件测试作为自己的一个职业,而不仅仅只是一个工作看待。那么自学软件测试可以让自己充满热情,并通过每天获取的成就感,推动自己长时间的自学。

二、选择框架

明确了自学软件测试的目的之后,接下来需要考虑学习什么。假如题主在软件测试没有什么经验,自己摸索构建测试知识体系是很困难的。假如其他条件能满足题主的要求,例如:时间、成本等,选择一个合适的测试培训公司,系统的学习测试体系是比较合适的(但更多的时间和精力是在培训结束之后,将学到的知识通过刻意练习转化为你的能力)。题主题目中更强调自学软件测试,首先选择一个经过实践经验的已有框架,通过自上而下的结构化构建方式是比较合适的。例如:

1,ISTQB测试知识体系:从简单的软件测试基础级别开始,到高级的测试分析师TA、技术测试分析师TTA和测试管理TM,再到专家级的不同领域的更专业深入的测试专题。具体内容可以参考ISTQB官网或国内的CSTQB官网;

2,PTMP测试知识体系:这是我在2009年以后逐步构建和完善的软件测试知识体系,包括4个维度的内容:测试过程P、测试技术T、测试管理M和人P(属于通用的软件测试知识体系,并不涉及行业相关的内容)。详细内容可以参考“构建高效的软件测试知识体系”;

3,参考经典的测试书籍:看看都有哪些比较通用的框架,国内外可以参考的书籍很多,这里不做推荐。也可以通过知乎的搜索功能,有不少知乎牛人罗列了不同级别测试人员可以参考的测试书籍;

4,选择支持工具:构建框架过程更多的是应用结构化思维,因此支持的工具可以选择Xmind、MindManager、MindMaster等,我更喜欢用MindMaster;

基于已有的测试知识体系框架,随着你的经验和能力的不断提升,就可以不断改进甚至重新构建属于你自己的测试知识体系。

软件测试交流群644956177,免费领资料,互相交流~更有行业大牛解答问题

三、填充内容

题主选择了测试知识体系框架之后,接下来对框架进行分层分类,以我的PTMP测试知识体系为例,第二层分类包括:

1,测试过程P:例如过程阶段和活动、测试文档、测试环境、回归测试、脚本化测试与探索性测试、测试基本原则等;

2,测试技术T:例如静态测试、测试用例分析与设计、测试工具与自动化等;

3,测试管理M:例如测试计划、测试估算、测试风险、缺陷管理、测试度量、测试团队管理、测试过程改进等;

4,人P:例如学习能力、思考能力、解决问题能力、思维能力、沟通能力、写作能力、时间策略等;

框架经过分层分类之后,基本上得到的是测试过程中的一些关键测试域,然后不断地往框架内填充具体的测试知识:

1,选择优先级:基于你当前的测试工作要求和经验,选择对你而言最迫切和重要的测试关键域,例如:测试分析与设计;

2,专注一个领域:将主要时间和精力放在选择出来的高优先级测试关键域,通过一段时间,例如3个月努力学习让自己入门;

3,利用网络资源:除了书籍之外,一定要好好利用丰富的网络资源,例如:知乎的问答、测试牛人的博客和专栏等;

4,选择支持工具:我常用的是有道云笔记和印象笔记,收集和整理资料非常方便,而且可以在不同终端使用;

四、持续交付

随着学习的不断深入和测试经验的增加,一定要尝试不断地输出,这也是学习金字塔原理的一个要求。输出包括:

1,撰写文章:学习到的测试知识,结合你的测试经验,不断尝试通过文章的方式写出来。自己感觉懂和输出文章是不一样的能力层次。通过不断输出文章,不仅可以提高你学习测试知识的理解,更可以不断提高你的写作能力、思维能力;

2,沟通交流:与周围测试同事交流、参加测试大会或沙龙与其他测试人员面对面讨论,都可以让自己在测试知识的理解和应用上面有新的收获;

3,教授他人:根据学习金字塔原理,主动学习的最高层次是教授他人。也就是说,假如你懂了某块测试知识,通过认真准备,比如PPT形式,能够将内容清晰地传递给其他人,那就说明对这块测试知识的了解已经有深度了。假如你能以脱稿的方式讲解清楚,那就更上一层;

4,输出平台:个人网站、CSDN博客、知乎等,对自己有信心,可以开始到外面的企业上课等;

五、不断迭代

经过上面的几个步骤,应该可以基本构建了你自己的测试知识体系。但软件测试知识体系也是不断动态调整和更新的,而不是一成不变的。随着知识面的不断拓宽、测试经验的不断丰富,测试知识体系也就越来越完备。特别是在解决测试过程中碰到问题时,不再从单个角度分析和解决问题,而是会综合应用测试知识体系中的技能,多角度多层次审视问题。

软件测试怎么学

开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大。看到这里大家会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。小编从优就业专业老师那里了解到:一个有竞争力的软件测试人员要具有下面三个方面的素质:

计算机专业技能

计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:

测试专业技能

现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

软件编程技能

“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。

软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

网络、操作系统、数据库、中间件等知识:

与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。

在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。

操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。

数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。

作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识。

软件测试工程师-IT就业新亮点

国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。

随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一。

据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。

在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。

因此,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。
构建测试知识体系的高效学习方式很清楚,但难在长时间的坚持。同时,学习过程中需要不断地进行刻意练习,把测试知识转换成你的能力,测试知识体系才能发挥出它的价值!

在这里插入图片描述

上面是我收集的一些视频资源,在这个过程中帮到了我很多。欢迎加入我们扣扣群【644956177 】,里面有各种软件测试资源和技术讨论。

软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值