战争与测试---漫话技术人员的职业成长路径
多年前的某一天随手翻起毛选,看到“农村包围城市”、“游击战”等内容的时候,突然想到这些词是不是可以和技术人员的成长体系对应起来呢?关于战争有几个很重要的词,比如战争、战术、战斗、射击等词,当时突然灵光一现,对于技术人员来说,这不就是我们常说的体系、策略、方法、技术么?于是就画出了下图,觉得每一个人的成长过程都是朝着这条路径发展的。
技术人员的职业成长技术
当你刚从学校毕业,和一个新兵蛋子没有两样,要快速的融入团队,最基本的能力就是能活,不出事。你第一个要掌握的知识便是工作所需要的最基本的技能技术。
一个新兵蛋子需要在队伍中了解一些基本的杀敌和自卫技能,比如
搏击
投掷手榴弹
射击
拼刺刀
有了这些基本技能你才能够不被敌人轻易干掉,才能够实现你的梦想。
在测试中,对应的技术人员需要有以下能力
分析、设计测试用例的方法,比如等价类划分、边界值分析法、错误推理法、场景法等等
执行测试的方法
使用测试工具的基本技能,比如会用缺陷管理工具,会使用用例管理工具
了解业务的基本知识
只有你掌握了这些基本知识,你才能够很高效的完成本职工作,才能够作为一个新兵蛋子不被裁员掉,可以看出测试技术属于测试能力的最基本核心之一,如果这些东西你都不会,基本上就会被淘汰掉。
方法(战斗)
随着一个新兵蛋子的逐渐成长,可能成为一个小班长或者小排长的角色,要开展一场小规模的战斗并获得胜利。就需要针对某一场具体战斗选择战斗规则、人员等,比如
有基本的分析能力,应该才去什么样的战术战略,如何分配任务,如何配合等。
基本的风险意识,如果任务中出现意外如何处理?后备方案是什么?
对资源的掌控能力,我的队伍有什么特长,适合打什么样的战斗?
同样的道理,技术人员(以测试人员为例),从初级人员慢慢成长为一个小组长或者模块负责人时,也有他的基本能力和素质要求。
有基本的分析能力,擅长某一块的业务。
基本的风险意识,测试过程中的资源(人员请假、离职)、环境(部署环境准备不到位)、业务(需求变更、业务分析不到位)、工具风险(工具不足以支持测试需要)、质量要求(验收标准不清晰)等等?具体风险分析可参照《化无形于有形---项目风险管理》
对资源的掌控能力,团队成员适合做什么类型的测试,服务端性能、 移动客户端、服务端测试、后台管理系统?
策略
针对具体组织的战斗方法
例如三十六计中的计策
毛泽东军事理论中的《论游击战》等
描述一系列战术手段,以及手段的使用方法
在测试中,针对组织和项目特点定义的策略
基于风险的测试
基于需求的测试
基于变更和回归的测试
基于质量模型的测试
基于过程、标准、法规、度量模型的测试
第三方独立测试
体系(战略)
在战争中,各国根据各自资源条件、敌情选择的体系:
例如德国的“闪电战”
毛泽东在抗日战争时期的“论持久战”,解放战争时期的“农村包围城市”
美国人的“绝对火力压制”
在测试中,各个组织根据自身产品、用户、资源特点决定的体系:
例如Facebook是所谓的无测试公司
例如Google是10:1测试公司
微软是1:1测试公司
华为?腾讯?
这样对比起来是不是有点意思?从以上可以看出,技术人员的成长都是先从熟悉技术开始,然后学习和总结方法策略,最后再灵活运用,最后形成测试体系。
2019年连续三十天修心,土司于北京