您的当前位置:首页正文

怎样高效地自学软件测试

2024-11-11 来源:个人技术集锦

我现在在做网络推广,刚从大学出来没有找到工作就做了网络推广,我以前学得是.net软件开发,我想自学软件测试,应该从什么地方入手?

 

[我的回答]2018年8月20日


题主的疑问应该包括了软件测试应该学什么,怎么才能高效学习等问题。我做测试工作加测试培训和咨询工作时间超过了17年,结合自己的经验和教训,和大家聊聊高效学习的思路,只是针对的对象是软件测试。相比起耳熟能详的什么记忆术、笔记法、时间策略、情绪管理等高效学习的手段,我认为如何通过结构化思维要求构建自己的测试知识体系,打造个人的核心竞争力更加重要。本文将从下面几个方面,描述“自学软件测试怎么学”问题,供大家参考:

 

一、明确目的

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

 

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

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

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

 

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

 

二、选择框架

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

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

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

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

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

 

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

 

 

三、填充内容

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

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

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

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

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

 

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

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

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

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

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

 

四、持续交付

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

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

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

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

 

五、不断迭代

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

 

总结一下:自学软件测试怎么学

  1. 明确目的:明确你自学的目的,来源你的兴趣、长远目标,还是周围环境的影响;

  2. 选择框架:选择已有的测试知识体系框架,例如ISTQB、PTMP等,再进行改进框架和重构框架;

  3. 填充内容:对框架进行分层分类,选择对自己最重要的测试域,专注持续学习并入门;

  4. 持续交付:通过文章、交流甚至教授他人方式,快速积累知识体系;

  5. 不断迭代:不断动态调整和完善测试知识体系,多角度多层次分析和解决问题;

 

构建测试知识体系的高效学习方式很清楚,但难在长时间的坚持。同时,学习过程中需要不断地进行刻意练习,把测试知识转换成你的能力,测试知识体系才能发挥出它的价值!

 

分享完毕,希望对大家所有帮助!

Top