对软件测试教育的一点思考

当你进入任何一个领域学习时,终究会被它的庞大所折服。当你越学越深,则越敬畏。尤其在IT行业,每日如新层出不穷的各种开发测试技巧、分析理论、知识框架的变化扩充、大数据人工智能等等各种理论与实践的不断推陈出新,各种商业或开源工具软件的花样翻新。而在这一领域畅游,则精神必须高度紧张不断的充电学习,似乎少了一天的学习就恍若隔世。

软件测试最初是作为软件工程的一个分支,而今不断衍生,茁壮成长,覆盖了整个软件工程的生命周期。

纵向来看涵盖了从质量管理、文档评审、Code Review、功能验证、自动化测试架构、持续集成自动测试、性能测试、安全测试、兼容性测试、可靠性测试、TDD族乃至于数据库测试、UI测试等等。

横向则涵盖所有商业软件、系统软件、移动软件、嵌入式软件、各类工具软件等等,只要有软件存在的地方就有测试。

由此可见软件测试的知识体系更是庞大:

从数学理论基础、电脑软硬件基本理论、网络知识、测试技术理论、各种开发语言都需要涉猎(与开发不同至少熟练使用一门语言,而且工作中总是可能会遇上不同的开发语言,所以都要有所了解)、数据库理论、了解不同操作系统(包括安卓iOS)、熟悉各种开发平台、成百上千的测试工具、测试过程控制、质量管理等等。

真正能做好软件测试领域是不容易的,如今软件测试几乎成了装与软件各个层次各个角度都有关系的大容器。大到整个开发的框架、软件测试的框架,小到每一个方法的白盒测试(测试驱动式),每一个算法效率的测试,数据库存储过程的测试等等,无所不包无所不能。

软件测试是入门容易,却深如海的学科。渐渐的软件测试的知识几乎是要有渗透入计算机的所有部分的趋势。

对于这样一个深度广度都在正在无限扩张的学科,单凭在学校里安排一个学期的课程是无法完成的,许多的专业技能需要在进入企业后进行深度和广度的深入扩展。

那么如何搭建软件测试的培训体制呢?现在在软测的教育培训上市场鱼龙混杂,有网络课程、有项目实战培训、就业式培训、证书认证培训、企业内训也有各种会议等。

对于这样复杂交错的教育培训,总是让人无从选择,分不清良莠,更多的IT学科又何尝不是如此呢?工作者在自身遇到真正瓶颈需要突破时,往往苦于无师可学,而许多学富五车的专家又无法合理和正确的将知识传达出去。此时,也许我们可以借鉴一下瑜伽(YOGA)的教育体系与方法。

1、首先对于基础理论的学习

瑜伽的教育体系的脉络是非常清晰的。首先是分成几个大分支,每个分支的理念非常清晰,有的是注重体式、有的是注重思想、有的是注重理论。这门学科也是注重理论结合实践的,例如在进行哈他瑜伽学习,主要是体式的练习,但是会用到各个理论的精华。这一套理论已经历经了几千年概念非常深厚,是所有的学习者中的重中之重,任何学习都是以理论为基础。当学习者,学完这套理论后,就是需要自己不断的练习,练习,再练习。再将练习的境界分成八个层次,而大多练习者一辈子都达不到最高的层次。

对于软件测试应该也是一样的。必须有这样一个重中之重的理论体系,作为入门的精髓。这项入门的理论应该放在高校的高年级进行,对测试进行深度和广度的所有理论的学习。之后就应该是以这个理论为线索的不断练习的过程,每一个知识点都应当辅以大量的练习,反复的练习,直到完全掌握理论为止。

当然这个练习部分,可以延伸到用课后,网络学习的方式来完成,或者是进行企业培训的方式,以完善个人对整个理论体系的理解和实践。

YOGA者必须保持持续不断的练习,同样测试学习者也需要保持不断的练习与实践。

2、分支体系的传授

YOGA与软测一样,都有许多适应时代发展而衍生的学派。

当YOGA基本理论体系学习之后,就会开始进入各个学派的学习。每个学派都会有创始人,创始人会开始传授给自己的弟子,弟子再继续带弟子,以此保证真正的精髓得以延续与扩展。

而在软测或者其他学科也是这样,有许多学派,有各路的大神提出自己的旗帜性的观点。这样的学派大多是以写书或者讲座的或者会议的方式进行。虽然写书的方式的确能快速的传播理论。但是我们发现读书的方式有时候并不能完全理解和解读作者的意图,特别是提出新思潮新学派的那些人。天知道,一个会议,最多只能听个大概,领会精神的又会有多少人呢?许多人在会议中知识得到了一些最新资讯或领悟,这也算是学习么?

其实如果能模仿YOGA,采用名人工作坊的方式,以大牛或者名人口口相传,通过几天的集中学习,名人或大牛将自己的思路和想法,直接面授传达给自己的“弟子”,通过巡回各大城市开展工作坊的方式,也许这样很多的学派才能将思想传达得更彻底更准确。工作坊结束时考核通过后并颁发证书,拥有证书的人又可以继续以工作坊的方式来再次传达思想。例如敏捷测试、探索式测试、TDD(ATDD,DDD)、某种工具的开发与使用、某种框架的理论与实施、缺陷定位机制等等。

也许反而通过古老的口口相传的方式,反而能让知识传达得更彻底更完整也更快。

3、老少皆宜的学习方式

我一直认为,软件测试应该是需要一个“道场”的,在这个道场里,可以新老学员进行交流,有名师指点、有各种套路的练习、有晋级的制度。在这样一个道场里,互相尊重,互相学习,每一个人都有合适的级位,每一个人都有相应的练习场所。

就像YOGA,明明是一个历经几千年的古老宗教,无数的练习者崇拜者,却以大众的方式为所有人服务,接纳所有人,没有高高在上,也没有因为体系的庞大而让人畏惧裹足不前。

有时候简单的传承反而有着强大的力量。或许在社会的发展中,我们因为人为的因素,让学科的学习变得越来越复杂,越来越困难。

在YOGA的学习过程中时愉悦的,每次向高难度挑战,都有老师的不断帮助和支持,永远都会有人与你同行,这种感觉是愉悦的学习。

那么在软件测试领域呢?总是感觉,如果自己不努力,就会远远被抛弃的压力感,每次努力之后看到的却是更高的山峰!也许学习本身是简单的愉悦的,只需要改变一下我们的教育和学习模式。

时间: 2024-10-08 20:50:36

对软件测试教育的一点思考的相关文章

关于后台系统自动生成的一点思考

大量实践发现后台管理程序,其实90%的代码都是相同的,当然是在抛弃复杂逻辑业务的情况下,那么如何能高效的节约这些时间呢,那就是接下来我要说的,对于后台系统自动生成的一些思考. 适用情景: 1.表编号id为自增(基于现在大部分表编号都是自增的情况): 2.没有太复杂业务关联关系,比如表的某一个字段,存储了一个json对象,为了平衡后台用户使用,需要友好的分段展示给用户的定制ui界面:还比如表中存储了外键的多个id,但为了方便用户使用,只能已标签name的方式,给用户展示,等等这些超强业务黏合逻辑的

关于前端的一点思考

关于前端的一点思考 Author:tkorays 最近写前端代码,写着写着就突然开始惆怅.忧伤.愤怒.发狂,我TMD到底在干什么啊! 很多东西写了n遍了,但是还是在不停地写着.自己写过的代码也不想再修改完善.重新利用,只是觉得,可能重新写一遍可能要好点.面对这很多库以及框架,虽然喜爱,但是也是有所顾忌,我只要使用其中的一个功能,根本不需要引入这么大的整个库. 事实上,我们可能在动手写任何代码之前,先要思考下,我们到底要的是什么! 0x00 界面真的需要这么炫酷么 在使用某个界面库之前,我们可能先

关于Emit中动态类型TypeBuilder创建类标记的一点思考

  利用TypeBuilder是可以动态创建一个类型,现在有个需求,动态生成一个dll,创建类型EmployeeEx,需要继承原dll里面的Employee类,并包含Employee类上的所有类标记.   网上有很多例子, //创建TypeBuilder. TypeBuilder myTypeBuilder = myModBuilder.DefineType(typeName, TypeAttributes.Public); myTypeBuilder.SetParent(type);   大概

关于失败的一点思考

睡觉之前突然想到马云说过的一句话:我们要习惯于拒绝,习惯失败,如果我们还没成功,那是因为我们的失败还不够 --------2016.4,11  以此自勉 关于失败的一点思考

有关盒模型的一点思考

有关盒模型的一点思考 盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版. 其实盒子模型有两种,分别是标准 w3c 盒子模型和 IE 盒子模型. 他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 一.w3c盒子模型 看下面的图,根据色块,右外倒内,分别代表margin.border.padding.content(即网页内容部分) 二.IE盒子模型 与w3c盒子模型的组成部分类似,IE盒子模型也包括上图几个部分 但是不同的是,IE盒子模型把border和padding归

关于模板方法和策略模式的一点思考

该随笔的思想原点,应该算是在两三年前了.当时和一前同事聊天.不知怎得就聊到了Http访问. 一.我记得他和我说过的第一句话,大概是:有没有已经封装好的.比较强大的HttpUtil.也可能是受业务的影响(接口对内).我当时接触到的Http访问,大多比较“规范”,至少有一个接口约束在约定着某些东西,不至于一会传递json,返回json, 一会又要传递xml,返回xml,甚至更奇葩的是,上传个文件.返回0或者1.如果真出现这样的状态,HttpUtil依然能够方便.灵活的适应着各种情况.我想这个Util

关于android SDK安装Failed to fetch URL 一点思考

最近SDK出问题了,然后在google下载了一个android-sdk-windows.rar,然后点击SDK Manager,结果一直不能刷新API Level,然后就开始在网上找了好多资料,解决这个问题,修改 HOSTS,    HTTP  和  HTTPS  都不能解决,这给我带来了很大的困惑!   加载不出来的界面错误为: Fetching http://dl-ssl.google.com/android/repository/addons_list-1.xml Failed to fe

洗脑与教育,独立思考,自我的划界

洗脑与教育,独立思考,自我的划界 一些思考的碎片记录 洗脑与教育的区别是什么呢? 丹内特在<自由的进化>中提到:"那么,谎言和隐瞒会不会恰是洗脑的定义性标志?只要你告诉人们真相(即在你告诉的时候被认为是真相的东西),并避免误导他们,只要你让他们处于这样一种状态,在其中他们在独立评估自己处境方面至少能做得和你介入之前一样好,那么你就是在教育他们而不是给他们洗脑." 那比如说,一个孩子从小生长在一个基督教家庭,被施以基督教的文化影响,长大后便认同了基督教的信仰,这个小孩算是被灌

JavaScript组合继承的一点思考

今天看<JavaScript高级程序设计>一书中关于组合继承模式时,书上有这么一个Demo程序: <html> <head> </head> <body> <script> function SuperType(name){ this.name = name; } SuperType.prototype.sayName = function(){ alert(this.name); }; function SubType(name,