2018测试展望
其实每年都有总结工作的规划,不过2018年的总结一不小心就被拖了2个多月,一方面是自己懒惰,一方面也是有了两个宝宝围绕,小心思都被他们抓去了。
在前几年的总结中,可以归纳为从手工到自动化,从普通UI自动化到分层自动化,特别是接口自动化的切换,而在2018年这个风头应该还在但是这次我准备预估的稍微超前点,从DevOps谈起。
最近半年无论是自己在TestOps方面的研究还是在于相关客户DevOps的实施,发现在微服务及互联网架构的突破下,敏捷开发越发成熟而其对应的测试体系也对应有待辅佐完善,所以未来的几年对于测试来说高端上的定位是TestOps(DevOps下的测试专项)及全栈测试的天下。
在大趋势下,18年传统的UI自动化、接口自动化还会有较多的需求,但是更多是偏向基本技能要求而不是真的职位需求了。这句话的意思就是招聘的时候都会要求会自动化框架及开发语言,但在工作中使用却比较少甚至没有。这是因为想做自动化的已经在前几年搭建了成熟的框架及平台(Selenium、Jmeter、Appium),对于新进员工更多是简单维护及手工测试补充;而用不上自动化的也会觉得如果不设置点门槛一方面招不到好的人,一方面工资和职位也没有诱惑力,于是这些就成了必备技能!
性能在行业需求中会非常稀少,更多是会作为一个辅助技能存在的,而安全反而需求会更加旺盛,但学习难度和要求也会相对困难很多。
在专项技能上,大数据测试、Ai测试、区块链测试会成为一个很有空间的部分,至今并没有成体系的测试方案出现,导致在这块的测试技能上大家都还在摸索阶段,如果具备一定的经验积累,可以走在风口上。
对于工作5年左右的朋友已经完成了常见技能的积累(自动化、性能、安全),那么就会遇到一个瓶颈,往后怎么办?单项技能的突破已经完成,那么进一步是往管理方向走还是别的怎么选择?一般来说如果在传统行业,转行产品经理或者业务是一个不错的选择,因为在未来的几年技术已经很难突破,而对于新技术的铭感度及学习动力也会不足;如果对技术具备非常好的状态的话,那么TestOps和全栈是可以考虑的方向。
1.TestOps
这个也算是一个新发明词,一般都在提的是DevTestOps,那么在敏捷的风潮下,DevOps异军突起,其对于开发及运维完成测试的方向本人是支持的,但是在具体的测试下,就并不是简单一个学就行了。好比Dev去做DBA写个基本的SQL啥的都没问题,但是上升到监控、调优、库设计、迁移备份等,这就不是一个普通开发或者运维能干的事情了。同样让dev或者ops来解决测试的流程和工具是可以的,但是测试本身的设计几乎是不可能的,更不要说针对测试设计的需要来开发测试脚本及测试工具了。
TestOps这个职位的定义就是在于解决测试设计及测试工具化平台运行化的问题,这里强调下前面说到的自动化、性能、安全都算在DevTest开发测试的概念中。在TestOps中的技能核心并不是如何写测试代码(需要会写,但是不是重点),其重点是如何完成测试设计、测试平台管理等内容,所以在技术栈上面,会更加偏向运维。
这张图是DevOps中涉及到的各个阶段工具链,而对于TestOps面向Java为基础的,个人推荐的精简工具链为:
环境管理:
Docker、rancher、ansible
版本管理:
Git、Gitlab
构建:
Maven、Nexus
测试:
Xunit、Sonar、Selenium、jmeter、newman
发布:
Jenkins
监控:
Elk、Prometheus
换个角度来说对于大家可以学习的东西包含了上面所有的工具体系以及思路整合。
2.全栈测试
这个可以算作是TestOps的升级,也可以简单理解成DevTestOps这种三项合一的大神,这里就不详细介绍了。
总的来说,未来的行业技能更新会越来越快,一个概念从出现到落地可能只有2年不到的时间,对于还没有走出功能测试的朋友,未来会越来越快的推动你们变更,而走在前面的朋友虽然会不断的遇到头疼的技能栈,但是对应的回报和被重视的感觉,也会越发兴奋。