为了账号安全,请及时绑定邮箱和手机立即绑定
慕课专栏

目录

索引目录

优秀测试工程师的必备思维39讲

原价 ¥ 58.00

立即订阅
04 努力≠高效-测试高效学习浅谈
更新时间:2019-09-04 14:18:00
天才就是这样,终身努力,便成天才。——门捷列夫

学习与努力

最近有个学员私下跟我聊天:风落老师,我觉得我很努力了啊,怎么这个内容还是学不会记不住啊?“努力” 是我们经常听到的一个词,从小时候我们就开始背 “少壮不努力,老大徒伤悲”,到后来 “业精于勤,荒于嬉”。在高考的路上,也不乏很多努力的人,提前准备、通宵学习,各种习题册做到手软,但是最后考试的时候却意外落榜,难道是他不够努力吗?答案是否定的。

也有同学问我:老师,我感觉我听课时候都明白了啊,怎么一做时候就不知道怎么做了呢,我是不是太笨了啊?!答案自然也是否定的。

智商差异可能存在,但是没有想的那么夸张,天才太少了,至少在我的人生中见识到的天才几乎没有,所有所谓 “天才” 的背后都付出了大量的努力和思考来成就。但是,努力与努力不同,努力更不等于高效,在这上面更重要的是方法。高效的学习方法能够提高你的效率,将宝贵的时间用在最需要它的地方。

所以,如果要把努力和高效之间必须做一个方程式的化,那么应该是:

努力 + 方法 = 高效

拿来主义

拿来主义是我们从小学开始带来的学习方法。学习数学,我们要背相应的数学公式而不去考虑它的推导过程;学习物理,无论是牛顿、欧姆还是左右手定律,我们都直接死记硬背下来就好;学习语文,老师告诉我们作文应该怎样通过写议论文稳稳拿分等等,我们一直都在用拿来主义的方法学习。这样对么?到大学为止,拿来主义当然是没有问题的,我们自然没有必要把数学家、物理学家总结过的方程定律重新推演,我们直接拿来结果就好。

到了测试工作中,其实也是一样,我们尽可以把已有的工具,比如 LoadRunner、Jmeter、Postman 等等拿来而用,亦或是一些已有的开源框架:Selenium、Appium 等等。所以拿来主义带来高效是没有问题的。

其实我们在这里默默的给拿来主义划了一个范围,也就是已有的知识已有的工具框架。然而现在很多人把拿来主义的概念混淆了,不管是公司里、还是各种 QQ 群中,都有很多同学抱着 “拿来主义带来高效” 的想法,只要自己有问题,立刻马上在群里问。所以我收到了很多这种请求:“最新的 jdk 版本是啥,在哪里下载”,“Java 环境变量怎么配”,“公司给我布置了一个任务,我不会,谁帮我做一下发给我”。

Ok,拿来主义到这里一下子变成了懒惰主义。事实是,别人可以帮你一次两次,却不能永远时刻帮你,而一直以拿来主义为宗旨的人,也很难真的学到知识和能力。

所以,拿来主义是一种很好的快速学习的方法,但是一定不是一种很好的提问方式。后边,我们会有机会跟大家一块好好讨论下 “提问” 的那些事儿。

技能掌握的层次

知识的掌握是分层次的,而在我们的测试领域亦然,我们一起由浅至深逐步探讨一下:

第一层:死记硬背

假设你明天要参加一场笔试,一家你非常心仪的公司。但是由于时间问题,你几乎没有做太多的准备,而你要笔试的内容是你几乎没有太多了解的领域。而你想在这场笔试中拿到高分,恰巧不久前刚刚有朋友参加了这场笔试,还全程记录了下来。于是,你找到了朋友中这个领域的专家,帮你做出了标准答案。你呢,花了一夜的时间把答案拼命背了下来。第二天你笔试的成绩,甚至可以比那些日常工作就是这个领域并且花了很多时间准备的人答的还要好。

当然,这样做的坏处就是这些所谓的知识,除了可以用在你这场笔试的卷子上,在其他情况下,这些知识就是完全无用的。想来高考补习班、考研押题班大多用的是这种方法,应试教育中标准答案的存在,给了人走捷径的可能。

第二层:记忆储备、理解、可检索

到了这一层,其实就是了解技术的背景是什么,在什么场景下运用,以及其中一些概念的含义,但可能在具体场景使用上的细节不太清楚,通俗来说,就是知道学了这个可以干什么,大体怎么做,但是落到具体实践上可能做不出来。

再举一个例子,今天你看到了一篇文章,是讲解关于 Jmeter+Beanshell 的使用,于是你明白了什么情况下可以使用 Beanshell,清楚了实际上 Beanshell 就是在 Jmeter 里执行 Java 类,但是具体怎么在 Jmeter 里配置使用就不是特别清楚了。

这天,有个朋友和你说:XX 啊,今天我想用 Jmeter 接口测试的过程中想额外地调用开发编写的一个 Java 类,可是不知道怎么做才好。

这时候,你提取到 Jmeter 和 Java 的相关信息了,根据之前记住的理解的,跟朋友说:你这个可以用 Beanshell 直接写一个 Java 类,然后在 Jmeter 里边调用啊。

朋友一听,非常高兴:XX,你好棒啊!

仔细分析了一下,其实呢这个时候你的头脑中对于 Beanshell 还只有一个大体的理解,当朋友说到 Jmeter、Java 一些关键字的时候,你自动检索了相关的知识出来,尽管并不太清楚细节,但至少是可以开始操作的。

当然,如果这时候朋友再多问一句的话就很尴尬了:那能教教我怎么做么?

第三层:消化、可为己用

如果说在第二层还仅仅停留在求 “知” 阶段的话,那么到这一层,就应该可以算作是由求知突破到了学技。简单来说,到了这一层,已经理解并消化了应该怎么做,并可以把自己的知识应用到解决实际问题上。

这一天,另一个朋友又和你说:XX 啊,今天我想用 Jmeter 接口测试的过程中对数据库进行备份还原处理,本来是可以用 DBUnit 来做的,但是在 Jmeter 里就不知道怎么把它们集成到一起了。

这时的对话里已经没有 Java 的相关信息了,但是你知道这是类似的场景,是可以处理的,于是跟朋友说:你这个可以用 Beanshell 引用 DBUnit 写一个数据库处理的类,然后在 Jmeter 里边添加 Beanshell 的处理器调用。

朋友一听,惊喜到:XX,你果然是 Jmeter 问题的解决专家啊,太给力了!能教教我怎么弄么?

你很自信的说:没问题,我一会帮你写个 demo 出来给你。

看,到这个时候,你的学习内容已经可以自由使用了,或者换句话说,只有到这里,你所学的知识才变成你自己的,而不是那些你只能检索的文字信息流了。当然,涉及到经验和熟练度的问题,当我们对知识使用考虑得越多,那么解决各种相关问题的速度就会越快。

第四层:深化、归纳、创新

到目前为止,我们的知识使用还仍然停留在模仿阶段,只是模仿的程度有高有低。从模仿到创造之间还需要一个归纳的过程。

还以刚才的例子,你发现原来 Beanshell 相关的需求有这么多,公司里组件使用非常频繁。与此同时,使用过程中还发现很多 Jmeter 不能兼容的场景。你发现当前的知识仅仅是掌握已经不够了,还要更进一步,所以你开始仔细研究 Jmeter 的底层代码,归纳总结自己的各种需求,最终二次开发增加了一个组件”Beanshell2.0”,使用这个组件可以完美兼容。

再后来,为了解决很多同事觉得 Jmeter 这些组件化不太便捷的情况,所以针对自己公司的现状,在 Jmeter 之上搭建了一条平台,可以简单配置进行接口自动化测试,并且兼容各种组件和”Beanshell2.0”。

这样,我们就通过了深化、归纳和创新,对知识和技能进行了进一步的整理,不仅仅变成了自己的,还创造出了前所未有的技能,也成为了新一轮知识的源头。

记忆方法

在小时候我曾经去学过一些快速记忆的方法,想来比大家来说对记忆的理解更深入一点。可能有的同学看过一个节目叫做《最强大脑》,无不对里边选手超强的记忆能力叹为观止,我们就从这里聊起。这种记忆方法我们称之为联想记忆法,无论是现在的记忆训练、早教市场还是到节目中的记忆竞赛,都是使用联想记忆法中的一个分支,称之为 “记忆桩”。核心的原理呢,是用已知的一些信息对未知的、零散的、没有逻辑关联的信息进行加工,通过故事的方式进行记忆。关于记忆桩的记忆方法可能最有名的就是记忆宫殿了,据传亚里士多德经常使用记忆宫殿的方式来记录演讲稿等内容,我个人感觉记忆宫殿之所以出名,大概是因为多年前的一部港剧中有一个记忆宫殿杀人的场景,所以让大家印象深刻。关于联想记忆的资料网上应该很多,感兴趣的同学可以自行搜索。

这种方法由于比较适用于去记忆一些没有逻辑关联、随机的、无序的信息。而因为很多人对记忆力的评价是,短时间内能记住多少随机的信息,所以这种方法非常受推崇和欢迎,然而实际上,尽管我很深入地学习研究过,仍然认为这种记忆法只适用于表演或者比赛,对于我们日常生活中的记忆毫无作用,因为这始终是第一层 “死记硬背” 的学习方法。

那么,什么才是适合我们现阶段记忆的方法呢?

其实我们最常用的记忆方法就是反复记忆。从上学开始,无论是背课文还是背单词,都是先不断朗读,逐步加深记忆。但是很快,我们发现这种记忆方式的效果不好,为什么呢?因为人如果机械重复地记忆一件事,很容易走神,毕竟读是不需要调用太多注意力的。

在这样记忆基础之上,我们会引用回忆记忆。什么是回忆记忆呢?通俗一点来说,比如我们要背单词,那就先朗读两到三遍,然后闭上眼睛,默默用手指写一遍,看看是否能写下来;如果不行,再重复这个过程。

这样做的好处就是,通过回忆来迫使大脑认真的记。我猜可能很多同学都看过一些高考学霸的采访,很多人都提到每天睡觉前会把当天学过的知识点重新回忆一遍,这就是再次把回忆记忆升级,变成主动回忆,帮助他们把知识记得更牢。

不知道有没有同学有这种体验,比如我们去看演唱会,有的人会拿着手机、摄像机全程拍录,而有的人只是全程去享受,往往后者会比前者更容易回忆起演唱会的各种细节和场景。因为有了录像的人,会下意识地反应已经录制好了,就没有必要花大力气用在记忆中了。这就是回忆记忆带来的压力。

仅仅是记忆实际上只能让我们把知识技能掌握到第一层到第二层之间,为了达到更好的效果,我们尝试着去边学边做。这就好像我们上学时候,为什么每学一个知识点,老师都要留一些作业给你呢?目的就是为了不仅仅要记住知识,还要能应用。你会主动地去了解它更多的细节,提出问题和尝试回答,查找资料。这种方法其实已经超过了纯记忆,是记忆 + 理解的综合体,用这种方法得到的技能和知识,往往能够掌握到 2-3 层之间。我一向比较推崇这样的记忆方法,比如我们去看一本书或者学习一个实战课程,希望大家不仅仅是听,而是边听边学边练,加深理解性的记忆。

在场景记忆的基础之上,还有一种更深刻的记忆方法,我们称之为特殊场景记忆。大家可能会有一种特殊体验,某些在特殊场景下说过的话特别容易回忆起来,你犯过错误的地方再次改正之后会记得特别牢,这就是特殊场景记忆的优势。

测试高效学习

有了对技能掌握层次和记忆方法的铺垫,接下来我们可以聊聊高效学习了。在聊学习的过程之前,有一个前提很重要,就是 “学习的仪式”。

也许有人发现过,在不同环境下学习的效率是不一样的。我在上学时候复习功课时,在宿舍 - 湖边 - 图书馆 - 自习室这四个地点学习的效率相差很大,后来自己做了培训讲师,有了线上线下的学员,才真正搞清楚 “学习的仪式” 的重要性。

所以,我们在去看一本测试书籍、或者是在慕课上学习一门测试课程之前,应该做下面几件事:

1. 使用电脑,完整时间

尽管现在移动端非常便捷,但是测试学习更多的是技术上的学习。就像前边说的,仅仅是听和记忆还不够,需要去动手去做。这就决定了我们使用电脑的效果会远大于其它终端。如果有条件的话,甚至推荐笔记本 + 显示器的组合,这样能够边听讲边进行笔记记录和试验。同时,技术的学习是排他的而连贯的,我们尽量把同一部分内容放在一起集中学习,达到 1+1 大于 2 的效果。毕竟技术学习不是看电视剧,我们不但需要精准记忆,还需要深入理解,所以一段完整时间是必要的。

2. 处理好其他琐碎的杂事

在开始学习之前,先把诸如上厕所、拿杯子、接水这些琐事做好,防止在学习的过程中因为这些事情分心。

3. 解决掉你的手机

之所以单独把手机提炼出来,是因为当下而言,手机的干扰性太强了。朋友信息、软件推送、游戏、小游戏活动,甚至手机本身都会影响到你贫乏的自制力。所以,我的建议是把放到远远的看不到的地方去,除非有紧急联络人的特殊电话,否则其他情况下一概不理。

4. 保持整洁的桌面

我自己本身就有个不好的习惯,学习看书的过程中特别容易因为周边的东西分神,所以经常出现在我看书或者研究什么的时候,边上的一个摆件突然吸引了我的注意力,让我的思维停止几秒钟。就因为短暂的中断,可能我需要十分钟甚至半小时才可以找回之前的头绪。整洁的桌面以及伸手可得的学习工具都可以帮你减少干扰,保持状态。

怎么让学习的效率能达到最大化

完成了这些,我们可以开始学习了。我举个例子来介绍怎么让学习的效率能达到最大化:比如我们今天要在慕课实战课程中学习 LoadRunner 的 Vugen 使用。学习的过程是我们整个高效学习中最核心的部分。

在这里,我们尽量遵循 “预习 — 听课 — 自我实践 — 回想” 这样的过程来学习。

1. 预习

相信很多同学是很少做预习的,甚至上学时候老师布置的预习也很少完成。但是我却觉得越是到了工作中的学习,预习就愈加重要。预习的过程不是为了弄懂某些知识,而是了解重点,做好准备,不求甚解。所以,学习 LoadRunner 的 Vugen 使用,我们通过预习会把 LoadRunner 安装破解完成,避免因为后续的安装工作而分散学习课程的注意力;

我们会提前了解一下 Vugen 中各菜单、功能的名称,避免因为课程中提到的某些按钮功能,自己没办法快速 get 到;我们会事先了解一下课程的概要内容,方便自己把精力分配到不同的阶段内容中去。这样,当你听课的时候,就会意识到,老师要讲的 “参数化” 部分可能比较重要,要仔细去听,我们预习的目的也就达到了。

2. 听课

一般来说,目前的视频课程每个段落都不会超过一小时,即便如此,人的注意力也很难均匀的分配到一个小时之中,所以前边预习的意义就体现出来了。对于重点和难点的部分,以及老师提到的 “敲黑板” 的部分,提高自己的专注度,去学习一节课中最有价值的部分。

如果说 “听” 是一个输入的过程,那么记录笔记就是一个输出的过程。所谓好脑子不如烂笔头,笔记是一定要做的。

但是这里边笔记不是说把视频的 PPT 内容记录下来就好,整理笔记其实是一个理解的过程。推荐大家通过思维导图的方式进行总结,通过课程的学习理解提取出重点难点,并绘制到思维导图上。

这样,未来再复习笔记的时候,会多花时间去从记忆中提取这部分的知识,那么这又是一个巩固的过程。通过多次的复习,你对知识点的记忆和理解也会加强。

3. 自我实践

听课只是在帮助你学习,但是如何将技能通汇贯通,熟练地去运用它,还需要自我实践的。听课的同时或者是之后,一定要实际去做一遍。比如 Vugen 脚本的录制、修改、参数化、校验点等等,只靠视频讲解是远远不够的,只有你理解一遍操作成功一次,才能够把技能的掌握程度提升到第三层。在操作的过程中你也会发现更多在听课过程中发现不到的细节问题,接下来解决问题的过程也是对知识的特殊场景记忆。

同时,移动端和零散时间也可以再次利用起来,把一些第一次没有听懂的内容,或者实践中有问题的地方,带着问题去二次学习,能够获得更大的收获。

4. 回想

回想其实是我们思考的过程,建议大家在学习之后要把学过的内容回忆思考一遍,这是回忆记忆方法的一种,也间接帮助我们进行更好的学习理解。

我相信,如果大家能够做到以上几点,学习的效率应该能够更上一层楼。当然,学习和理解的过程中一定会遇到问题,那遇到问题该怎么办呢?且听下节分解~

}
立即订阅 ¥ 58.00

你正在阅读课程试读内容,订阅后解锁课程全部内容

千学不如一看,千看不如一练

手机
阅读

扫一扫 手机阅读

优秀测试工程师的必备思维39讲
立即订阅 ¥ 58.00

举报

0/150
提交
取消