相信大家对验收标准不是很陌生。

我们在进行测试活动的时候一般会为我们的需求加上验收标准。比如某需求要求我们实现个缺陷管理系统,那么我们可能会为这个需求分解出若干个验证标准,如可以正确的创建缺陷并分配给开发人员之类的,验收标准可以作为我们测试用例的大纲,测试用例可以来围绕验收标准展开,关注正常和异常的多种情况,从而达到保障系统质量的目的。

回到我们今天的主题——高效学习上来。

最近我也在查缺补漏,补充自己的知识,完善一下总体的认知架构。在学习过程中我发现,如果只有学习目标的话,那么学习的效率可能是不够高,或者说是学习的过程是不够聚焦的。

举个例子,比如你在学习 python,你给自己定了一个小目标,半年内学会 python。这个目标看起来是没有问题的,有开始和结束时间,也有着强烈的目的性。

于是你开始学习,你去网上找到了学习资料,并且看完了语法,然后搭建了 python 开发环境,尽管在 ide 和编辑器上纠结了好久,尽管对命令行执行 python 命令从内心深处强烈的抵触,不够好歹你可以写个 hello world,然后正确运行。后来应该做什么呢?如何在工作中将 python 运用起来呢?你没什么头绪。过了一段时间,你又鼓起勇气,重新捡起来 python,但是语法和一切都是似曾相识,但 hello world 运行起来已经不是那么驾轻就熟了,然后又是不知道该如何继续,再搁浅,再捡起,无限循环。

这是初学者学 python 的一般轨迹,相信不出意外再学习其他技能时也会陷入这样的困境。经过思考以后,我发现其实我们可以简单调整一下我们的学习方法,也许会对学习过程有一定的改进。

我们分析一下上面的例子,再上例中,我们有目标,有过程,但是却缺少一个很重要的因素,那就是学习结果的度量,也就是我们在测试活动中所说的验收标准。没有验收标准的话我们就不知道自己的学习的结果是怎么样的。比如我学完了 python 语法,这是一个过程,我投入了时间,经历了这些过程,但是结果如何?我学会了 python 语法了么?我不知道,但我知道我真的花了很多时间,其间也非常努力,我对自己的努力很满意,至于结果,没学会可能是因为我不够聪明,或者不适合学习这个吧。

真的是这样么?如果我们给学习 python 这个目标增加一些验收标准呢?比如最简单的验收标准:可以使用 python 连接数据库并自动插入一些测试数据。好了,现在我们的学习目标和验收标准是这样的了

根据目标和验收标准,我们可以重新规划学习过程

这样学习可能更有目的性,学习的效果也许会更好一些吧。

我们再看其他一些例子,看看如何为自己设置验收标准。

比如我要学会 vuejs,那么

其中上面的每个过程都可以给出更进一步的细分验收条件,比如学习 html/css 怎么样才算是学会呢?验收目标可以是写个简单的表单,看起来舒服就可以。

另外在这么多年的教学过程中,我发现只给学员布置作业其实是不够的。

作业可以看做是验收标准,但如果只是让同学们自己去做作业,而不去验收,或者说不去强制查看的话,那么很多人可能就因为各种原因不做作业了,没有作业的复习和巩固,很多需要大量练习的技能是很难掌握的。所以在最近的几期里,我们尝试在学院系统中为大家布置作业,然后老师批改作业,有了作业的加持,我发现一些同学的进步是非常明显的,这也验证了我的猜想,学习实际上是目标 + 过程 + 结果检查的过程。想想我们之前的学习经历,目标就是教学大纲,过程就是老师上课,结果检查和验证就是作业和考试。在我们工作之后,我们往往只注重前两点而忘记了结果的检查,这大概是导致我们自学效果不好的重要原因吧。

综上,希望对你有所帮助。


↙↙↙阅读原文可查看相关链接,并与作者交流