使用验收标准来进行高效学习
乙醇 创建于 about 6 years 之前
最后更新: less than a minute 之前
阅读数: 825
相信大家对验收标准不是很陌生。
我们在进行测试活动的时候一般会为我们的需求加上验收标准。比如某需求要求我们实现个缺陷管理系统,那么我们可能会为这个需求分解出若干个验证标准,如可以正确的创建缺陷并分配给开发人员之类的,验收标准可以作为我们测试用例的大纲,测试用例可以来围绕验收标准展开,关注正常和异常的多种情况,从而达到保障系统质量的目的。
回到我们今天的主题——高效学习上来。
最近我也在查缺补漏,补充自己的知识,完善一下总体的认知架构。在学习过程中我发现,如果只有学习目标的话,那么学习的效率可能是不够高,或者说是学习的过程是不够聚焦的。
举个例子,比如你在学习python,你给自己定了一个小目标,半年内学会python。这个目标看起来是没有问题的,有开始和结束时间,也有着强烈的目的性。
于是你开始学习,你去网上找到了学习资料,并且看完了语法,然后搭建了python开发环境,尽管在ide和编辑器上纠结了好久,尽管对命令行执行python命令从内心深处强烈的抵触,不够好歹你可以写个hello world,然后正确运行。后来应该做什么呢?如何在工作中将python运用起来呢?你没什么头绪。过了一段时间,你又鼓起勇气,重新捡起来python,但是语法和一切都是似曾相识,但hello world运行起来已经不是那么驾轻就熟了,然后又是不知道该如何继续,再搁浅,再捡起,无限循环。
这是初学者学python的一般轨迹,相信不出意外再学习其他技能时也会陷入这样的困境。经过思考以后,我发现其实我们可以简单调整一下我们的学习方法,也许会对学习过程有一定的改进。
我们分析一下上面的例子,再上例中,我们有目标,有过程,但是却缺少一个很重要的因素,那就是学习结果的度量,也就是我们在测试活动中所说的验收标准。没有验收标准的话我们就不知道自己的学习的结果是怎么样的。比如我学完了python语法,这是一个过程,我投入了时间,经历了这些过程,但是结果如何?我学会了python语法了么?我不知道,但我知道我真的花了很多时间,其间也非常努力,我对自己的努力很满意,至于结果,没学会可能是因为我不够聪明,或者不适合学习这个吧。
真的是这样么?如果我们给学习python这个目标增加一些验收标准呢?比如最简单的验收标准:可以使用python连接数据库并自动插入一些测试数据。好了,现在我们的学习目标和验收标准是这样的了
- 目标: 学会使用python
- 验收标准:可以使用python连接数据库并自动插入一些测试数据
根据目标和验收标准,我们可以重新规划学习过程
- 学习基本语法,先看熟,然后写一些小例子
- 学习python连接数据库的方法
- 学会python往数据库里插数据的方法
- 学会自动生成测试数据的方法
- 最后写一个脚本,完成最终功能
这样学习可能更有目的性,学习的效果也许会更好一些吧。
我们再看其他一些例子,看看如何为自己设置验收标准。
比如我要学会vuejs,那么
- 目标:学会vuejs
- 验收标准: 使用vuejs写1个简单的todo list
- 过程分解
- 学习js语法
- 学习html/css
- 搭建vuejs开发环境
- 了解vuejs原理
- 学习vuejs的数据绑定
- 学会使用vuejs进行页面的动态渲染
- 学会使用vuejs处理相应用户输入...
- ...
- ...
- 最后写todo list,完成最终功能
其中上面的每个过程都可以给出更进一步的细分验收条件,比如学习html/css怎么样才算是学会呢?验收目标可以是写个简单的表单,看起来舒服就可以。
另外在这么多年的教学过程中,我发现只给学员布置作业其实是不够的。
作业可以看做是验收标准,但如果只是让同学们自己去做作业,而不去验收,或者说不去强制查看的话,那么很多人可能就因为各种原因不做作业了,没有作业的复习和巩固,很多需要大量练习的技能是很难掌握的。所以在最近的几期里,我们尝试在学院系统中为大家布置作业,然后老师批改作业,有了作业的加持,我发现一些同学的进步是非常明显的,这也验证了我的猜想,学习实际上是目标+过程+结果检查的过程。想想我们之前的学习经历,目标就是教学大纲,过程就是老师上课,结果检查和验证就是作业和考试。在我们工作之后,我们往往只注重前两点而忘记了结果的检查,这大概是导致我们自学效果不好的重要原因吧。
综上,希望对你有所帮助。